學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第1頁
學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第2頁
學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第3頁
學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第4頁
學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、word JIANGXI AGRICULTURAL UNIVERSITY數(shù)據(jù)庫課程設(shè)計報告題目: 學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計 學(xué) 院: 姓 名: 學(xué) 號: 專 業(yè): 班 級: 指導(dǎo)教師: 二0一二 年 6 月目錄一、需求分析31.1 需求概述31.2 功能簡介3二、數(shù)據(jù)庫設(shè)計32.1 確定聯(lián)系集及E-R圖32.2 畫出E-R圖42.3學(xué)生成績管理系統(tǒng)總E-R圖5三、邏輯數(shù)據(jù)庫設(shè)計階段63.1 班級信息表(Class)73.2 學(xué)生信息表(Student)73.3 課程信息表Course83.4 成績表Score8四、建表84.1 創(chuàng)立數(shù)據(jù)庫84.2 創(chuàng)立數(shù)據(jù)表9五、數(shù)據(jù)庫的運(yùn)行和維護(hù)105.1

2、 定義105.1.1 根本表的創(chuàng)立,建表語句105.1.2 根本表的刪除115.2 數(shù)據(jù)操作115.2.1 單表查詢:115.2.2 連接查詢115.2.3 操作結(jié)果集查詢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七、總結(jié)16一、需求分析1.1 需求概述針對江西農(nóng)大的成績管理工作量大、繁雜,人工處理非常困難

3、。學(xué)生成績管理系統(tǒng)借助于計算機(jī)強(qiáng)大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準(zhǔn)確性。學(xué)生成績管理系統(tǒng)的開發(fā)運(yùn)用,實現(xiàn)了學(xué)生成績管理的自動化,不僅把廣闊教師從繁重的成績管理工作中解脫出來、把學(xué)校從傳統(tǒng)的成績管理模式中解放出來,而且對學(xué)生成績的判斷和整理更合理、更公正,同時也給教師提供了一個準(zhǔn)確、清晰、輕松的成績管理環(huán)境。1.2 功能簡介能夠進(jìn)行數(shù)據(jù)庫的數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制等處理功能,進(jìn)行聯(lián)機(jī)處理的相應(yīng)時間要短。具體功能應(yīng)包括:系統(tǒng)應(yīng)該提供課程安排數(shù)據(jù)的插入、刪除、更新、查詢;成績的添加、修改、刪除、查詢,學(xué)生及教職工根本信息查詢的功能。 二、數(shù)據(jù)庫設(shè)計2.1 確定聯(lián)系集及E-

4、R圖根據(jù)前面對系統(tǒng)進(jìn)行的分析,已經(jīng)初步了解了學(xué)生成績管理系統(tǒng)的數(shù)據(jù)處理流程,找出與系統(tǒng)有關(guān)的各個實體及其相互聯(lián)系如下:、標(biāo)示實體集:班級,課程,學(xué)生,成績四個關(guān)系。、標(biāo)示聯(lián)系集:學(xué)生和班級:一個班由多個學(xué)生組成,一個學(xué)生只能歸屬于某個班; 存在“歸屬的關(guān)系:N:1學(xué)生和課程:一個學(xué)生可以選修多門課程,一門課程提供應(yīng)多個學(xué)生選修; 存在“選修的關(guān)系:N:M關(guān)系Score的主碼是studentNo,courseNo,term顯然同一個學(xué)生在同一個學(xué)期不允許修讀同一門課程屢次關(guān)系Course的priorCourse屬性參照本關(guān)系的主碼courseNo屬性。這里假設(shè)一門課程最多只需要定義一門先修課程。

5、、標(biāo)示屬性集:班級班級編號,班級名稱,所屬學(xué)院,年級,班級人數(shù)課程課程號,課程名,學(xué)分,課時數(shù),先修課程學(xué)生學(xué)號,姓名,性別,出生日期,籍貫,所屬班級成績學(xué)號,課程號,開課學(xué)期,成績2.2 畫出E-R圖班級信息圖如下:ClassclasstudentNoclassNameInstituteclassNumgrade圖2-2-1班級實體集的E-R圖學(xué)生信息圖如下:StudentstudentNostudentNamesexclasstudentNonativebirthday圖2-2-2學(xué)生實體集E-R圖課程信息圖如下:CoursecourseNocourseNamecreditHourprio

6、rCoursecourseHour圖2-2-3課程實體集E-R圖成績信息圖如下: ScorestudentNocourseNoscoreterm圖2-2-4成績實體集E-R2.3學(xué)生成績管理系統(tǒng)總E-R圖根據(jù)上面對實體聯(lián)系的分析,可以畫出E-R圖如下:課程課程號課程名學(xué)時數(shù)學(xué)分先修課程選修歸屬學(xué)生成績班級學(xué)號姓名性別班級人數(shù)數(shù)數(shù)年級所屬學(xué)院班級名稱班級編號成績開課學(xué)期課程號學(xué)號出生日期籍貫N1NM1圖2-2-5學(xué)生成績管理系統(tǒng)總E-R圖三、邏輯數(shù)據(jù)庫設(shè)計階段邏輯結(jié)構(gòu)是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的根本E-R圖轉(zhuǎn)化為宜選用的DBMS所支持的數(shù)據(jù)模型相

7、符合的邏輯結(jié)構(gòu),并對其進(jìn)行優(yōu)化。E-R圖向關(guān)系模型轉(zhuǎn)化要解決的問題是如何將實體型和實體間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。設(shè)計學(xué)生成績管理數(shù)據(jù)庫,包括課程、學(xué)生、教師、成績四個關(guān)系, 其關(guān)系模式中對每個實體定義的屬性如下:課程信息表Class:班級編號,班級名稱,所屬學(xué)院,年級,班級人數(shù)學(xué)生信息表Student: 學(xué)號,姓名,性別,出生日期,籍貫,所屬班級課程信息表Course: 課程號,課程名,學(xué)分,課時數(shù),先修課程成績表Score:學(xué)號,課程號,開課學(xué)期,成績設(shè)計出E-R圖后,可將E-R圖轉(zhuǎn)換為數(shù)據(jù)庫模式。本系統(tǒng)建立的數(shù)據(jù)庫為“ScoreDB,運(yùn)行本系統(tǒng)時在庫中所建立的

8、表分別介紹如下:3.1 班級信息表(Class)字段名描述數(shù)據(jù)類型字段限制classNo班級編號char(10)PrimarykeyclassName班級名稱varchar(30)Not nullinstitute所屬學(xué)院varchar(30)Not nullgrade年級smallintNot nullclassNum班級人數(shù)tinyintNot null3.2 學(xué)生信息表(Student)字段名描述數(shù)據(jù)類型字段權(quán)限studentNo學(xué)號char(10)Primarykey studentName姓名Varchar(30)Not null sex性別char(2)Not nullbirthd

9、ay出生日期datetimeNot null native民族varchar(30)Not nullclassNo所屬班級varchar(30)Not null3.3 課程信息表Course字段名屬 性數(shù)據(jù)類型字段權(quán)限courseNo課程號char(10)PrimarykeycourseName課程名varchar(30)Not nullcreditHour學(xué)分numericNot nullcourseHour課時數(shù)tinyintNot nullpriorCourse先修課程varchar(30)Not null3.4 成績表Score字段名屬 性數(shù)據(jù)類型字段權(quán)限studentNo學(xué)號char

10、(10)PrimarykeycourseNo課程號char(10)Primarykeyterm開課學(xué)期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è)干個數(shù)據(jù)表的集合成一個數(shù)據(jù)庫。數(shù)據(jù)表主要用來存放一定格式的記錄,數(shù)據(jù)表中的行被稱為記錄,列被稱為字段。創(chuàng)立數(shù)據(jù)表的過程其實就是定義字段的過程。在此學(xué)生成績管理系統(tǒng)中需要創(chuàng)立四個

11、表,即班級信息表、學(xué)生信息表、課程信息表和成績表。創(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 /所屬學(xué)院 grade smallint, Not null /年級 classNum tinyint, Not null /班級人數(shù) ) 執(zhí)行上述SQL語句

12、即可創(chuàng)立課程信息表相關(guān)表格create table Student( /創(chuàng)立學(xué)生信息表 studentNo char(10) primary key, /學(xué)號 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)立學(xué)生信息表相關(guān)表格create table Course( /創(chuàng)立教

13、師信息表 courseNo char(10) primary key, /課程號 courseName varchar(30) not null, /課程名 creditHour numeric not null, /學(xué)分 courseHour tinyint not null, /課時數(shù) priorCourse varchar(30) not null, /先修課程 )執(zhí)行上述SQL語句即可創(chuàng)立教師信息表相關(guān)表格create table Score( /創(chuàng)立成績表 studentNo char(10) primary key, /學(xué)號 courseNo char(10) primary ke

14、y, /課程號 term char(10) not null, /開課學(xué)期 score numeric not null, /成績 )執(zhí)行上述SQL語句即可創(chuàng)立成績表相關(guān)表格五、數(shù)據(jù)庫的運(yùn)行和維護(hù)5.1 定義根本表的創(chuàng)立、修改及刪除;索引的創(chuàng)立和刪除。5.1.1 根本表的創(chuàng)立,建表語句 create table Student( / 創(chuàng)立學(xué)生表 studentNo char(10) not null, studentName varchar(30) not null, sex char(2) not null, birthday datetime not null, native varcha

15、r(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 單表查詢:查詢學(xué)號為“0800006生的姓名select studentNamefrom Studentwhere studentNo=' 0800006&

16、#39;結(jié)果:5.2.2 連接查詢查詢學(xué)生的學(xué)號、姓名,所選課程的課程號、課程名和成績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結(jié)果:5.2.3 操作結(jié)果集查詢查詢0700003號同學(xué)和080

17、0002號同學(xué)共同選修的課程Select courseNoFrom ScoreWhere studentNo='0700003'IntersectSelect courseNoFrom scoreWhere studentNo='0800002'查詢結(jié)果:5.2.4 嵌套查詢 查詢選修了“CS0701這門課的所有學(xué)生的學(xué)號、姓名、出生日期以及籍貫。Select studentNo,studentName,birthday,nativeFrom StudentWhere studentNo in (select studentNo From score Where

18、 classNo='CS0701')查詢結(jié)果:5.3 數(shù)據(jù)庫更新操作5.3.1 插入數(shù)據(jù)向Student表中添加一項記錄:姓名:葉問,學(xué)號:0800016,性別:男,出生年月:1992-6-19,籍貫:南昌,班級編號:CP0802InsertInto Student(studentNo,studentName, sex,birthday,native,classNo)Values ('0800016',' 葉問', '男','1992-6-19',' 南昌', 'CP0802'結(jié)果:

19、5.3.2 修改數(shù)據(jù)修改吳敏的學(xué)號為0800019Update StudentSet StudentNo='0800019'Where StudentName='吳敏;5.3.3 刪除數(shù)據(jù)刪除所有金融學(xué)院學(xué)生的記錄Delete from ClassWhere(institute='金融學(xué)院'); 5.4 為數(shù)據(jù)庫建立索引5.4.1 索引的建立create index studentNameSM on Student(studentName) 5.4.2 索引的刪除drop index studentNameSM on Student(studentNam

20、e)5.5 數(shù)據(jù)庫的平安性所謂計算機(jī)系統(tǒng)平安性,是指為計算機(jī)系統(tǒng)建立和采取的各種平安保護(hù)措施,以保護(hù)計算機(jī)系統(tǒng)中的硬件,軟件及數(shù)據(jù),防止其偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。為防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞,必須采取一些平安性控制措施以保證數(shù)據(jù)庫中數(shù)據(jù)的平安、可靠和正確有效。平安性控制的防范對象是非法用戶和非法操作,防止他們對數(shù)據(jù)庫數(shù)據(jù)的非法存取。主要采用用戶標(biāo)識及鑒定,使用用戶名或用戶標(biāo)識號來標(biāo)明用戶身份。用戶想要對對數(shù)據(jù)庫內(nèi)容進(jìn)行相關(guān)操作,必須申請一個用戶名或用戶標(biāo)識號,每次登陸都必須輸入該用戶名以及相應(yīng)正確的口令,然后系統(tǒng)對其進(jìn)行驗證,只有通過驗證的用

21、戶方可對數(shù)據(jù)庫進(jìn)行操作。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) ) 5.6.2 參照完整性定義:在學(xué)生成績表Score

22、中將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) Refer

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論