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

下載本文檔

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

文檔簡介

1、JIANGXI AGRICULTURAL UNIVERSITY 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告 題目: 學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) _ 學(xué) 院: _ 姓 名: _ 學(xué)號: _ 專 業(yè): _ 班 級: _ 指導(dǎo)教師: _ 二0 一二 年6 月 目錄 一、需求分析 . 3 1.1 需求概述 . 3 1.2 功能簡介 . 3 二、數(shù)據(jù)庫設(shè)計(jì) . 3 2.1 確定聯(lián)系集及 E-R 圖 . 3 2.2 畫出 E-R 圖 . 4 2.3 學(xué)生成績管理系統(tǒng)總 E-R 圖 . 5 三、邏輯數(shù)據(jù)庫設(shè)計(jì)階段 . 6 5.6.2 班級信息表 (Class) . 7 5.6.3 學(xué)生信息表 (Student) . 7 5.6.4

2、 課程信息表( Course ) . 8 5.6.5 成績表( Score ) . 8 四、建表 . 8 1.5 創(chuàng)建數(shù)據(jù)庫 . 8 1.5 創(chuàng)建數(shù)據(jù)表 . 9 五、數(shù)據(jù)庫的運(yùn)行和維護(hù) . 10 定義 . 10 基本表的創(chuàng)建,建表語句 . 10 基本表的刪除 . 11 數(shù)據(jù)操作 . 11 單表查詢: . 11 連接查詢 . 11 操作結(jié)果集查詢 . 12 嵌套查詢 . 12 數(shù)據(jù)庫更新操作 . 13 插入數(shù)據(jù) . 13 修改數(shù)據(jù) . 13 刪除數(shù)據(jù) . 13 為數(shù)據(jù)庫建立索引 . 14 5.4.1 索引的建立 . 14 .索引的刪除 14 數(shù)據(jù)庫的安全性 . 14 數(shù)據(jù)庫的完整性 . 15 5

3、.6.1 實(shí)體完整性定義 . 15 參照完整性定義 . 15 六、模式求精 . 15 七、總結(jié) . 16一、需求分析 需求概述 針對江西農(nóng)大的成績管理工作量大、繁雜 , 人工處理非常困難。學(xué)生成績管 理系統(tǒng)借助于計(jì)算機(jī)強(qiáng)大的處理能力 , 大大減輕了管理人員的工作量 , 并提高了 處理的準(zhǔn)確性。學(xué)生成績管理系統(tǒng)的開發(fā)運(yùn)用 , 實(shí)現(xiàn)了學(xué)生成績管理的自動化 , 不僅把廣大教師從繁重的成績管理工作中解脫出來、 把學(xué)校從傳統(tǒng)的成績管理模 式中解放出來 , 而且對學(xué)生成績的判斷和整理更合理、 更公正, 同時也給教師提供 了一個準(zhǔn)確、清晰、輕松的成績管理環(huán)境。 功能簡介 能夠進(jìn)行數(shù)據(jù)庫的數(shù)據(jù)定義、數(shù)據(jù)操縱、

4、數(shù)據(jù)控制等處理功能 , 進(jìn)行聯(lián)機(jī)處 理的相應(yīng)時間要短。 具體功能應(yīng)包括:系統(tǒng)應(yīng)該提供課程安排數(shù)據(jù)的插入、刪除、更新、查詢; 成績的添加、修改、刪除、查詢,學(xué)生及教職工基本信息查詢的功能。 二、數(shù)據(jù)庫設(shè)計(jì) 確定聯(lián)系集及 E-R 圖 根據(jù)前面對系統(tǒng)進(jìn)行的分析, 已經(jīng)初步了解了學(xué)生成績管理系統(tǒng)的數(shù)據(jù)處理 流程,找出與系統(tǒng)有關(guān)的各個實(shí)體及其相互聯(lián)系如下: 、標(biāo)示實(shí)體集:班級,課程,學(xué)生,成績四個關(guān)系。 、標(biāo)示聯(lián)系集: 學(xué)生和班級:一個班由多個學(xué)生組成,一個學(xué)生只能歸屬于某個班; 存在“歸屬”的關(guān)系: N: 1 學(xué)生和課程:一個學(xué)生可以選修多門課程,一門課程提供給多個學(xué)生選修; 存在“選修”的關(guān)系: N

5、:M 關(guān)系Score的主碼是studentNo , courseNo, term顯然同一個學(xué)生在同一 個學(xué)期不允許修讀同一門課程多次 關(guān)系Course的priorCourse屬性參照本關(guān)系的主碼 courseNo屬性。這里假 設(shè)一門課程最多只需要定義一門先修課程。 、標(biāo)示屬性集: 班級(班級編號,班級名稱,所屬學(xué)院,年級,班級人數(shù)) 課程(課程號,課程名,學(xué)分,課時數(shù),先修課程) 學(xué)生(學(xué)號,姓名,性別,出生日期,籍貫,所屬班級) 成績(學(xué)號,課程號,開課學(xué)期,成績) 2.2 畫出 E-R 圖 班級信息圖如下: 圖2-2-1班級實(shí)體集的E-R圖 學(xué)生信息圖如下: 圖2-2-2學(xué)生實(shí)體集E-R圖

6、 classtude In stitute grade classNum className Class birthda n ative classtu stude ntNo stude ntName sex Stude 課程信息圖如下 圖2-2-3課程實(shí)體集E-R圖 成績信息圖如下: 圖2-2-4成績實(shí)體集E-R 2.3 學(xué)生成績管理系統(tǒng)總 E-R 圖 根據(jù)上面對實(shí)體聯(lián)系的分析,可以畫出 E-R圖如下: 所屬學(xué)院 年級 班級人數(shù) 開課學(xué)期 成績 課程號 課程名 學(xué)時數(shù) 先修課程 口 號 班級名稱 學(xué)號 選修 姓名 歸屬 姓名 性別 出生日期 籍貫 課程 圖2-2-5學(xué)生成績管理系統(tǒng)總E-R圖

7、 學(xué)分 學(xué)號 班級編號 - 學(xué)生 三、邏輯數(shù)據(jù)庫設(shè)計(jì)階段 邏輯結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。 邏輯結(jié)構(gòu)的任務(wù)是把概念 結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)化為宜選用的DBM所支持的數(shù)據(jù)模型相符 合的邏輯結(jié)構(gòu),并對其進(jìn)行優(yōu)化。 E-R圖向關(guān)系模型轉(zhuǎn)化要解決的問題是如何將實(shí)體型和實(shí)體間的聯(lián)系轉(zhuǎn)化為 關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。 設(shè)計(jì)學(xué)生成績管理數(shù)據(jù)庫,包括課程、學(xué)生、教師、成績四個關(guān)系 ,其關(guān)系 模式中對每個實(shí)體定義的屬性如下: 課程信息表 Class:(班級編號,班級名稱,所屬學(xué)院,年級,班級人數(shù)) 學(xué)生信息表 Stude nt:(學(xué)號,姓名,性別,出生日期,籍貫,所屬班級

8、) 課程信息表 Course:(課程號,課程名,學(xué)分,課時數(shù),先修課程) 成績表 Score:(學(xué)號,課程號,開課學(xué)期,成績) 設(shè)計(jì)出E-R圖后,可將E-R圖轉(zhuǎn)換為數(shù)據(jù)庫模式。本系統(tǒng)建立的數(shù)據(jù)庫為 “ScoreDB”,運(yùn)行本系統(tǒng)時在庫中所建立的表分別介紹如下: 3.1 班級信息表(Class) 字段名 描述 數(shù)據(jù)類型 字段限制 classNo 班級編號 char(10) Primarykey className 班級名稱 varchar(30) Not null in stitute 所屬學(xué)院 varchar(30) Not null grade 年級 smalli nt Not null c

9、lassNum 班級人數(shù) tin yi nt Not null 3.2 學(xué)生信息表(Student) 字段名 描述 數(shù)據(jù)類型 字段權(quán)限 stude ntNo 學(xué)號 char(10) Primarykey stude ntName 姓名 Varchar(30) Not null sex 性別 char(2) Not null birthday 出生日期 datetime Not null native 民族 varchar(30) Not null classNo 所屬班級 varchar(30) Not null 3.3 課程信息表(Course) 字段名 屬性 數(shù)據(jù)類型 字段權(quán)限 cours

10、eNo 課程號 char(10) Primarykey courseName 課程名 varchar(30) Not null creditHour 學(xué)分 nu meric Not null courseHour 課時數(shù) tin yi nt Not null priorCourse 先修課程 varchar(30) Not null 3.4 成績表(Score) 字段名 屬性 數(shù)據(jù)類型 字段權(quán)限 stude ntNo 學(xué)號 char(10) Primarykey courseNo 課程號 char(10) Primarykey term 開課學(xué)期 char(10) Not null score

11、 成績 nu meric Not null 四、建表 4.1 創(chuàng)建數(shù)據(jù)庫 打開SQL工具“查詢分析器” 在查詢窗口中鍵入下列SQL語句 create database ScoreDB 執(zhí)行上述SQL語句即可新建一名為ScoreDB的數(shù)據(jù)庫 創(chuàng)建數(shù)據(jù)表 一個完整的數(shù)據(jù)庫不可缺少的就是數(shù)據(jù)表,若干個數(shù)據(jù)表的集合成一個數(shù) 據(jù)庫。數(shù)據(jù)表主要用來存放一定格式的記錄, 數(shù)據(jù)表中的行被稱為記錄, 列被稱 為字段。創(chuàng)建數(shù)據(jù)表的過程其實(shí)就是定義字段的過程。 在此學(xué)生成績管理系統(tǒng)中需要創(chuàng)建四個表,即班級信息表、學(xué)生信息表、課 程信息表和成績表。 創(chuàng)建數(shù)據(jù)庫后,為 ScoreDB 數(shù)據(jù)庫添加數(shù)據(jù)表,步驟如下。 新建

12、查詢窗口 在查詢窗口中鍵入下列SQL語句 執(zhí)行上述SQL語句即可創(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, / / 所屬班級

13、) 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ù) / 創(chuàng)建班級信息表 ) create table Class ( 執(zhí)行上述SQL語句即可創(chuàng)建學(xué)生信息表相關(guān)表格 create table Course ( / 創(chuàng)建教師信息表 courseNo ch

14、ar ( 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) pri

15、mary key , / 課程號 term char ( 10) not null, / 開課學(xué)期 score numeric ) not null, / 成績 執(zhí)行上述SQL語句即可創(chuàng)建成績表相關(guān)表格 五、數(shù)據(jù)庫的運(yùn)行和維護(hù) 定義 基本表的創(chuàng)建、修改及刪除;索引的創(chuàng)建和刪除 基本表的創(chuàng)建,建表語句 char ( 10) not null, varchar ( 30) not null, char ( 2) not null, datetime not null, varchar ( 20) not null, Char ( 10) not null/ 創(chuàng)建學(xué)生表 create table S

16、tudent ( studentNo studentName sex birthday native classtudentNo constraint studentPK primary key ( StudentNO ), constraint studentPK1 foreign key ( classtudentNo ) references class ( classtudentNo ) 5.1.2 基本表的刪除 drop table Stude nt 5.2 數(shù)據(jù)操作 單表查詢: 查詢學(xué)號為“ 0800006生的姓名 select stude ntName from Stude nt

17、 where stude ntNo= 0800006 結(jié)果: 國於J肖息 stu cent Name 1 至逐 . 5.2.2 連接查詢 查詢學(xué)生的學(xué)號、姓名,所選課程的課程號、課程名和成績 Select Student . studentNo , Student . studentName , Class . classNo , Class core . score from Student , Class , Score , Course Where Student . studentNo = Score . studentNo and Student . classNo =Class .

18、 classNo and Course . courseNo =Score . 結(jié)果:.className , S courseNo Where studentNo in J結(jié)果:消息 class No ciassNarrs score 1 1李小勇 CS0701 計(jì)諄機(jī)科學(xué)與技術(shù)芮加班 98 2 07DQ001 李坐勇 CS0701 計(jì)第機(jī)科學(xué)與技術(shù)胃切班 S2 3 李小勇 CSC1 計(jì)算機(jī)科學(xué)與技術(shù)即-加班 55 4 07W0G2 劉方晨 IS0731 信息営理與信息系魏GR1班 G9 07MCG2 劉方展 IS07D1 信息管理與信息 07X)1班 S7 ft 07D0W2 劃方晨 IS

19、0701 信息管理與信息系魏打-加班 77 7 a7tX)CG2 劉方晨 IS07D1 信息管理與信息粟統(tǒng)齊-加班 9Q & O7(x)ca3 壬紅堿 ISC731 信息管理與信班 4G 9 37QO333 王紅碩 IS0731 信息管理與信息系魏廠心1班 38 10 王虹堿 IS07Q1 信息管理與信息系統(tǒng)打班 50 523 操作結(jié)果集查詢 查詢0700003號同學(xué)和0800002號同學(xué)共同選修的課程 Select courseNo From Score Where studentNo =0700003 In tersect Select courseNo From score Wh

20、ere studentNo =0800002 查詢結(jié)果: 5.2.4 嵌套查詢 查詢選修了“ CS0701這門課的所有學(xué)生的學(xué)號、姓名、出生日期以及籍 貫。 Select studentNo , studentName , birthday , native From Student (select studentNo From score Where classNo =CS0701) 查詢結(jié)果: H 踣果二消息 srudert 1 : sludert I Jams brhdey native . . 1 i !李小勇 ! 133112-21 K:M:0C.CCC 商昌 5.3 數(shù)據(jù)庫更新操作

21、 531 插入數(shù)據(jù) 向Student表中添加一項(xiàng)記錄: 姓名:葉問,學(xué)號:0800016,性別:男,出生年月:1992-6-19,籍貫:南 昌,班級編號:CP0802 In sert Into 5.3.2 修改數(shù)據(jù) 修改吳敏的學(xué)號為0800019 Update Stude nt Set StudentNo =0800019 Where StudentName =吳敏; OSOOOIQ 吳敏 玄 峯 NULL Ml NULL Student ( studentNo ,studentName sex , birthday , native , classNo ) Values (0800016 葉

22、問,男,1992-6-19 南昌,CP0802 結(jié)果: 0800018 葉問 男 1992-6-19 0:00:GD 南昌 CPD802 1992-1-20 0:00:00 福逢 C&QS02 NiAL NULL 5.3.3 刪除數(shù)據(jù) 刪除所有金融學(xué)院學(xué)生的記錄 Delete from Class Where ( institute =金融學(xué)院); ddSSNo dassName institute grage da-ssNum 注冊會計(jì)D&-D1 會計(jì)學(xué)院 2006 NULL CPO8Q2 注冊會計(jì)北-02班 會計(jì)學(xué)院 2003 AUZ CPO3D3 注冊會計(jì)班 會計(jì)學(xué)院 2

23、00& NULL 匚 S07D1 計(jì)算機(jī)科學(xué)與 信息管理學(xué)院 2007 MJLL CS0702 計(jì)茸機(jī)科學(xué)與 信烏管理學(xué)院 :007 ALU CS0801 計(jì)算機(jī)科學(xué)與 信息菅理學(xué)院 2008 MULL 150701 信息管理與信 信息昔理學(xué)院 2007 NULL I50SOI 信息管理與信 信息管理學(xué)院 200S NULL 米 NULL AU2 5.4 為數(shù)據(jù)庫建立索引 541 索引的建立 create index studentNameSM on Student ( studentName ) 542 索引的刪除 drop index studentNameSM on Studen

24、t ( studentName ) 5.5 數(shù)據(jù)庫的安全性 所謂計(jì)算機(jī)系統(tǒng)安全性,是指為計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措 施,以保護(hù)計(jì)算機(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)識 號,每次登 陸都必須輸入該用戶名以及相

25、應(yīng)正確的口令, 然后系統(tǒng)對其進(jìn)行驗(yàn)證, 只有通過驗(yàn)證的用戶方可對數(shù)據(jù)庫進(jìn)行操作。 5.6 數(shù)據(jù)庫的完整性 5.6.1 實(shí)體完整性定義 :在班級表 Class 六、模式求精 通常,如果能仔細(xì)分析用戶的需求,并正確的識別出所有的實(shí)體集和聯(lián) 系集,有 E-R 圖生成的數(shù)據(jù)庫模式往往不需要太多的進(jìn)一步模式求精。然而,如 果一個實(shí)體集中的屬性之間存在函數(shù)依賴(不包括主碼的依賴關(guān)系), 則需要根 據(jù)函數(shù)依賴?yán)碚搶⑵溥M(jìn)行規(guī)范化。 table Class ( / 創(chuàng)建 class 表 classNo char ( 10) not null , className varchar ( 30) not null

26、, institute varchar ( 30) Not null, grade smallint Not null, classNum tinyint null constraint ClassPK primary key ( classNo ) create ) 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 ( s

溫馨提示

  • 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

提交評論