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

下載本文檔

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

文檔簡(jiǎn)介

1、JIANGXI AGRICULTURAL UNIVERSITY 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告 題目 :學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 學(xué) 院: 姓 名: 學(xué) 號(hào): 專 業(yè): 班 級(jí): 指導(dǎo)教師: 二 0 一二 年 6 月 目錄 一、需求分析 需求概述 針對(duì)江西農(nóng)大的成績(jī)管理工作量大、繁雜 , 人工處理非常困難。學(xué)生成績(jī)管理系統(tǒng) 借助于計(jì)算機(jī)強(qiáng)大的處理能力 ,大大減輕了管理人員的工作量 , 并提高了處理的準(zhǔn)確性。 學(xué)生成績(jī)管理系統(tǒng)的開發(fā)運(yùn)用 ,實(shí)現(xiàn)了學(xué)生成績(jī)管理的自動(dòng)化 , 不僅把廣大教師從繁重 的成績(jī)管理工作中解脫出來、把學(xué)校從傳統(tǒng)的成績(jī)管理模式中解放出來 , 而且對(duì)學(xué)生成 績(jī)的判斷和整理更合理、更公正 ,

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

3、N:1 學(xué)生和課程:一個(gè)學(xué)生可以選修多門課程,一門課程提供給多個(gè)學(xué)生選修; 存在“選修”的關(guān)系: N:M 關(guān)系 Score 的主碼是 studentNo , courseNo ,term 顯然同一個(gè)學(xué)生在同一個(gè)學(xué)期 不允許修讀同一門課程多次 關(guān)系 Course 的 priorCourse 屬性參照本關(guān)系的主碼 courseNo 屬性。這里假設(shè)一門 課程最多只需要定義一門先修課程。 、標(biāo)示屬性集: 班級(jí) 班級(jí)編號(hào), 班級(jí)名稱,所屬學(xué)院,年級(jí),班級(jí)人數(shù)) 課程 學(xué)生 畫出 課時(shí)數(shù),先修課程) 日期,籍貫,所屬班級(jí)) 圖 Student 2-2-1 班級(jí)實(shí)體集的 下: 班級(jí)信息圖如下: studen

4、tName 程cla名sst,ude學(xué)nt分 課程號(hào), 學(xué)號(hào),姓名,性別, Institute 學(xué)號(hào),課程號(hào)cla,ssN開am課e 學(xué)期 studentNo sex 學(xué)生信 Class classNum irthday grade native classtude 圖 2-2-2 學(xué)生實(shí)體集 E-R 圖 課程信息圖如下 courseName Course Score 圖 score 成績(jī)信息圖如下 學(xué)時(shí)數(shù) E-R圖 邏輯數(shù)據(jù) 計(jì)階段設(shè)計(jì)好的基本 模型相符合的邏輯結(jié)構(gòu) 1 成 決的 間的聯(lián)系轉(zhuǎn)化為關(guān)系模 其關(guān)系模式中 對(duì)每個(gè)實(shí)體定義的屬性如下M 班級(jí)編 班級(jí)名稱 所屬學(xué)院 姓名 所屬 dent

5、 年級(jí) 課程 班級(jí)人數(shù)數(shù) 成績(jī)表 體型和實(shí) 開課學(xué)期 班 級(jí) 班級(jí)) 程實(shí)體集 E-R 圖 courseNo 2-2-3 籍貫 學(xué)分,課時(shí)數(shù),先修課程) 性別,出 2-2-4 成績(jī)實(shí)體集 E-R priorCourse term 學(xué)生成績(jī)管理系統(tǒng)總 E-R 圖 studen creditHour 根據(jù)上面對(duì)實(shí)體聯(lián)系的分析,可以畫出 E-R 圖如下 E-R圖向關(guān)系模選型修轉(zhuǎn)化 設(shè)計(jì) 課程 學(xué)生 學(xué)號(hào),姓名 息表 并對(duì)其進(jìn)行優(yōu)化。 式,如何確定這些關(guān)系模式的屬性和碼 課程名 邏輯結(jié)構(gòu)是獨(dú)立 設(shè)計(jì)學(xué)生成績(jī)管理數(shù)據(jù)庫(kù),包括課程、學(xué)生 Class:(班級(jí)編號(hào) 學(xué)生信息表 班級(jí)名稱 N 號(hào) 成績(jī)管 先修課

6、程 于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)學(xué)。號(hào) 邏輯結(jié)構(gòu)的任務(wù)是把概念結(jié)構(gòu)設(shè) E-NR 圖轉(zhuǎn)化為宜選用的 DB 學(xué)分 性別 Cou出rs生e日: 期(課程號(hào) S所支持的 課程號(hào) 學(xué)號(hào) 課程信息表 Score:(學(xué)號(hào),課程號(hào),開課學(xué)期,成績(jī)) 設(shè)計(jì)出 E-R圖后,可將 E-R圖轉(zhuǎn)換為數(shù)據(jù)庫(kù)模式。 本系統(tǒng)建立的數(shù)據(jù)庫(kù)為“ ScoreDB”, 運(yùn)行本系統(tǒng)時(shí)在庫(kù)中所建立的表分別介紹如下: 班級(jí)信息表 (Class) 字段名 描述 數(shù)據(jù)類型 字段限制 classNo 班級(jí)編號(hào) char(10) Primarykey className 班級(jí)名稱 varchar(30) Not null institute 所屬

7、學(xué)院 varchar(30) Not null grade 年級(jí) smallint Not null classNum 班級(jí)人數(shù) tinyint Not null 學(xué)生信息表 (Student) 字段名 描述 數(shù)據(jù)類型 字段權(quán)限 studentNo 學(xué)號(hào) char(10) Primarykey studentName 姓名 Varchar(30) Not null sex 性別 char(2) Not null birthday 出生日期 datetime Not null native 民族 varchar(30) Not null classNo 所屬班級(jí) varchar(30) Not

8、null 課程信息表( Course ) 字段名 屬性 數(shù)據(jù)類型 字段權(quán)限 courseNo 課程號(hào) char(10) Primarykey courseName 課程名 varchar(30) Not null creditHour 學(xué)分 numeric Not null courseHour 課時(shí)數(shù) tinyint Not null priorCourse 先修課程 varchar(30) Not null 成績(jī)表( Score ) 字段名 屬性 數(shù)據(jù)類型 字段權(quán)限 studentNo 學(xué)號(hào) char(10) Primarykey courseNo 課程號(hào) char(10) Primary

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

10、成績(jī)表。 創(chuàng)建數(shù)據(jù)庫(kù)后,為 ScoreDB 數(shù)據(jù)庫(kù)添加數(shù)據(jù)表,步驟如下。 新建查詢窗口 在查詢窗口中鍵入下列 SQL語句 create table Class ( / 創(chuàng)建班級(jí)信息表 classtudentNo char ( 10) primary key , / 班級(jí)編號(hào) classtudentName varchar ( 30 ) not null, / 班級(jí)名稱 institute varchar ( 30 ) Not null / 所屬學(xué)院 grade smallint Not null / 年級(jí) classNum tinyint , Not null / 班級(jí)人數(shù) / 創(chuàng)建學(xué)生信息表

11、 執(zhí)行上述 SQL語句即可創(chuàng)建課程信息表相關(guān)表格 create table Student ( studentNo char ( 10) primary key / 學(xué)號(hào) varchar ( 30 ) not null, / 姓名 sex char ( 2) not null, birthday datetime not native varchar ( 30) not classtudentNo Char(10) studentName ) null, / 出生日期 null, / 民族 not null, / / 所屬班級(jí) / 性別 create table Course ( 執(zhí)行上述 S

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

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

14、time not null, native varchar ( 20) not null, classtudentNo Char ( 10) not null , constraint studentPK primary key ( StudentNO ), constraint studentPK1 foreign key ( classtudentNo studentNo char ( 10) not null, ) references class ( classtudentNo ) ) 基本表的刪除 drop table Student 數(shù)據(jù)操作 單表查詢: 查詢學(xué)號(hào)為“ 080000

15、6”生的姓名 select studentName from Student where studentNo= 0800006 結(jié)果: 連接查詢 查詢學(xué)生的學(xué)號(hào)、姓名,所選課程的課程號(hào)、課程名和成績(jī) Select , from Student , Class , Score , Course Where = and = and = 結(jié)果: 操作結(jié)果集查詢 查詢 0700003號(hào)同學(xué)和 0800002 號(hào)同學(xué)共同選修的課程 Select courseNo From Score Where studentNo = 0700003 Intersect Select courseNo From sco

16、re Where studentNo = 0800002 查詢結(jié)果: 嵌套查詢 查詢選修了“ CS0701”這門課的所有學(xué)生的學(xué)號(hào)、姓名、出生日期以及籍貫 Select studentNo , studentName , birthday , native From Student Where studentNo in ( select studentNo From score Where classNo = CS0701 ) 查詢結(jié)果: 數(shù)據(jù)庫(kù)更新操作 插入數(shù)據(jù) 向 Student 表中添加一項(xiàng)記錄: 姓名:葉問,學(xué)號(hào): 0800016,性別:男,出生年月: 1992-6-19 ,籍貫:南昌

17、,班級(jí)編 號(hào):CP0802 Insert Into Student ( studentNo , studentName , sex , birthday , native , classNo ) Values 結(jié)果: ( 0800016 , 葉問 , 男 , 1992-6-19 , 南昌 , CP0802 修改數(shù)據(jù) 修改吳敏的學(xué)號(hào)為 0800019 Update Student Set StudentNo =0800019 Where StudentName = 吳敏 ; 刪除數(shù)據(jù) 刪除所有金融學(xué)院學(xué)生的記錄 Delete from Class Where ( institute = 金融學(xué)院

18、 ); 為數(shù)據(jù)庫(kù)建立索引 索引的建立 create index studentNameSM on Student ( studentName ) 索引的刪除 drop index studentNameSM on Student ( studentName ) 數(shù)據(jù)庫(kù)的安全性 所謂計(jì)算機(jī)系統(tǒng)安全性, 是指為計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施, 以保 護(hù)計(jì)算機(jī)系統(tǒng)中的硬件, 軟件及數(shù)據(jù), 防止其偶然或惡意的原因使系統(tǒng)遭到破壞, 數(shù)據(jù) 遭到更改或泄露等。 為防止因用戶非法使用數(shù)據(jù)庫(kù)造成數(shù)據(jù)泄露、 更改或破壞, 必須采 取一些安全性控制措施以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全、 可靠和正確有效。 安全性控制

19、的防 范對(duì)象是非法用戶和非法操作, 防止他們對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的非法存取。 主要采用用戶標(biāo)識(shí) 及鑒定,使用用戶名或用戶標(biāo)識(shí)號(hào)來標(biāo)明用戶身份。 用戶想要對(duì)對(duì)數(shù)據(jù)庫(kù)內(nèi)容進(jìn)行相關(guān)操作, 必須申請(qǐng)一個(gè)用戶名或用戶標(biāo)識(shí)號(hào), 每次 登陸都必須輸入該用戶名以及相應(yīng)正確的口令, 然后系統(tǒng)對(duì)其進(jìn)行驗(yàn)證, 只有通過驗(yàn)證 的用戶方可對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。 數(shù)據(jù)庫(kù)的完整性 實(shí)體完整性定義 :在班級(jí)表 Class中將 classNo 定義為主碼。 create table Class ( / 創(chuàng)建 class 表 classNo char ( 10) not null , className varchar ( 30 ) not

20、 null , institute varchar ( 30 ) Not null, grade smallint Not null, classNum tinyint null constraint ClassPK primary key ( classNo ) ) 參照完整性定義 :在學(xué)生成績(jī)表 Score 中將 studentNo 、 courseNo 定義為外碼 create table Score ( studentNo char ( 10 ) not null, courseNo char ( 10) not null, term char ( 10) not null, scor

21、e numeric ( 5, 1) default 0 not null, Check ( Score between and , Constraint ScorePK primary key ( studentNo , courseNo Constraint ScoreFK1 foreign key ( studentNo ) Constraint References Student ( studentNo ), ScoreFK2 foreign key ( courseNo ) References Course ( courseNo ) 六、模式求精 通常,如果能仔細(xì)分析用戶的需求,并正確的識(shí)別出所有的實(shí)體集和聯(lián)系集, 有 E-R 圖生成的數(shù)據(jù)庫(kù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論