學分管理系統(tǒng)數(shù)據(jù)庫的設計與實現(xiàn)_第1頁
學分管理系統(tǒng)數(shù)據(jù)庫的設計與實現(xiàn)_第2頁
學分管理系統(tǒng)數(shù)據(jù)庫的設計與實現(xiàn)_第3頁
學分管理系統(tǒng)數(shù)據(jù)庫的設計與實現(xiàn)_第4頁
學分管理系統(tǒng)數(shù)據(jù)庫的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計報告 課程設計題目:學分管理系統(tǒng)數(shù)據(jù)庫的設計與實現(xiàn) 專 業(yè):班 級:姓 名:學 號:指導教師: 2014年 01月 07日16目 錄1. 實驗目的012. 課程設計要求013. 題目要求014. 學分管理系統(tǒng)的需求分析021)處理對象 022)處理功能要求 023)安全性和完整性要求 035.學分管理系統(tǒng)的實體關系圖及ER圖 031)E-R圖每個實體的屬性 042)將E-R圖轉換為關系模型 046.數(shù)據(jù)庫代碼生成 041)創(chuàng)建數(shù)據(jù)庫 052)創(chuàng)建表 053)根據(jù)表中內容錄入數(shù)據(jù) 064)創(chuàng)建視圖 065)簡單查詢 066)創(chuàng)建觸發(fā)器,保證數(shù)據(jù)一致性 077)創(chuàng)建存儲過程,實現(xiàn)功能要求

2、108)判定畢業(yè) 137.實驗總結158.心得體會15學分管理系統(tǒng)數(shù)據(jù)庫的設計與實現(xiàn)一、實驗目的:通過本次課程設計讓學生能夠綜合運用所學的關系數(shù)據(jù)庫原理知識解決并能設計一個實際問題,進一步掌握數(shù)據(jù)庫原理的相關理論和數(shù)據(jù)庫的設計實現(xiàn)過程,進一步提高學生的分析問題和解決問題的能力以及學生的動手能力。二、課程設計要求:1對各個系統(tǒng)進行系統(tǒng)功能需求分析2. 數(shù)據(jù)庫設計分析階段,進行詳細的數(shù)據(jù)庫需求分析,進行概念數(shù)據(jù)庫的設計,畫出數(shù)據(jù)庫的E-R圖(局部和整體E-R圖)3. 設計出詳細的邏輯數(shù)據(jù)庫結構,將各個實體和聯(lián)系轉化為相應的二維表即關系模式,指定各個關系的主關鍵字和外部關鍵字,并對各個關系的約束加以

3、限定4. 通過企業(yè)管理器或是查詢分析器實現(xiàn)各個二維關系(建議最好用SQL代碼實現(xiàn)),要求建立相關的索引5. 根據(jù)系統(tǒng)功能需求設計相應的查詢視圖6. 要求根據(jù)系統(tǒng)功能需求建立存儲過程7. 根據(jù)功能需求建立相應的觸發(fā)器以保證數(shù)據(jù)的一致性8. 通過建立用戶和權限分配實現(xiàn)數(shù)據(jù)庫一定的安全性,考慮數(shù)據(jù)庫的備份與恢復(此內容選作)三、題目要求 描述:設計一個學分管理系統(tǒng)。 假設每位學生必須完成基礎課50學分,專業(yè)課50學分,選修課24學分,人文類課程8學分和實驗性課程20學分才能畢業(yè)。 實現(xiàn)下列功能: 1、錄入某位學生的學分信息 2、給定學號,顯示某位學生的學分完成情況; 3、給定班號,顯示該班所有學生的

4、學分完成情況; 4、給定學號,修改該學生的學分信息; 5、按照某類課程的學分高低進行排序; 6、給定學號,對該學生能否畢業(yè)進行確定。四學分管理系統(tǒng)的需求分析.通過對兩個班的同學學分成績的調查,了解到兩個班的同學學分管理仍處于人工管理階段,沒有標準的學生學分存檔信息。開發(fā)出合適的學生學分管理系統(tǒng),可以方便學生學分的管理,提高學分管理工作的效率。1.處理對象系統(tǒng)要處理的對象包括學生基本信息、課程信息、教師信息三個方面,各個信息包括如下信息1) 學生基本信息:包括學生的姓名、學號、性別、系別、班級,可以方便學生信息的查詢和更新;2) 課程基本信息:包括課程代號、課程名、課程種類、學分,可以方便課程信

5、息的查詢與更新;3) 成績基本信息:包括學生的學號、學生選取的課程號、學生的成績及學分,這可以提高查詢效率。2.處理功能要求系統(tǒng)主要完成以下幾個功能:1) 錄入某位學生的學分信息; 2) 給定學號,顯示某位學生的學分完成情況;2) 給定班號,顯示該班所有學生的學分完成情況;3) 給定學號,修改該學生的學分信息;4) 按照某類課程的學分高低進行排序;5) 給定學號,對該學生能否畢業(yè)進行確定。3.安全性和完整性要求 安全性先通過試圖機制,不同的用戶只能訪問系統(tǒng)授權的視圖,這樣可以滿足系統(tǒng)數(shù)據(jù)一定程度上的安全性,在通過用戶授權機制,用用戶登入來識別用戶級,根據(jù)這個級別來分配用戶權限,達到更高層次的安

6、全保密功能。 安全性要求用于描述學生基本信息、課程基本信息及教師基本信息的數(shù)據(jù)項能否為NULL,以及一些用戶自定義是否符合實際要求。五、學分管理系統(tǒng)的實體關系圖及ER圖.學生課程選取學號班級性別課程名課程號學分課程類型成績專業(yè)姓名1E-R圖每個實體的屬性. 學生:學號,姓名,性別,班級,專業(yè) 課程:課程號,課程名,學分,課程類型2將E-R圖轉換為關系模型: 學生:(sno,sname,sex,class,dept) 課程:(cno,cname,score,type) 選取:(grade)Course(課程信息表 示例)SC(學生選課情況表 示例)c_noc_namescoretypes_noc

7、_nogradescore001數(shù)據(jù)結構32專業(yè)課1120702010018032002操作系統(tǒng)30基礎課1120702020028530003計算機網絡28選修課1120702030038028004數(shù)據(jù)庫32專業(yè)課1120702040049532005網絡基礎32專業(yè)課1120702050058032006Java語言32專業(yè)課1120702060067032007數(shù)據(jù)庫實驗24實驗課1120702070078024008馬列主義10.5人文類112070208008839009現(xiàn)代通信27.5選修課1120702090097024Student(學生信息表 示例)s_nos_namese

8、xclassdept112070201趙一男1120702計算機科學與技術112070202孫二女1120702計算機科學與技術112070203李三女1120702計算機科學與技術112070204趙濤男1120702計算機科學與技術112070205周四女1120702計算機科學與技術112070206吳五男1120702計算機科學與技術112070207鄭六男1120702計算機科學與技術112070208王七男1120702計算機科學與技術112070209馮八男1120702計算機科學與技術六數(shù)據(jù)庫代碼生成1. 創(chuàng)建數(shù)據(jù)庫CREATE DATABASE Credit -創(chuàng)建學分管理系

9、統(tǒng)數(shù)據(jù)庫ON( name=Credit_data,filename=c:CreditData.mdf,size=10,maxsize=50,filegrowth=5 )2.創(chuàng)建表:CREATE TABLE Course -創(chuàng)建課程信息表( cno char(20) primary key not null,cname char(20),score float, type char(20) )create table Student -創(chuàng)建學生信息表( sno char(20) primary key not null, sname char(20), sex char(10), class c

10、har(20), dept char(20) )create table SC -學生選課情況表( sno char(20) not null, cno char(20) not null, grade int, score float constraint sc_prim primary key(sno,cno) )CREATE UNIQUE index SC_ind on SC(sno,cno) -創(chuàng)建索引3.根據(jù)表中內容錄入數(shù)據(jù):使用:insert into 表名(列名)select union select union select語句,進行多行錄入4.創(chuàng)建視圖:create view

11、 show -創(chuàng)建視圖,提供基本查詢as select sc.s_no,class,s_name,Course.c_no,c_name,sc.score,typefrom SC,Student,Coursewhere SC.s_no=Student.s_no and SC.c_no=Course.c_no 5.簡單查詢:select s_no,class,s_name,c_name,score,type -查詢信息From showorder by class, s_noselect s_no,s_name,c_name,class,score -根據(jù)名字查詢from showwhere s_

12、name=趙 濤6.創(chuàng)建觸發(fā)器,保證數(shù)據(jù)一致性:create trigger c_insert -在Course表上創(chuàng)建插入觸發(fā)器on Coursefor insertasselect * from showorder by s_nocreate trigger c_delete -在Course表上創(chuàng)建刪除觸發(fā)器on Coursefor deleteasdeclare oldcno varchar(20)select oldcno=c_no from deleteddelete from SC where c_no=oldcnocreate trigger c_update -在Course

13、表上創(chuàng)建修改觸發(fā)器on Coursefor updateasdeclare oldcno varchar(20),newcno varchar(20)if update(c_no)beginselect oldcno=c_no from deletedselect newcno=c_no from insertedupdate SC set c_no=newcno where c_no=oldcnoselect * from showendupdate Course -在Course表上修改數(shù)據(jù)set c_no=004where c_name=數(shù)據(jù)庫create trigger sc_inse

14、rt -在SC表上創(chuàng)建插入觸發(fā)器on SCfor insertasselect *from showorder by s_nocreate trigger sc_delete -在SC表上創(chuàng)建刪除觸發(fā)器on SCfor deleteasselect *from showorder by s_nocreate trigger sc_update -在SC表上創(chuàng)建修改觸發(fā)器on SCfor updateasselect *from showorder by s_nocreate trigger s_delete -在Student表上創(chuàng)建刪除觸發(fā)器on Studentfor deleteasdec

15、lare oldsno varchar(20)select oldsno=s_no from deleteddelete from SC where s_no=oldsnocreate trigger s_update -在Student表上創(chuàng)建修改觸發(fā)器on Studentfor updateasdeclare newsno varchar(20)update SCset s_no=newsno where s_no in(select s_no from deleted)7.創(chuàng)建存儲過程,實現(xiàn)功能要求:create procedure luru -創(chuàng)建存儲過程,在SC表中插入信息(錄入某位

16、學生的學分信息)sno char(20),cno char(20),grade int,score float)asinsert into SC(s_no,c_no,grade,score) values(sno,cno,grade,score)exec luru 112070204,004,95,32 -錄入信息create procedure sno -創(chuàng)建存儲過程,按給定學號,顯示某位學生的學分完成情況( sno char(20) asselect s_no,class,s_name,c_name,type,scorefrom showwhere s_no=snoorder by s_n

17、o,typeexec sno 112070204 -給定一個學號查詢create procedure sum_score -創(chuàng)建存儲過程,按給定學號,顯示某位學生的各個課程類型獲得學分情況(sno char(20) asselect s_no,s_name,type,sum(score) as scorefrom showwhere s_no=snogroup by s_no,type,s_nameexec sum_score 112070204 -給定一個學號查詢create procedure class -創(chuàng)建存儲過程,按給定班號,顯示該班所有學生的學分完成情況(class char(2

18、0) asselect *from showwhere class=classorder by classexec class 1120702 -給定一個班號查詢create procedure score_update -給定學號,修改該學生的學分情況(sno char(20),cno char(20),grade int,score float)asupdate SCset c_no=cno,grade=grade,score=scorewhere s_no=snoExec score_update sno=112070204,cno=004, grade=96,score=35 -給定學

19、號及學分情況,執(zhí)行修改create procedure paixu -創(chuàng)建存儲過程,按照某類課程的學分高低進行排序(cno char(20)asselect *from showwhere c_no=cnoorder by score descexec paixu 004 -給定一門課程的課程號8.判定畢業(yè)create view graduation -創(chuàng)建視圖,用于判定學生是否畢業(yè)as select s_no,s_name,type,sum(score) as scorefrom showgroup by s_no,type,s_namecreate procedure judge -判定畢業(yè)(sno char(10)asdeclare jc floatdeclare rw floatdeclare sy floatdeclare xx floatdeclare zy floatdeclare x intset x=0select jc=score from graduation where sno=s_no and type=基礎課if jc=50Beginset x=1select rw=score from graduation where sno=s_no

溫馨提示

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

評論

0/150

提交評論