數(shù)據(jù)庫設(shè)計實例 教務(wù)管理系統(tǒng)

上傳人:z**** 文檔編號:127064156 上傳時間:2022-07-29 格式:DOC 頁數(shù):9 大?。?5.50KB
收藏 版權(quán)申訴 舉報 下載
數(shù)據(jù)庫設(shè)計實例 教務(wù)管理系統(tǒng)_第1頁
第1頁 / 共9頁
數(shù)據(jù)庫設(shè)計實例 教務(wù)管理系統(tǒng)_第2頁
第2頁 / 共9頁
數(shù)據(jù)庫設(shè)計實例 教務(wù)管理系統(tǒng)_第3頁
第3頁 / 共9頁

本資源只提供3頁預(yù)覽,全部文檔請下載后查看!喜歡就下載吧,查找使用更方便

15 積分

下載資源

資源描述:

《數(shù)據(jù)庫設(shè)計實例 教務(wù)管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫設(shè)計實例 教務(wù)管理系統(tǒng)(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、數(shù)據(jù)庫實驗七數(shù)據(jù)庫設(shè)計 題目要求: 設(shè)計一個教務(wù)管理系統(tǒng)。要求管理包括:學(xué)生的檔案,學(xué)生選課的情況,學(xué) 生每學(xué)期的綜合測評,教師檔案,教師工作量等等。具體考核方法根據(jù)自己了解 的實際情況處理。 假設(shè)此次設(shè)計的教務(wù)系統(tǒng)是整個學(xué)生管理系統(tǒng)數(shù)據(jù)庫中的一部分,整個系統(tǒng) 至少還包括學(xué)籍管理等其他子系統(tǒng)。 在初期設(shè)計時,先關(guān)注與教務(wù)系統(tǒng)有關(guān)的數(shù)據(jù)。在完成對教務(wù)管理系統(tǒng)的建 模后再對整個系統(tǒng)進行合并,總終得到整個系統(tǒng)的設(shè)計方案。 一、需求分析 1、 根據(jù)分析可以畫出該教務(wù)管理系統(tǒng)的數(shù)據(jù)流 圖: 學(xué)生 選課 上課 考試 測評 選課單 允許考試 成績單 老師檔案 課程簡介 教室安排

2、 試卷 考場安排 測評報告單 學(xué)生名單 教師 選定教材 申報 課表 2、 數(shù)據(jù)字典 數(shù)據(jù)結(jié)構(gòu):學(xué)生(相當(dāng)于實體) 含義說明:是教務(wù)管理系統(tǒng)的一個核心數(shù)據(jù)結(jié) 構(gòu),定義了學(xué)生的有關(guān)信息 組成:學(xué)號、姓名 數(shù)據(jù)項:學(xué)號(相當(dāng)于屬性) 含義說明:唯一標(biāo)識每一個學(xué)生 別名:學(xué)生編號 類型:字符型 長度:9位 取值范圍:190000000 - 999999999 取值含義:前四位表明學(xué)生所在年級,后五位 安順序編號 數(shù)據(jù)項:姓名 含義說明:表示學(xué)生的姓名 類型:字符型 長度:10位 取值范圍:任意字符 數(shù)據(jù)結(jié)構(gòu):教師 含義說明:教務(wù)管理系統(tǒng)的核心數(shù)據(jù)結(jié)構(gòu)之一,定義了教

3、師的有關(guān)信息 組成:教師號,教師姓名 數(shù)據(jù)項:教師號 含義說明:教師的編號 類型:字符型 長度:5位 取值范圍:10000 - 99999 數(shù)據(jù)項:教師姓名 含義說明:教師的姓名 類型:字符型 長度:10位 取值范圍:任意合法的字符 數(shù)據(jù)結(jié)構(gòu):課程 含義說明:教務(wù)管理系統(tǒng)的核心數(shù)據(jù)結(jié)構(gòu)之 一,定義了課程的有關(guān)信息 組成:課程號,課程名,課程描述,教師,教 室,教科書,學(xué)分 數(shù)據(jù)項:課程號 含義說明:課程的編號 類型:字符型 長度:4 取值范圍:0001 - 9999 數(shù)據(jù)項:課序號 含義說明:對于同一課程,由不同老師教授, 用課序號來區(qū)分 類型:字符型

4、 長度:2 取值范圍:01 - 99 數(shù)據(jù)項:課程名 含義說明:課程的名稱 類型:字符型 長度:10 取值范圍:任意合法的字符 數(shù)據(jù)項:課程描述 含義說明:課程內(nèi)容的基本描述 類型:字符型 長度:200 取值范圍:任意合法字符 數(shù)據(jù)項:教科書 含義說明:課程所用的教科書 類型:字符型 長度:20 取值范圍:任意合法字符 數(shù)據(jù)項:學(xué)分 含義說明:課程的學(xué)分 類型:整型 長度:1 取值范圍:1-9 數(shù)據(jù)結(jié)構(gòu):教室 含義說明:上課所用的教室 組成:教室編號,教室地址,教室容量 數(shù)據(jù)項:教室編號 含義說明:教室的編號 類型:字符 長度:5 取值范圍:00001-99999 數(shù)據(jù)項:教室

5、地址 含義說明:標(biāo)明教室的地址 類型:字符 長度:30 取值范圍:任意合法的字符 數(shù)據(jù)項:教室容量 含義說明:教室的容納學(xué)生的數(shù)量 類型:整型 取值范圍:正整數(shù) 數(shù)據(jù)結(jié)構(gòu):選課記錄 含義說明:紀(jì)錄學(xué)生選課的紀(jì)錄 組成:學(xué)生,課程,成績 數(shù)據(jù)項:成績 含義說明:選課學(xué)生本學(xué)期的成績 類型:浮點數(shù) 范圍:0.0 -100.0 處理過程:分配教室 說明:為所有課程分配上課教室 輸入:課程,教室 輸出:教室安排 處理:學(xué)期課程決定后,要為每個課程安排上 課地點,要求上課的地點不能沖突且上課人數(shù) 不能超過教室容量。 處理過程:分配考場 說明:在考試日期,為所有課程分配考場 輸入

6、:課程,教室 輸出:考場安排 處理:為每個課程安排考場,考試時間和地點 不能沖突且考試人數(shù)不能超過考場容量。 數(shù)據(jù)存儲:成績單 說明:記錄學(xué)生本學(xué)期所有課程成績 流入數(shù)據(jù)流:學(xué)生所有的選課記錄 流出數(shù)據(jù)流:學(xué)生的成績單 數(shù)據(jù)量:由學(xué)生的人數(shù)決定 存取方式:隨機存取 二、概念結(jié)構(gòu)設(shè)計 1、根據(jù)需求分析畫出E-R圖: 選修 學(xué)生 教師 課程 m n 講授 1 n 教科書 n 成績 教室 開設(shè) 1 n 2、根據(jù)E-R圖寫出各個實體的屬性描述 學(xué)生:{學(xué)號,姓名} 課程:{課程號,課程名,課程描述,學(xué)分} 教師:{教師號,教師名,課程數(shù)} 教室:{

7、教室編號,地址,容量} 3、視圖的集成 假設(shè)在學(xué)生管理系統(tǒng)的學(xué)籍管理系統(tǒng)中存在另 一個學(xué)生實體,其中還包括以下信息:性別, 所屬專業(yè),所屬班級。為了使兩個實體保持一 致,對兩個實體取并集得到新的學(xué)生實體: 學(xué)生:{學(xué)號,姓名,性別,專業(yè),班級} 三、邏輯結(jié)構(gòu)設(shè)計 1、 由E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換 一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性 就是關(guān)系的屬性。實體的碼就是關(guān)系的碼。所 以,E-R圖中的屬性描述可直接轉(zhuǎn)換為相應(yīng)的 關(guān)系模式。 2、 對于剩余的一對多和多對多聯(lián)系可以如下表示 學(xué)生-課程:{學(xué)號,課程號,課序號,成績} 課程-教師:{課程號,課序號,教師號} 課程-教科書:{課

8、程號,課序號,教科書} 教室-課程:{教室號,時間,課程號,課序號} 其中課程-教師與課程-教科書具有相同的 主碼,可以合并成一個關(guān)系 教學(xué):{課程號,課序號,教師號,教科書} 最后得到的關(guān)系模式為 學(xué)生:{學(xué)號,姓名,性別,專業(yè),班級} 課程:{課程號,課程名,課程描述,學(xué)分} 教師:{教師號,教師名,課程數(shù)} 教室:{教室號,地址,容量} 學(xué)生-課程:{學(xué)號,課程號,課序號,成績} 教學(xué):{課程號,課序號,教師號,教科書} 教室-課程:{教室號,時間,課程號,課序號} 3、 用戶外模式 根據(jù)需求,為計算綜合測評增加一個外模式, 因為綜合測評只在學(xué)期末進行,查詢次數(shù)不多, 所以沒有必要用

9、冗余的方法來提高查詢效率, 只需要建立一個外模式視圖即可。 測評{學(xué)號,學(xué)生姓名,平均成績} 4、 根據(jù)設(shè)計寫出相應(yīng)的SQL語句 CREATE TABLE student ( Sno VARCHAR(9) CONSTRAINT pk_student PRIMARY KEY, Sname VARCHAR(10) NOT NULL, Sex VARCHAR(l) NOT NULL, Major VARCHAR(10) NOT NULL, Class VARCHAR(10) NOT NULL, CHECK (Sex = f OR Sex = 'm') ) CREATE T

10、ABLE course ( Cno VARCHAR(4) CONSTRAINT pk_course PRIMARY KEY, Cname VARCHAR(10) NOT NULL, Describe VARCHAR(200), Mark INTEGER ) CREATE TABLE teacher CONSTRAINT NOT NULL, NOT NULL ( Tno VARCHAR(5) teacher_pk PRIMARY KEY, Tname VARCHAR(10) Ccnt INTEGER DEFAULT 0 ) CREATE TABLE classro

11、om ( Rno VARCHAR(5) CONSTRAINT pk_classroom PRIMARY KEY, Locate VARCHAR(30) NOT NULL, Cap INTEGER CHECK (Cap > 0) ) CREATE TABLE tech ( Cno VARCHAR(4) NOT NULL CONSTRAINT fk_course_cno FOREIGN KEY REFERENCES course(Cno) ON UPDATE CASCADE ―級聯(lián)更新 ON DELETE CASCADE,―級聯(lián)刪除 SCno VARCHAR(2) NOT

12、 NULL, Tno VARCHAR(5) CONSTRAINT fk_teacher_tno FOREIGN KEY REFERENCES teacher(Tno) ON UPDATE CASCADE ON DELETE CASCADE, Book VARCHAR(20) CONSTRAINT pk_tech PRIMARY KEY (Cno,SCno) ) CREATE TABLE SC ( Sno VARCHAR(9) NOT NULL CONSTRAINT fk_student_sno FOREIGN KEY REFERENCES student(Sno)

13、 ON UPDATE CASCADE ON DELETE CASCADE, Cno VARCHAR(4) NOT NULL CONSTRAINT fk_sc_course_cno FOREIGN KEY REFERENCES course(Cno) ON UPDATE CASCADE ON DELETE CASCADE, SCno VARCHAR(2) NOT NULL, Score FLOAT CONSTRAINT pk_sc PRIMARY KEY (Sno,Cno,SCno) ) CREATE TABLE RC ( Rno VARCHAR(5) CONSTRA

14、INT fk_classroom_rno FOREIGN KEY REFERENCES classroom(Rno) ON UPDATE CASCADE ON DELETE CASCADE, Time DATETIME, Cno VARCHAR(4) NOT NULL CONSTRAINT fk_rc_course_cno FOREIGN KEY REFERENCES course(Cno) ON UPDATE CASCADE ON DELETE CASCADE, SCno VARCHAR(2) NOT NULL CONSTRAINT pk_rc PRIMARY KEY (R

15、no,Time) ) 為進行綜合測評增加一個外模式 CREATE VIEW assess AS SELECT SC.sno, sname, AVG(score) as average FROM SC,Student where SC.sno = student.sno GROUP BY SC.sno,sname 為了符合數(shù)據(jù)的參照完整性約束,避免學(xué)生選 課的時候選擇一個不存在的課程號-課序號組, 增加一個外鍵約束。 ALTER TABLE sc ADD CONSTRAINT fk_sc_tech FOREIGN KEY (Cno,SCno) REFERENCES tech(Cno

16、,SCno) ON UPDATE CASCADE ON DELETE CASCADE 為了在插入一個新課程時能級聯(lián)更新教師的工 作量,增加一個觸發(fā)器。此任務(wù)也可以通過建立一 個外模式視圖來動態(tài)統(tǒng)計,為了練習(xí)的目的這里采 用了觸發(fā)器 CREATE TRIGGER workenter On tech AFTER INSERT ,UPDATE, DELETE AS BEGIN DECLARE @T VARCHAR(5) IF EXISTS ( SELECT TOP 1 Tno FROM INSERTED ) BEGIN SET @T = (SELECT TOP 1 Tno FRO

17、M INSERTED ) UPDATE teacher SET Ccnt = Ccnt + 1 WHERE Tno = @T END IF EXISTS ( SELECT TOP 1 Tno FROM DELETED ) BEGIN SET @T = (SELECT TOP 1 Tno FROM DELETED) UPDATE teacher SET Ccnt = Ccnt - 1 WHERE Tno = @T END END 關(guān)于課程容量:如何保證選課的學(xué)生數(shù)量不超過教室的容量? 初步解決辦法是:在學(xué)生選課時建立暫時不考慮容量問題,都加入一個臨時 的SC表中。然后,在選課結(jié)束后將未超額的記錄直接加入SC表,超額的課程 進行抽簽,將命中部分學(xué)生的選課記錄插入SC表,直到人數(shù)符合課程容量的要 求為止。 抽簽的功能較適合用頂層的高級語言來實現(xiàn)。在選課結(jié)束后,選超額課程的 學(xué)生需登陸選課系統(tǒng)進行抽簽,抽簽的過程可以使用概率算法,如果抽中,系統(tǒng) 再將選課記錄插入SC表,否則就從臨時表中刪除。 所以,在數(shù)據(jù)庫系統(tǒng)中,沒有對SC表的插入操作進行約束。 Trackback: n.n et/TrackBack.aspx?PostId = 1460966

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!