歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

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

  • 資源ID:70655722       資源大?。?span id="5t5bddp" class="font-tahoma">66KB        全文頁(yè)數(shù):10頁(yè)
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

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

學(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ù)等方面的功能要求.1.2 數(shù)據(jù)需求Student表: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)不允許為空Tsexchar(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模型如下: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)換而來(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)的SQL語(yǔ)句如下:4。2。1創(chuàng)建數(shù)據(jù)庫(kù): 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( sno 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) 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ǔ)過(guò)程 (1) 創(chuàng)建一個(gè)存儲(chǔ)過(guò)程.用來(lái)顯示成績(jī)表中的課程號(hào)在課程表中并且所任教師性別為男、所在部門(mén)是計(jì)算機(jī)系的成績(jī)表中的列create proc 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ǔ)過(guò)程Execstudent_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_namesname varchar(10)as select 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_emailsname varchar(10)asbeginif (select semail from student where sname=sname) is nullbeginprint'the semail is empty'endelseselect sname,semail,sno,class from student where sname=snameend調(diào)用此存儲(chǔ)過(guò)程exec student_email 'super當(dāng)給出姓名的那個(gè)學(xué)生沒(méi)有郵箱地址時(shí),則會(huì)顯示如下內(nèi)容。 exec student_email dfdf4.2。2觸發(fā)器(1) 創(chuàng)建一個(gè)觸發(fā)器。來(lái)檢查學(xué)生的郵箱地址是否相同,如果相同,輸出'inserting fail,并且回滾事務(wù);如果不相同,則插入成功。create 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',一般' )(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 studentcount(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 studentclass(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,'離開(kāi)','男,'1984-0101',11')insert into student values(104,流浪',女,198411-11',11)insert into student values('105',生命',男,'1984-1205,'13')insert into student values(106,無(wú)悔,'女',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)insert 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 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è)英語(yǔ)','13')insert into course values(04,軟件工程','14')查看記錄 Select * from course(4)向課程表中添加數(shù)據(jù)insert into teacher values('11,'無(wú)意',計(jì)算機(jī)系,'男',19734-5,'教授') insert into teacher values(12',生活,計(jì)算機(jī)系,女,'1975121,副教授) insert into teacher values('13',沒(méi)有,'管理系,女',1975-33','副教授') insert into teacher values(14',離開(kāi)',英語(yǔ)系','男,197355','教授')查看記錄 Select * from teacher4.3.2查詢(1) 查詢成績(jī)大于學(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 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開(kāi)頭的課程的平均分select avg(degree) as "平均分”,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 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,cname,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ī)表中每門(mén)課程的create view averageas 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é)與感想。通過(guò)這次的課程設(shè)計(jì),使我了解了更多數(shù)據(jù)庫(kù)系統(tǒng)概念這門(mén)課程,對(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)容、處理一些怎樣的信息等.最主要的是畫(huà)出他們的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)。

注意事項(xiàng)

本文(學(xué)生成績(jī)管理系統(tǒng) 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告)為本站會(huì)員(l**)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(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),我們立即給予刪除!