




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 JIANGXI AGRICULTURAL UNIVERSITY數(shù)據(jù)庫課程設計報告題目: 學生成績管理系統(tǒng)數(shù)據(jù)庫設計 學 院: 姓 名: 學 號: 專 業(yè): 班 級: 指導教師: 二0一二 年 6 月目錄一、需求分析31.1 需求概述31.2 功能簡介3二、數(shù)據(jù)庫設計32.1 確定聯(lián)系集及E-R圖32.2 畫出E-R圖42.3學生成績管理系統(tǒng)總E-R圖5三、邏輯數(shù)據(jù)庫設計階段63.1 班級信息表(Class)73.2 學生信息表(Student)73.3 課程信息表(Course)83.4 成績表(Score)8四、建表84.1 創(chuàng)建數(shù)據(jù)庫84.2 創(chuàng)建數(shù)據(jù)表9五、數(shù)據(jù)庫的運行和維護105.1
2、 定義105.1.1 基本表的創(chuàng)建,建表語句105.1.2 基本表的刪除115.2 數(shù)據(jù)操作115.2.1 單表查詢:115.2.2 連接查詢115.2.3 操作結果集查詢125.2.4 嵌套查詢125.3 數(shù)據(jù)庫更新操作135.3.1 插入數(shù)據(jù)135.3.2 修改數(shù)據(jù)135.3.3 刪除數(shù)據(jù)135.4 為數(shù)據(jù)庫建立索引145.4.1 索引的建立145.4.2 索引的刪除145.5 數(shù)據(jù)庫的安全性145.6 數(shù)據(jù)庫的完整性155.6.1 實體完整性定義155.6.2 參照完整性定義15六、模式求精15七、總結16一、需求分析1.1 需求概述針對江西農大的成績管理工作量大、繁雜,人工處理非常困難
3、。學生成績管理系統(tǒng)借助于計算機強大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準確性。學生成績管理系統(tǒng)的開發(fā)運用,實現(xiàn)了學生成績管理的自動化,不僅把廣大教師從繁重的成績管理工作中解脫出來、把學校從傳統(tǒng)的成績管理模式中解放出來,而且對學生成績的判斷和整理更合理、更公正,同時也給教師提供了一個準確、清晰、輕松的成績管理環(huán)境。1.2 功能簡介能夠進行數(shù)據(jù)庫的數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制等處理功能,進行聯(lián)機處理的相應時間要短。具體功能應包括:系統(tǒng)應該提供課程安排數(shù)據(jù)的插入、刪除、更新、查詢;成績的添加、修改、刪除、查詢,學生及教職工基本信息查詢的功能。 二、數(shù)據(jù)庫設計2.1 確定聯(lián)系集及E-
4、R圖根據(jù)前面對系統(tǒng)進行的分析,已經(jīng)初步了解了學生成績管理系統(tǒng)的數(shù)據(jù)處理流程,找出與系統(tǒng)有關的各個實體及其相互聯(lián)系如下:、標示實體集:班級,課程,學生,成績四個關系。、標示聯(lián)系集:學生和班級:一個班由多個學生組成,一個學生只能歸屬于某個班; 存在“歸屬”的關系:N:1學生和課程:一個學生可以選修多門課程,一門課程提供給多個學生選修; 存在“選修”的關系:N:M關系Score的主碼是studentNo,courseNo,term顯然同一個學生在同一個學期不允許修讀同一門課程多次關系Course的priorCourse屬性參照本關系的主碼courseNo屬性。這里假設一門課程最多只需要定義一門先修課
5、程。、標示屬性集:班級(班級編號,班級名稱,所屬學院,年級,班級人數(shù))課程(課程號,課程名,學分,課時數(shù),先修課程)學生(學號,姓名,性別,出生日期,籍貫,所屬班級)成績(學號,課程號,開課學期,成績)2.2 畫出E-R圖班級信息圖如下:ClassclasstudentNoclassNameInstituteclassNumgrade圖2-2-1班級實體集的E-R圖學生信息圖如下:StudentstudentNostudentNamesexclasstudentNonativebirthday圖2-2-2學生實體集E-R圖課程信息圖如下:CoursecourseNocourseNamecred
6、itHourpriorCoursecourseHour圖2-2-3課程實體集E-R圖成績信息圖如下: ScorestudentNocourseNoscoreterm圖2-2-4成績實體集E-R2.3學生成績管理系統(tǒng)總E-R圖根據(jù)上面對實體聯(lián)系的分析,可以畫出E-R圖如下:課程課程號課程名學時數(shù)學分先修課程選修歸屬學生成績班級學號姓名性別班級人數(shù)數(shù)數(shù)年級所屬學院班級名稱班級編號成績開課學期課程號學號出生日期籍貫N1NM1圖2-2-5學生成績管理系統(tǒng)總E-R圖三、邏輯數(shù)據(jù)庫設計階段邏輯結構是獨立于任何一種數(shù)據(jù)模型的信息結構。邏輯結構的任務是把概念結構設計階段設計好的基本E-R圖轉化為宜選用的DBM
7、S所支持的數(shù)據(jù)模型相符合的邏輯結構,并對其進行優(yōu)化。E-R圖向關系模型轉化要解決的問題是如何將實體型和實體間的聯(lián)系轉化為關系模式,如何確定這些關系模式的屬性和碼。設計學生成績管理數(shù)據(jù)庫,包括課程、學生、教師、成績四個關系, 其關系模式中對每個實體定義的屬性如下:課程信息表Class:(班級編號,班級名稱,所屬學院,年級,班級人數(shù))學生信息表Student: (學號,姓名,性別,出生日期,籍貫,所屬班級)課程信息表Course: (課程號,課程名,學分,課時數(shù),先修課程)成績表Score:(學號,課程號,開課學期,成績)設計出E-R圖后,可將E-R圖轉換為數(shù)據(jù)庫模式。本系統(tǒng)建立的數(shù)據(jù)庫為“Sco
8、reDB”,運行本系統(tǒng)時在庫中所建立的表分別介紹如下:3.1 班級信息表(Class)字段名描述數(shù)據(jù)類型字段限制classNo班級編號char(10)PrimarykeyclassName班級名稱varchar(30)Not nullinstitute所屬學院varchar(30)Not nullgrade年級smallintNot nullclassNum班級人數(shù)tinyintNot null3.2 學生信息表(Student)字段名描述數(shù)據(jù)類型字段權限studentNo學號char(10)Primarykey studentName姓名Varchar(30)Not null sex性別ch
9、ar(2)Not nullbirthday出生日期datetimeNot null native民族varchar(30)Not nullclassNo所屬班級varchar(30)Not null3.3 課程信息表(Course)字段名屬 性數(shù)據(jù)類型字段權限courseNo課程號char(10)PrimarykeycourseName課程名varchar(30)Not nullcreditHour學分numericNot nullcourseHour課時數(shù)tinyintNot nullpriorCourse先修課程varchar(30)Not null3.4 成績表(Score)字段名屬 性
10、數(shù)據(jù)類型字段權限studentNo學號char(10)PrimarykeycourseNo課程號char(10)Primarykeyterm開課學期char(10)Not nullscore成績numericNot null四、建表4.1 創(chuàng)建數(shù)據(jù)庫打開SQL工具“查詢分析器”在查詢窗口中鍵入下列SQL語句create database ScoreDB執(zhí)行上述SQL語句即可新建一名為ScoreDB的數(shù)據(jù)庫。4.2 創(chuàng)建數(shù)據(jù)表 一個完整的數(shù)據(jù)庫不可缺少的就是數(shù)據(jù)表,若干個數(shù)據(jù)表的集合成一個數(shù)據(jù)庫。數(shù)據(jù)表主要用來存放一定格式的記錄,數(shù)據(jù)表中的行被稱為記錄,列被稱為字段。創(chuàng)建數(shù)據(jù)表的過程其實就是定義
11、字段的過程。在此學生成績管理系統(tǒng)中需要創(chuàng)建四個表,即班級信息表、學生信息表、課程信息表和成績表。創(chuàng)建數(shù)據(jù)庫后,為ScoreDB數(shù)據(jù)庫添加數(shù)據(jù)表,步驟如下。新建查詢窗口在查詢窗口中鍵入下列SQL語句create table Class( /創(chuàng)建班級信息表 classtudentNo char(10) primary key, /班級編號 classtudentName varchar(30) not null, /班級名稱 institute varchar(30) Not null /所屬學院 grade smallint, Not null /年級 classNum tinyint, Not
12、 null /班級人數(shù) ) 執(zhí)行上述SQL語句即可創(chuàng)建課程信息表相關表格create table Student( /創(chuàng)建學生信息表 studentNo char(10) primary key, /學號 studentName varchar(30) not null, /姓名 sex char(2) not null, /性別 birthday datetime not null, /出生日期 native varchar(30) not null, /民族 classtudentNo Char(10) not null, / /所屬班級 )執(zhí)行上述SQL語句即可創(chuàng)建學生信息表相關表格cr
13、eate table Course( /創(chuàng)建教師信息表 courseNo char(10) primary key, /課程號 courseName varchar(30) not null, /課程名 creditHour numeric not null, /學分 courseHour tinyint not null, /課時數(shù) priorCourse varchar(30) not null, /先修課程 )執(zhí)行上述SQL語句即可創(chuàng)建教師信息表相關表格create table Score( /創(chuàng)建成績表 studentNo char(10) primary key, /學號 cours
14、eNo char(10) primary key, /課程號 term char(10) not null, /開課學期 score numeric not null, /成績 )執(zhí)行上述SQL語句即可創(chuàng)建成績表相關表格五、數(shù)據(jù)庫的運行和維護5.1 定義基本表的創(chuàng)建、修改及刪除;索引的創(chuàng)建和刪除。5.1.1 基本表的創(chuàng)建,建表語句 create table Student( / 創(chuàng)建學生表 studentNo char(10) not null, studentName varchar(30) not null, sex char(2) not null, birthday datetime
15、not null, native varchar(20) not null, classtudentNo Char(10) not null , constraint studentPK primary key(StudentNO), constraint studentPK1 foreign key(classtudentNo)references class(classtudentNo)5.1.2 基本表的刪除drop table Student5.2 數(shù)據(jù)操作5.2.1 單表查詢:查詢學號為“0800006”生的姓名select studentNamefrom Studentwhere
16、studentNo=' 0800006'結果:5.2.2 連接查詢查詢學生的學號、姓名,所選課程的課程號、課程名和成績Select Student.studentNo,Student.studentName,Class.classNo,Class.className,Score.scorefrom Student,Class,Score,CourseWhere Student.studentNo=Score.studentNo and Student.classNo=Class.classNo and Course.courseNo=Score.courseNo結果:5.2.3
17、 操作結果集查詢查詢0700003號同學和0800002號同學共同選修的課程Select courseNoFrom ScoreWhere studentNo='0700003'IntersectSelect courseNoFrom scoreWhere studentNo='0800002'查詢結果:5.2.4 嵌套查詢 查詢選修了“CS0701”這門課的所有學生的學號、姓名、出生日期以及籍貫。Select studentNo,studentName,birthday,nativeFrom StudentWhere studentNo in (select s
18、tudentNo From score Where classNo='CS0701')查詢結果:5.3 數(shù)據(jù)庫更新操作5.3.1 插入數(shù)據(jù)向Student表中添加一項記錄:姓名:葉問,學號:0800016,性別:男,出生年月:1992-6-19,籍貫:南昌,班級編號:CP0802InsertInto Student(studentNo,studentName, sex,birthday,native,classNo)Values ('0800016',' 葉問', '男','1992-6-19',' 南昌&
19、#39;, 'CP0802'結果:5.3.2 修改數(shù)據(jù)修改吳敏的學號為0800019Update StudentSet StudentNo='0800019'Where StudentName='吳敏;5.3.3 刪除數(shù)據(jù)刪除所有金融學院學生的記錄Delete from ClassWhere(institute='金融學院'); 5.4 為數(shù)據(jù)庫建立索引5.4.1 索引的建立create index studentNameSM on Student(studentName) 5.4.2 索引的刪除drop index studentNam
20、eSM on Student(studentName)5.5 數(shù)據(jù)庫的安全性所謂計算機系統(tǒng)安全性,是指為計算機系統(tǒng)建立和采取的各種安全保護措施,以保護計算機系統(tǒng)中的硬件,軟件及數(shù)據(jù),防止其偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。為防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞,必須采取一些安全性控制措施以保證數(shù)據(jù)庫中數(shù)據(jù)的安全、可靠和正確有效。安全性控制的防范對象是非法用戶和非法操作,防止他們對數(shù)據(jù)庫數(shù)據(jù)的非法存取。主要采用用戶標識及鑒定,使用用戶名或用戶標識號來標明用戶身份。用戶想要對對數(shù)據(jù)庫內容進行相關操作,必須申請一個用戶名或用戶標識號,每次登陸都必須輸入該用戶名以及相應
21、正確的口令,然后系統(tǒng)對其進行驗證,只有通過驗證的用戶方可對數(shù)據(jù)庫進行操作。5.6 數(shù)據(jù)庫的完整性5.6.1 實體完整性定義:在班級表Class中將classNo定義為主碼。create table Class( /創(chuàng)建class表 classNo char(10) not null , className varchar(30) not null , institute varchar(30) Not null, grade smallint Not null, classNum tinyint null , constraint ClassPK primary key(classNo) )
22、5.6.2 參照完整性定義:在學生成績表Score中將studentNo、courseNo定義為外碼。create table Score(studentNo char(10) not null,courseNo char(10) not null,term char(10) not null,score numeric(5,1) default 0 not null,Check(Score between 0.0 and 100.0),Constraint ScorePK primary key(studentNo,courseNo),Constraint ScoreFK1 foreign key(studentNo) References Student(studentNo),Constraint ScoreFK2 foreign key(courseNo) Referen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報書課題進度表格
- 課題的項目申報書
- 翻譯課題項目申報書范文
- 腫瘤護理課題申報書
- 出租噴涂車間合同范本
- 變更土地合同范本
- 紅色文化產(chǎn)業(yè)課題申報書
- 內墻膩子合同范本
- 醫(yī)學課題申報書意見
- 合同范本 工商
- 淺談簽證合同索賠培訓課件
- 2023年江蘇經(jīng)貿職業(yè)技術學院單招職業(yè)適應性測試筆試題庫及答案解析
- 揭陽市基層診所醫(yī)療機構衛(wèi)生院社區(qū)衛(wèi)生服務中心村衛(wèi)生室地址信息
- 晉中項目投決會報告
- 二年級下冊數(shù)學課件-1.3 分草莓 北師大版(共14張PPT)
- 2022年中小學心理健康教育指導綱要
- 中國紅十字會救護員培訓理論考試試卷 (1)附答案
- 高架橋梁混凝土工程專項施工方案
- 銀行案件風險排查實施細則
- 亞馬遜品牌授權書(英文模板)
- 10級空乘《形體訓練3》課程標準(共14頁)
評論
0/150
提交評論