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

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

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

20 積分

下載資源

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

資源描述:

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

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

2、求. 1.2 數(shù)據(jù)需求 Student表: sno Char(8) 不允許為空 sname Char(10) 不允許為空 Ssex Char(2) 不允許為空 sbirth Datetime(8) 允許為空 class Char(4) 不允許為空 type Char(7) 允許為空 score表結(jié)構(gòu): sno Char(8) 不允許為空 cno Char(5) 不允許為空 degree Float(8) 不允許為空 Course表: cno(主鍵) Char(5) 不允許為空 cname varchar(10) 不允許

3、為空 tno char(3) 不允許為空 Teacher表 tno char(5) 不允許為空 tname varchar(10) 不允許為空 depart varchar(8) 不允許為空 Tsex char(2) 不允許為空 Tbirth datetime , 允許為空 prof char(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

4、)學(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 E—R模型如下: 3規(guī)范化設(shè)計(jì) 1.范式的判斷條件: 第一范式:如果一個(gè)關(guān)系模式R的所有屬性域都是原子的,我們稱關(guān)系模式R屬于第一范式; 第二范式:若關(guān)系模式R滿足第一范式,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則關(guān)系模式R滿足第二范式; BC范式:對(duì)于R中所有的函數(shù)依賴,下面

5、至少有一個(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)換而來(lái)的關(guān)系模型符合第一范式的要求。 B、對(duì)于由關(guān)系模式中的聯(lián)系集轉(zhuǎn)換而來(lái)的關(guān)系模型,因?yàn)樗鼈兊膶傩远际菂⒓雨P(guān)系的實(shí)體集的主碼,都完全依賴于對(duì)應(yīng)關(guān)系集的主碼且都是非平凡的函數(shù)依賴,因此這些關(guān)系模型滿足2NF,3NF,BCNF; 4數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 4.1 關(guān)系模型 與設(shè)計(jì)的關(guān)系模式相對(duì)應(yīng)的S

6、QL語(yǔ)句如下: 4。2。1創(chuàng)建數(shù)據(jù)庫(kù): create database ssh on ( name=ssh, filename=’e:\database\ssh.mdf’, size=1) log on ( name=ssh1, filename=’e:\database\ssh1.ldf', size=1) 4.2。2創(chuàng)建數(shù)據(jù)表 (1) student表 use ssh create table student ( sno char(8) primary key, sname char(10) not null, Ssex char(2) not

7、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) not null, tno char(3) not null )

8、 (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ǔ)過(guò)程 (1) 創(chuàng)建一個(gè)存儲(chǔ)過(guò)程. 用來(lái)顯示成績(jī)表中的課程號(hào)在課程表中并且所任教師性別為男、所在部門是計(jì)算機(jī)系的成績(jī)表中的列 create pro

9、c student_11 as 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ǔ)過(guò)程 Exec student_11 (2) 創(chuàng)建一個(gè)帶輸入?yún)?shù)的存儲(chǔ)過(guò)程。 調(diào)用此存儲(chǔ)過(guò)程時(shí),給出一個(gè)學(xué)生名,顯示出此學(xué)生的學(xué)號(hào),姓名,所學(xué)課程號(hào),課程名稱和對(duì)應(yīng)的成績(jī) create proc student_name @sname varchar(10) as selec

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

11、@sname varchar(10) as begin if (select semail from student where sname=@sname) is null begin print'the semail is empty' end else select sname,semail,sno,class from student where sname=@sname end 調(diào)用此存儲(chǔ)過(guò)程 exec student_email 'super’ 當(dāng)給出姓名的那個(gè)學(xué)生沒(méi)有郵箱地址時(shí),則會(huì)顯示如下內(nèi)容。 exec student_email dfdf’ 4.

12、2。2觸發(fā)器 (1) 創(chuàng)建一個(gè)觸發(fā)器。 來(lái)檢查學(xué)生的郵箱地址是否相同,如果相同,輸出'inserting fail’,并且回滾事務(wù);如果不相同,則插入成功。 create trigger studentinsert on student after insert as if (select semail from inserted where semail in (select semail from student)) is not null begin print 'inserting fail’ rollback transaction end else

13、 print’insering succeed’ 向?qū)W生信息表中插入一條記錄,檢驗(yàn)是否成功插入 insert into student values(’114','lengbing’,’女’,’1985-12-12’,'11',’lengbingssh@',’一般' ) (2) 在成績(jī)表中建立一個(gè)觸發(fā)器, 當(dāng)向表中添加記錄時(shí),此學(xué)生的成績(jī)都乘以1.2 create trigger scoreupdate on score after insert as update score set degree=degree*1。2 from score where sno in (s

14、elect 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 studentcount(@sno char(5))returns int begin declare @counter int select @counter=count(*) from student where class=(select class from student w

15、here sno=@sno) return @counter end 調(diào)用此自定義函數(shù)(本例是查找與學(xué)號(hào)102同班的學(xué)生個(gè)數(shù)) declare @a int set @a=dbo。studentcount('102’) print convert(char(3),@a) (2) 創(chuàng)建一個(gè)用戶自定義函數(shù),用于輸出同一個(gè)班級(jí)中的學(xué)生信息 create function studentclass (@class char(5)) returns table return(select * from student where class=@class) 調(diào)用自定義函數(shù)(本例是

16、輸出12班的學(xué)生信息) select * from studentclass('12') 4.3數(shù)據(jù)操作 4。3.1 插入 (1)向?qū)W生表插入信息 insert into student values(’101','生活',’女','1983—09-18’,'11’) insert into student values('102’,'風(fēng)塵','男',’1984—01-01’,'11') insert into student values(’103’,'離開(kāi)','男’,'1984-01—01',’11') insert into student values(’104’,’

17、流浪',’女’,’1984—11-11',’11’) insert into student values('105',’生命',’男’,'1984-12—05’,'13') insert into student values(’106’,’無(wú)悔’,'女',’1984-11—01',’13’) insert into student values('107',’歷史’,’女’,'1984-10-01’,’12') insert into student values(’108','風(fēng)塵’,’男',’1985—9-08','11’) insert into student value

18、s(’109’,’活著',’男','1985—12—12','12’) insert into student values(’110’,’傻瓜’,'女’,'1985—08—28’,'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

19、’,88) insert into score values('102',’02’,85) insert into score values(’102’,'03’,80) insert 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ù) inser

20、t into course values('01’,'計(jì)算機(jī)’,’11') insert into course values('02’,’網(wǎng)絡(luò)管理','12’) insert into course values(’03’,’專業(yè)英語(yǔ)','13') insert into course values(’04’,’軟件工程','14') 查看記錄 Select * from course (4)向課程表中添加數(shù)據(jù) insert into teacher values('11’,'無(wú)意',’計(jì)算機(jī)系’,'男',’1973—4-5’,'教授') insert into teac

21、her values(’12',’生活’,’計(jì)算機(jī)系’,’女’,'1975—12—1’,’副教授’) insert into teacher values('13',’沒(méi)有’,'管理系’,’女',’1975-3—3','副教授') insert into teacher values(’14',’離開(kāi)',’英語(yǔ)系','男’,’1973—5—5','教授') 查看記錄 Select * from teacher 4.3.2查詢 (1) 查詢成績(jī)大于學(xué)號(hào)為101的學(xué)生的課程為02的成績(jī)的所有列。 select * from score where degree>(select

22、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 desc go select max(degree) as "02max" from score where cno=’02’ (3) 查詢性別為男的學(xué)號(hào),姓名,班級(jí),課程號(hào)和成績(jī)的學(xué)生

23、 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開(kāi)頭的課程的平均分 select avg(degree) as "平均分”,cno from score where cno lik

24、e ’0%’ group by cno having count(*)〉=5 4.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 email 4.3.4向表中添加字段 向student表添加type,semail,,b并且郵件地址有check約束 alter table student add type char(7) alter

25、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 student11 as select * from student where class=’11’ 查看視圖中的記錄 select * from student11 (2) 創(chuàng)建視圖course_degree 其中的內(nèi)容是選修計(jì)算機(jī)課程

26、的學(xué)生信息,包括(sno,sname,cno,cname,degree),創(chuàng)建時(shí)加上with check option create 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

27、 (3) 創(chuàng)建一個(gè)視圖,其中的內(nèi)容是成績(jī)表中每門課程的 create view average as select avg(degree) as '平均分' from score group by cno 查看視圖中的記錄 select * from average (4) 創(chuàng)建視圖其中的內(nèi)容是所有男教師和男學(xué)生的name,sex,birth create view man as select sname as name,ssex as sex,sbirth as birth from student where ssex='男' union select t

28、name,tsex,tbirth from teacher where tsex='男' 查看視圖中的記錄 select * from man 5實(shí)驗(yàn)總結(jié)與感想。 通過(guò)這次的課程設(shè)計(jì),使我了解了更多數(shù)據(jù)庫(kù)系統(tǒng)概念這門課程,對(duì)以前不太理解和熟悉的內(nèi)容有更多的掌握.在我設(shè)計(jì)的學(xué)生成績(jī)管理系統(tǒng)中,雖然一開(kāi)始我對(duì)這個(gè)系統(tǒng)怎樣設(shè)計(jì)完完全全沒(méi)有概念,但是如果仔細(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)過(guò)對(duì)圖的分析和認(rèn)真觀察他們的關(guān)系后,便有了新的思路和閃光點(diǎn)。最后根據(jù)自己的整理資料將每一步都運(yùn)用SQL語(yǔ)言執(zhí)行出來(lái),并且看以下是否符合結(jié)果要求。我想經(jīng)過(guò)這次課程設(shè)計(jì)可以更好的將所學(xué)知識(shí)運(yùn)用到實(shí)際中去,也讓我加深了對(duì)數(shù)據(jù)庫(kù)知識(shí)的認(rèn)識(shí)和了解。在這次實(shí)踐設(shè)計(jì)過(guò)程中,我懂得了如何將所學(xué)的理論知識(shí)運(yùn)用到實(shí)際中去,使得所學(xué)的知識(shí)能夠融會(huì)貫通.同時(shí),在課程設(shè)計(jì)過(guò)程中,我懂得了許多知識(shí),增加了我對(duì)數(shù)據(jù)庫(kù)的興趣 ,今后一定努力的學(xué)習(xí),在實(shí)踐中增加自己的學(xué)習(xí)樂(lè)趣,讓自己更加充實(shí)。 最后,感謝老師一學(xué)期來(lái)對(duì)我們的辛勤教導(dǎo)。

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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),我們立即給予刪除!