


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.JIANGXI AGRICULTURAL UNIVERSITY數據庫課程設計報告題目: 學生成績管理系統數據庫設計 學 院:姓 名: 學 號:專 業:班 級:指導教師:二0一二 年 6 月目錄一、需求分析31.1 需求概述31.2 功能簡介3二、數據庫設計32.1 確定聯系集及E-R圖32.2 畫出E-R圖42.3學生成績管理系統總E-R圖5三、邏輯數據庫設計階段63.1 班級信息表(Class)73.2 學生信息表(Student)73.3 課程信息表(Course)83.4 成績表(Score)8四、建表84.1 創建數據庫84.2 創建數據表9五、數據庫的運行和維護105.1 定義10
2、5.1.1 基本表的創建,建表語句105.1.2 基本表的刪除115.2 數據操作115.2.1 單表查詢:115.2.2 連接查詢115.2.3 操作結果集查詢125.2.4 嵌套查詢125.3 數據庫更新操作135.3.1 插入數據135.3.2 修改數據135.3.3 刪除數據135.4 為數據庫建立索引145.4.1 索引的建立145.4.2 索引的刪除145.5 數據庫的安全性145.6 數據庫的完整性155.6.1 實體完整性定義155.6.2 參照完整性定義15六、模式求精15七、總結16一、需求分析1.1 需求概述針對XX農大的成績管理工作量大、繁雜,人工處理非常困難。學生成績
3、管理系統借助于計算機強大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準確性。學生成績管理系統的開發運用,實現了學生成績管理的自動化,不僅把廣大教師從繁重的成績管理工作中解脫出來、把學校從傳統的成績管理模式中解放出來,而且對學生成績的判斷和整理更合理、更公正,同時也給教師提供了一個準確、清晰、輕松的成績管理環境。1.2 功能簡介能夠進行數據庫的數據定義、數據操縱、數據控制等處理功能,進行聯機處理的相應時間要短。具體功能應包括:系統應該提供課程安排數據的插入、刪除、更新、查詢;成績的添加、修改、刪除、查詢,學生及教職工基本信息查詢的功能。二、數據庫設計2.1 確定聯系集及E-R圖根據前面
4、對系統進行的分析,已經初步了解了學生成績管理系統的數據處理流程,找出與系統有關的各個實體及其相互聯系如下:、標示實體集:班級,課程,學生,成績四個關系。、標示聯系集:學生和班級:一個班由多個學生組成,一個學生只能歸屬于某個班; 存在“歸屬”的關系:N:1學生和課程:一個學生可以選修多門課程,一門課程提供給多個學生選修; 存在“選修”的關系:N:M關系Score的主碼是studentNo,courseNo,term顯然同一個學生在同一個學期不允許修讀同一門課程多次關系Course的priorCourse屬性參照本關系的主碼courseNo屬性。這里假設一門課程最多只需要定義一門先修課程。、標示屬
5、性集:班級(班級編號,班級名稱,所屬學院,年級,班級人數)課程(課程號,課程名,學分,課時數,先修課程)學生(學號,性別,出生日期,籍貫,所屬班級)成績(學號,課程號,開課學期,成績)2.2 畫出E-R圖班級信息圖如下:ClassclasstudentNoclassNameInstituteclassNumgrade圖2-2-1班級實體集的E-R圖學生信息圖如下:StudentstudentNostudentNamesexclasstudentNonativebirthday圖2-2-2學生實體集E-R圖課程信息圖如下:CoursecourseNocourseNamecreditHourpri
6、orCoursecourseHour圖2-2-3課程實體集E-R圖成績信息圖如下: ScorestudentNocourseNoscoreterm圖2-2-4成績實體集E-R2.3學生成績管理系統總E-R圖根據上面對實體聯系的分析,可以畫出E-R圖如下:課程課程號課程名學時數學分先修課程選修歸屬學生成績班級學號XX性別班級人數數數年級所屬學院班級名稱班級編號成績開課學期課程號學號出生日期籍貫N1NM1圖2-2-5學生成績管理系統總E-R圖三、邏輯數據庫設計階段邏輯結構是獨立于任何一種數據模型的信息結構。邏輯結構的任務是把概念結構設計階段設計好的基本E-R圖轉化為宜選用的DBMS所支持的數據模型
7、相符合的邏輯結構,并對其進行優化。E-R圖向關系模型轉化要解決的問題是如何將實體型和實體間的聯系轉化為關系模式,如何確定這些關系模式的屬性和碼。設計學生成績管理數據庫,包括課程、學生、教師、成績四個關系, 其關系模式中對每個實體定義的屬性如下:課程信息表Class:(班級編號,班級名稱,所屬學院,年級,班級人數)學生信息表Student: (學號,性別,出生日期,籍貫,所屬班級)課程信息表Course: (課程號,課程名,學分,課時數,先修課程)成績表Score:(學號,課程號,開課學期,成績)設計出E-R圖后,可將E-R圖轉換為數據庫模式。本系統建立的數據庫為“ScoreDB”,運行本系統時
8、在庫中所建立的表分別介紹如下:3.1 班級信息表(Class)字段名描述數據類型字段限制classNo班級編號char(10)PrimarykeyclassName班級名稱varchar(30)Not nullinstitute所屬學院varchar(30)Not nullgrade年級smallintNot nullclassNum班級人數tinyintNot null3.2 學生信息表(Student)字段名描述數據類型字段權限studentNo學號char(10)Primarykey studentNameVarchar(30)Not null sex性別char(2)Not nullb
9、irthday出生日期datetimeNot null native民族varchar(30)Not nullclassNo所屬班級varchar(30)Not null3.3 課程信息表(Course)字段名屬 性數據類型字段權限courseNo課程號char(10)PrimarykeycourseName課程名varchar(30)Not nullcreditHour學分numericNot nullcourseHour課時數tinyintNot nullpriorCourse先修課程varchar(30)Not null3.4 成績表(Score)字段名屬 性數據類型字段權限studen
10、tNo學號char(10)PrimarykeycourseNo課程號char(10)Primarykeyterm開課學期char(10)Not nullscore成績numericNot null四、建表4.1 創建數據庫打開SQL工具“查詢分析器”在查詢窗口中鍵入下列SQL語句create database ScoreDB執行上述SQL語句即可新建一名為ScoreDB的數據庫。4.2 創建數據表 一個完整的數據庫不可缺少的就是數據表,若干個數據表的集合成一個數據庫。數據表主要用來存放一定格式的記錄,數據表中的行被稱為記錄,列被稱為字段。創建數據表的過程其實就是定義字段的過程。在此學生成績管理
11、系統中需要創建四個表,即班級信息表、學生信息表、課程信息表和成績表。創建數據庫后,為ScoreDB數據庫添加數據表,步驟如下。新建查詢窗口在查詢窗口中鍵入下列SQL語句createtable Class(/創建班級信息表 classtudentNo char(10)primarykey,/班級編號 classtudentName varchar(30)notnull,/班級名稱 institute varchar(30)Notnull/所屬學院 grade smallint,Notnull/年級 classNum tinyint,Notnull/班級人數)執行上述SQL語句即可創建課程信息表相
12、關表格createtable Student(/創建學生信息表 studentNo char(10)primarykey,/學號 studentName varchar(30)notnull,/ sex char(2)notnull,/性別 birthday datetimenotnull,/出生日期 native varchar(30)notnull,/民族 classtudentNo Char(10)notnull,/所屬班級)執行上述SQL語句即可創建學生信息表相關表格createtable Course(/創建教師信息表 courseNo char(10)primarykey,/課程號
13、 courseName varchar(30)notnull,/課程名 creditHour numeriotnull,/學分 courseHour tinyintnotnull,/課時數 priorCourse varchar(30)notnull,/先修課程)執行上述SQL語句即可創建教師信息表相關表格createtable Score(/創建成績表 studentNo char(10)primarykey,/學號 courseNo char(10)primarykey,/課程號 term char(10)notnull,/開課學期 score numeriotnull,/成績)執行上述S
14、QL語句即可創建成績表相關表格五、數據庫的運行和維護5.1 定義基本表的創建、修改及刪除;索引的創建和刪除。5.1.1 基本表的創建,建表語句createtable Student(/創建學生表 studentNo char(10)notnull, studentName varchar(30)notnull, sex char(2)notnull, birthday datetimenotnull, native varchar(20)notnull, classtudentNo Char(10)notnull,constraint studentPK primarykey(StudentN
15、O),constraint studentPK1 foreignkey(classtudentNo)references class(classtudentNo)5.1.2 基本表的刪除droptable Student5.2 數據操作5.2.1 單表查詢:查詢學號為“0800006”生的XXselect studentNamefrom Studentwhere studentNo=' 0800006'結果:5.2.2 連接查詢查詢學生的學號、,所選課程的課程號、課程名和成績Select Student.studentNo,Student.studentName,Class.c
16、lassNo,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 操作結果集查詢查詢0700003號同學和0800002號同學共同選修的課程Select courseNoFrom ScoreWhere studentNo='0700003'IntersectSelect courseN
17、oFrom scoreWhere studentNo='0800002'查詢結果:5.2.4 嵌套查詢查詢選修了“CS0701”這門課的所有學生的學號、出生日期以及籍貫。Select studentNo,studentName,birthday,nativeFrom StudentWhere studentNo in(select studentNoFrom scoreWhere classNo='CS0701')查詢結果:5.3 數據庫更新操作5.3.1 插入數據向Student表中添加一項記錄:葉問,學號:0800016,性別:男,出生年月:1992-6-1
18、9,籍貫:,班級CP0802InsertIntoStudent(studentNo,studentName, sex,birthday,native,classNo)Values('0800016',' 葉問','男','1992-6-19',' ', 'CP0802'結果:5.3.2 修改數據修改X敏的學號為0800019Update StudentSet StudentNo='0800019'Where StudentName='X敏;5.3.3 刪除數據刪除所有金融學院
19、學生的記錄Deletefrom ClassWhere(institute='金融學院');5.4 為數據庫建立索引5.4.1 索引的建立createindex studentNameSM on Student(studentName)5.4.2 索引的刪除dropindex studentNameSM on Student(studentName)5.5 數據庫的安全性所謂計算機系統安全性,是指為計算機系統建立和采取的各種安全保護措施,以保護計算機系統中的硬件,軟件及數據,防止其偶然或惡意的原因使系統遭到破壞,數據遭到更改或泄露等。為防止因用戶非法使用數據庫造成數據泄露、更改或
20、破壞,必須采取一些安全性控制措施以保證數據庫中數據的安全、可靠和正確有效。安全性控制的防X對象是非法用戶和非法操作,防止他們對數據庫數據的非法存取。主要采用用戶標識及鑒定,使用用戶名或用戶標識號來標明用戶身份。用戶想要對對數據庫內容進行相關操作,必須申請一個用戶名或用戶標識號,每次登陸都必須輸入該用戶名以及相應正確的口令,然后系統對其進行驗證,只有通過驗證的用戶方可對數據庫進行操作。5.6 數據庫的完整性5.6.1 實體完整性定義:在班級表Class中將classNo定義為主碼。createtable Class(/創建class表 classNo char(10)notnull, class
21、Name varchar(30)notnull, institute varchar(30)Notnull, grade smallintNotnull, classNum tinyintnull,constraint ClassPK primarykey(classNo)5.6.2 參照完整性定義:在學生成績表Score中將studentNo、courseNo定義為外碼。createtable Score(studentNo char(10)notnull,courseNo char(10)notnull,term char(10)notnull,score numeric(5,1)default 0 notnull,Check(Score between 0.0 and 100.0),Constraint ScorePK primarykey(studentNo,courseNo),Constraint ScoreFK1 foreignkey(studentNo)References Student(studentNo),Constraint ScoreFK2 foreignkey(courseNo)References Course(cour
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淡水彩古典花紋畢業答辯設計
- 禮儀教育之德育主題班會
- CPA稅法基礎知識課件
- BIM基礎知識課件
- 吉林職業技術學院《生物化學與分子生物化學A》2023-2024學年第二學期期末試卷
- 曲靖市富源縣2024-2025學年三年級數學第二學期期末復習檢測模擬試題含解析
- 2025年湖南長郡教育集團重點中學初三一模化學試題試卷含解析
- 遼寧鐵道職業技術學院《現代交換原理》2023-2024學年第二學期期末試卷
- 天津理工大學中環信息學院《專業綜合技能培訓》2023-2024學年第二學期期末試卷
- 湖南交通工程學院《設計與市場》2023-2024學年第一學期期末試卷
- 2024-2025年人教版七下語文期中復習-專題01 基礎知識積累(考點串講)
- 2025重慶西南證券股份有限公司招聘45人筆試參考題庫附帶答案詳解
- 湖南省示范性高中2024-2025學年高二下學期2月聯考 物理試卷(含解析)
- 2025年《宏觀經濟政策與發展規劃》考前通關必練題庫(含答案)
- 服裝公司品質(質量)管理手冊
- 一年級道德與法治下冊素養教案第10課 相親相愛一家人
- 辦公樓弱電系統設計方案
- 私募投資學試題及答案
- 2025年合肥二模數學試題及答案
- 不要慌太陽下山有月光二部合唱簡譜
- 干凈整潔的個人衛生習慣
評論
0/150
提交評論