學(xué)生成績(jī)管理系統(tǒng) 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告

上傳人:l** 文檔編號(hào):70655722 上傳時(shí)間:2022-04-06 格式:DOC 頁數(shù):10 大?。?6KB
收藏 版權(quán)申訴 舉報(bào) 下載
學(xué)生成績(jī)管理系統(tǒng) 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告_第1頁
第1頁 / 共10頁
學(xué)生成績(jī)管理系統(tǒng) 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告_第2頁
第2頁 / 共10頁
學(xué)生成績(jī)管理系統(tǒng) 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告_第3頁
第3頁 / 共10頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《學(xué)生成績(jī)管理系統(tǒng) 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生成績(jī)管理系統(tǒng) 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告(10頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告1需求分析1.1 用戶需求概述本系統(tǒng)為學(xué)生成績(jī)管理系統(tǒng),該系統(tǒng)開發(fā)的主要目的是使得學(xué)生的成績(jī)管理工作更加清晰、條理化、自動(dòng)化,實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的集中統(tǒng)一的管理。具體完成通過用戶名和密碼登錄系統(tǒng),查詢課程基本資料,學(xué)生所選課程成績(jī),修改用戶密碼等功能。本系統(tǒng)主要實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的管理,需要完成的主要功能有:(1)通過用戶名和密碼登錄系統(tǒng),查詢課程基本資料,學(xué)生所選課程成績(jī),修改用戶密碼等功能,容易地完成學(xué)生信息的查詢操作。(2)設(shè)計(jì)人機(jī)友好界面,功能安排合理,操作使用方便,并且進(jìn)一步考慮系統(tǒng)在安全性,完整性,并發(fā)控制,備份和恢復(fù)等方面的功能要求.1.2 數(shù)據(jù)需求St

2、udent表:snoChar(8)不允許為空snameChar(10)不允許為空SsexChar(2)不允許為空sbirthDatetime(8)允許為空classChar(4)不允許為空typeChar(7)允許為空score表結(jié)構(gòu):snoChar(8)不允許為空cnoChar(5)不允許為空degreeFloat(8)不允許為空Course表: cno(主鍵)Char(5)不允許為空cnamevarchar(10)不允許為空tnochar(3)不允許為空Teacher表tnochar(5)不允許為空tnamevarchar(10)不允許為空departvarchar(8)不允許為空Tsex

3、char(2)不允許為空Tbirthdatetime ,允許為空profchar(6)允許為空2概念設(shè)計(jì)內(nèi)容2。1 概念設(shè)計(jì)綜述由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計(jì)的實(shí)體包括:(1)學(xué)生基本信息:學(xué)號(hào),姓名,性別,地址,年齡,專業(yè)。(2)課程基本信息: 課程名,課程號(hào),分?jǐn)?shù),學(xué)時(shí),學(xué)分. 這些實(shí)體間的聯(lián)系包括:(1)學(xué)生(學(xué)號(hào),姓名,性別,年齡,地址,系別),其主關(guān)鍵字為學(xué)號(hào);(2)課程(課程名,課程號(hào),學(xué)時(shí),學(xué)分),其中主關(guān)鍵字為課程號(hào);(3)成績(jī)(課程號(hào),學(xué)號(hào),分?jǐn)?shù))其中主關(guān)鍵字為學(xué)號(hào)和課程號(hào).可以與學(xué)生關(guān)系模式合并為:學(xué)生(學(xué)號(hào),姓名,性別,年齡,地址,系別,成績(jī),課程號(hào))。2.2 ER模型

4、如下:3規(guī)范化設(shè)計(jì)1范式的判斷條件: 第一范式:如果一個(gè)關(guān)系模式R的所有屬性域都是原子的,我們稱關(guān)系模式R屬于第一范式; 第二范式:若關(guān)系模式R滿足第一范式,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則關(guān)系模式R滿足第二范式; BC范式:對(duì)于R中所有的函數(shù)依賴,下面至少有一個(gè)成立(-是平凡的,是模式R的一個(gè)超碼); 第三范式:在BC范式的判斷條件上加多一個(gè)條件:-中每個(gè)屬性A都包含在R的一個(gè)候選碼中。2本關(guān)系模型的判斷:A、對(duì)于我設(shè)計(jì)的關(guān)系模式中所有實(shí)體集和關(guān)系集,每一個(gè)屬性的屬性域都是不可再分的,都具有原子性,因此由該關(guān)系模式轉(zhuǎn)換而來的關(guān)系模型符合第一范式的要求。B、對(duì)于由關(guān)系模式中的聯(lián)系集轉(zhuǎn)換而來

5、的關(guān)系模型,因?yàn)樗鼈兊膶傩远际菂⒓雨P(guān)系的實(shí)體集的主碼,都完全依賴于對(duì)應(yīng)關(guān)系集的主碼且都是非平凡的函數(shù)依賴,因此這些關(guān)系模型滿足2NF,3NF,BCNF;4數(shù)據(jù)庫邏輯設(shè)計(jì)4.1 關(guān)系模型與設(shè)計(jì)的關(guān)系模式相對(duì)應(yīng)的SQL語句如下:4。2。1創(chuàng)建數(shù)據(jù)庫: create database sshon( name=ssh, filename=e:databasessh.mdf, size=1)log on( name=ssh1, filename=e:databasessh1.ldf, size=1)4.2。2創(chuàng)建數(shù)據(jù)表(1) student表use sshcreate table student( sn

6、o char(8) primary key,sname char(10) not null,Ssex char(2) not null, Sbirth datetime,class char(4) not null semail varchar(20)(2) score表create table score(sno char(8) not null,cno char(4) not null, degree float not null)(3) course表create table course(cno char(5) not null primary key,cname varchar(10

7、) not null, tno char(3) not null )(4) teacher表 create table teacher(tno char(5) not null primary key, tname varchar(10) not null, depart varchar(8) not null, Tsex char(2) not null, Tbirth datetime , prof char(6) )4。2 編程性結(jié)構(gòu) 4.2。1創(chuàng)建存儲(chǔ)過程 (1) 創(chuàng)建一個(gè)存儲(chǔ)過程.用來顯示成績(jī)表中的課程號(hào)在課程表中并且所任教師性別為男、所在部門是計(jì)算機(jī)系的成績(jī)表中的列create p

8、roc student_11as select * from score where cno in (select cno from course ,teacher where course.tno=teacher.tno and depart=計(jì)算機(jī)系 and tsex=男)調(diào)用此存儲(chǔ)過程Execstudent_11 (2) 創(chuàng)建一個(gè)帶輸入?yún)?shù)的存儲(chǔ)過程。調(diào)用此存儲(chǔ)過程時(shí),給出一個(gè)學(xué)生名,顯示出此學(xué)生的學(xué)號(hào),姓名,所學(xué)課程號(hào),課程名稱和對(duì)應(yīng)的成績(jī)create proc student_namesname varchar(10)as select student.sno,sname,o,deg

9、ree cname from student,score,course where student.sno=score。sno and score。cno=o and sname=sname調(diào)用此存儲(chǔ)過程,(此例是輸出姓名為歷史的學(xué)生的信息)exec student_name 歷史(3) 創(chuàng)建一個(gè)存儲(chǔ)過程,傳遞一個(gè)學(xué)生姓名.先判斷此學(xué)生是否有郵箱,如果有,則顯示此學(xué)生的姓名,郵箱地址,學(xué)號(hào),班級(jí);如果沒有的話,輸出此句話the semail is emptycreate proc student_emailsname varchar(10)asbeginif (select semail fr

10、om student where sname=sname) is nullbeginprintthe semail is emptyendelseselect sname,semail,sno,class from student where sname=snameend調(diào)用此存儲(chǔ)過程exec student_email super當(dāng)給出姓名的那個(gè)學(xué)生沒有郵箱地址時(shí),則會(huì)顯示如下內(nèi)容。 exec student_email dfdf4.2。2觸發(fā)器(1) 創(chuàng)建一個(gè)觸發(fā)器。來檢查學(xué)生的郵箱地址是否相同,如果相同,輸出inserting fail,并且回滾事務(wù);如果不相同,則插入成功。create

11、 trigger studentinserton studentafter insertas if (select semail from inserted where semail in (select semail from student) is not nullbeginprint inserting failrollback transactionendelseprintinsering succeed向?qū)W生信息表中插入一條記錄,檢驗(yàn)是否成功插入insert into student values(114,lengbing,女,1985-12-12,11,lengbingssh,一般

12、 )(2) 在成績(jī)表中建立一個(gè)觸發(fā)器,當(dāng)向表中添加記錄時(shí),此學(xué)生的成績(jī)都乘以1.2create trigger scoreupdate on scoreafter insertas update score set degree=degree1。2 from score where sno in (select sno from inserted )向表中插入一條記錄,檢驗(yàn)觸發(fā)器是否有用。insert into score values(108,01,56)4。2。3自定義函數(shù) (1) 創(chuàng)建一個(gè)用戶自定義函數(shù),輸出與指定的學(xué)生同班的學(xué)生個(gè)數(shù)create function studentcoun

13、t(sno char(5))returns intbegindeclare counter intselect counter=count() from student where class=(select class from student where sno=sno)return counterend調(diào)用此自定義函數(shù)(本例是查找與學(xué)號(hào)102同班的學(xué)生個(gè)數(shù))declare a intset a=dbo。studentcount(102)print convert(char(3),a)(2) 創(chuàng)建一個(gè)用戶自定義函數(shù),用于輸出同一個(gè)班級(jí)中的學(xué)生信息create function studen

14、tclass(class char(5)returns tablereturn(select from student where class=class)調(diào)用自定義函數(shù)(本例是輸出12班的學(xué)生信息)select * from studentclass(12)4.3數(shù)據(jù)操作 4。3.1 插入(1)向?qū)W生表插入信息insert into student values(101,生活,女,198309-18,11)insert into student values(102,風(fēng)塵,男,198401-01,11)insert into student values(103,離開,男,1984-0101

15、,11)insert into student values(104,流浪,女,198411-11,11)insert into student values(105,生命,男,1984-1205,13)insert into student values(106,無悔,女,1984-1101,13)insert into student values(107,歷史,女,1984-10-01,12)insert into student values(108,風(fēng)塵,男,19859-08,11)insert into student values(109,活著,男,19851212,12)ins

16、ert into student values(110,傻瓜,女,19850828,12) 查看記錄 Select * from student(2)向成績(jī)表中添加 insert into score values(101,01,88)insert into score values(101,02,85)insert into score values(102,02,80)insert into score values(101,03,88)insert into score values(102,02,85)insert into score values(102,03,80)insert

17、into score values(103,01,83)insert into score values(103,02,85)insert into score values(103,03,90)insert into score values(104,01,60)查看記錄 Select * from score(3)向教師表中添加數(shù)據(jù)insert into course values(01,計(jì)算機(jī),11)insert into course values(02,網(wǎng)絡(luò)管理,12)insert into course values(03,專業(yè)英語,13)insert into course va

18、lues(04,軟件工程,14)查看記錄 Select * from course(4)向課程表中添加數(shù)據(jù)insert into teacher values(11,無意,計(jì)算機(jī)系,男,19734-5,教授) insert into teacher values(12,生活,計(jì)算機(jī)系,女,1975121,副教授) insert into teacher values(13,沒有,管理系,女,1975-33,副教授) insert into teacher values(14,離開,英語系,男,197355,教授)查看記錄 Select * from teacher4.3.2查詢(1) 查詢成績(jī)

19、大于學(xué)號(hào)為101的學(xué)生的課程為02的成績(jī)的所有列。select * from score where degree(select degree from score where sno=101 and cno=02)(2) 查詢課程號(hào)01大于課程號(hào)02的最大值、并以分?jǐn)?shù)降序排序的成績(jī)表中所有列select * from score s where o=01 and s.degree=(select max(degree) from score y where o=02 ) order by degree descgo select max(degree) as 02max from score

20、 where cno=02(3) 查詢性別為男的學(xué)號(hào),姓名,班級(jí),課程號(hào)和成績(jī)的學(xué)生select student.sno,student.sname,student.class,score。cno,score。degree from student,score where student.sno=score.sno and ssex=男(4) 查詢成績(jī)?cè)?0到80之間的所有列select * from score where degree between 60 and 80(5) 查詢score表中至少有5名學(xué)生選修的并以0開頭的課程的平均分select avg(degree) as 平均分”

21、,cno from score where cno like 0 group by cno having count(*)=54.3。3創(chuàng)建數(shù)據(jù)類型創(chuàng)建一個(gè)email自定義數(shù)據(jù)類型 exec sp_addtype email, varchar(20) , null修改student表中的semail數(shù)據(jù)類型為email類型alter table student alter column semail email4.3.4向表中添加字段 向student表添加type,semail,b并且郵件地址有check約束alter table student add type char(7)alter

22、table student add semail varchar(20) null constraint ck_sem check (semail like %)alter table teacher add tel varchar(15)4.3.5創(chuàng)建視圖(1) 創(chuàng)建所有11班的學(xué)生信息的視圖create view student11as select * from student where class=11查看視圖中的記錄select * from student11(2) 創(chuàng)建視圖course_degree其中的內(nèi)容是選修計(jì)算機(jī)課程的學(xué)生信息,包括(sno,sname,cno,cnam

23、e,degree),創(chuàng)建時(shí)加上with check optioncreate view course_degree(sno,sname,cno,cname,degree)as select score。sno,sname,o,cname,degree from course ,student, score where o=o and student。sno=score.sno and cname=計(jì)算機(jī)with check option查看視圖中的記錄select * from course_degree(3) 創(chuàng)建一個(gè)視圖,其中的內(nèi)容是成績(jī)表中每門課程的create view average

24、as select avg(degree) as 平均分 from score group by cno查看視圖中的記錄select from average (4) 創(chuàng)建視圖其中的內(nèi)容是所有男教師和男學(xué)生的name,sex,birthcreate view man as select sname as name,ssex as sex,sbirth as birth from student where ssex=男union select tname,tsex,tbirth from teacher where tsex=男查看視圖中的記錄select from man5實(shí)驗(yàn)總結(jié)與感想。通

25、過這次的課程設(shè)計(jì),使我了解了更多數(shù)據(jù)庫系統(tǒng)概念這門課程,對(duì)以前不太理解和熟悉的內(nèi)容有更多的掌握.在我設(shè)計(jì)的學(xué)生成績(jī)管理系統(tǒng)中,雖然一開始我對(duì)這個(gè)系統(tǒng)怎樣設(shè)計(jì)完完全全沒有概念,但是如果仔細(xì)的想一下,還是可以找到出發(fā)點(diǎn)的。首先要建立一個(gè)完整的管理系統(tǒng),就必須明白這個(gè)系統(tǒng)所包含的基本內(nèi)容、處理一些怎樣的信息等.最主要的是畫出他們的E-R圖,便可直觀的看出他們關(guān)系。在設(shè)計(jì)的時(shí)候,有時(shí)候也會(huì)感到?jīng)]有思路了,或許是只有一點(diǎn)點(diǎn)的頭緒,可經(jīng)過對(duì)圖的分析和認(rèn)真觀察他們的關(guān)系后,便有了新的思路和閃光點(diǎn)。最后根據(jù)自己的整理資料將每一步都運(yùn)用SQL語言執(zhí)行出來,并且看以下是否符合結(jié)果要求。我想經(jīng)過這次課程設(shè)計(jì)可以更好的將所學(xué)知識(shí)運(yùn)用到實(shí)際中去,也讓我加深了對(duì)數(shù)據(jù)庫知識(shí)的認(rèn)識(shí)和了解。在這次實(shí)踐設(shè)計(jì)過程中,我懂得了如何將所學(xué)的理論知識(shí)運(yùn)用到實(shí)際中去,使得所學(xué)的知識(shí)能夠融會(huì)貫通.同時(shí),在課程設(shè)計(jì)過程中,我懂得了許多知識(shí),增加了我對(duì)數(shù)據(jù)庫的興趣 ,今后一定努力的學(xué)習(xí),在實(shí)踐中增加自己的學(xué)習(xí)樂趣,讓自己更加充實(shí)。最后,感謝老師一學(xué)期來對(duì)我們的辛勤教導(dǎo)。

展開閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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