學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫(kù)項(xiàng)目設(shè)計(jì)報(bào)告.doc
《學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫(kù)項(xiàng)目設(shè)計(jì)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫(kù)項(xiàng)目設(shè)計(jì)報(bào)告.doc(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
計(jì)算機(jī)1403 學(xué)生成績(jī)管理系統(tǒng) 項(xiàng)目設(shè)計(jì)報(bào)告 作者:2015/11/23目 錄1 項(xiàng)目背景及需求分析21.1項(xiàng)目背景21.2需求分析22 概念結(jié)構(gòu)設(shè)計(jì)32.1抽象出系統(tǒng)實(shí)體32.2局部E-R圖32.3全局E-R圖63 邏輯結(jié)構(gòu)設(shè)計(jì)64 創(chuàng)建數(shù)據(jù)庫(kù)及相關(guān)操作94.1 創(chuàng)建數(shù)據(jù)庫(kù)94.2建立視圖104.3建立存儲(chǔ)過(guò)程124.4建立觸發(fā)器134.5查詢問(wèn)題及查詢結(jié)果145項(xiàng)目設(shè)計(jì)總結(jié)171 項(xiàng)目背景及需求分析1.1項(xiàng)目背景高校是教學(xué)和科研的重要基地,同時(shí)還是培養(yǎng)人才的重要場(chǎng)所。隨著計(jì)算機(jī)技術(shù)的發(fā)展和互聯(lián)網(wǎng)時(shí)代的到來(lái),學(xué)校的教學(xué)管理受到了極大的挑戰(zhàn)。Internet技術(shù)持續(xù)迅猛的發(fā)展為傳統(tǒng)的教學(xué)管理提出了新的模式。以現(xiàn)在計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的數(shù)字化教學(xué)管理要依靠自身的人才優(yōu)勢(shì),加強(qiáng)對(duì)信息資源的開(kāi)發(fā)和利用,做好學(xué)校信息化的基礎(chǔ)教學(xué)工作,是學(xué)校朝著信息化、網(wǎng)絡(luò)化、現(xiàn)代化的目標(biāo)邁進(jìn)。這種新的管理模式,對(duì)于管理極為寶貴的特性,可以為新型管理模式的建構(gòu)提供理想的基礎(chǔ)。系統(tǒng)由授課教師來(lái)完成成績(jī)錄入,而學(xué)生可以自行查詢成績(jī)。這樣除了減輕教學(xué)管理部門(mén)人員的工作負(fù)擔(dān),還可以減少信息錯(cuò)誤的發(fā)生,同時(shí)為其他部門(mén)甚至全校教職工提供信息服務(wù)。開(kāi)發(fā)的學(xué)生成績(jī)管理系統(tǒng)則是以校園網(wǎng)為基礎(chǔ)的管理系統(tǒng),利用網(wǎng)絡(luò)能快速、及時(shí)、準(zhǔn)確的傳遞信息的作用,使部門(mén)的“信息孤島”過(guò)渡到緊密相關(guān)并在全校范圍內(nèi)都可用的數(shù)據(jù)。通過(guò)網(wǎng)絡(luò)可以使管理部門(mén)能夠更方便的管理學(xué)生的成績(jī)系統(tǒng);也使得教師能夠方便的上傳、校隊(duì)學(xué)生成績(jī);還可以使學(xué)生能夠快速查詢成績(jī)。這樣管理部門(mén)對(duì)信息的管理和控制方式變成雙向的,不但減少管理方面的工作量,而且可以做到信息管理規(guī)范化,從而得到科學(xué)的統(tǒng)計(jì)和快速的查詢。1.2需求分析針對(duì)河北工程大學(xué)的成績(jī)管理工作量大、繁雜,人工處理非常困難。學(xué)生成績(jī)管理系統(tǒng)借助于計(jì)算機(jī)強(qiáng)大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準(zhǔn)確性。學(xué)生成績(jī)管理系統(tǒng)的開(kāi)發(fā)運(yùn)用,實(shí)現(xiàn)了學(xué)生成績(jī)管理的自動(dòng)化,不僅把廣大教師從繁重的成績(jī)管理工作中解脫出來(lái)、把學(xué)校從傳統(tǒng)的成績(jī)管理模式中解放出來(lái),而且對(duì)學(xué)生成績(jī)的判斷和整理更合理、更公正,同時(shí)也給教師提供了一個(gè)準(zhǔn)確、清晰、輕松的成績(jī)管理環(huán)境。2 概念結(jié)構(gòu)設(shè)計(jì)2.1抽象出系統(tǒng)實(shí)體課程(課程編號(hào)、課程教師編號(hào)、課程名稱);成績(jī)(學(xué)號(hào)、課程編號(hào)、分?jǐn)?shù));學(xué)生(班級(jí)、姓名、學(xué)號(hào)、性別、專業(yè));教師(教師號(hào)、姓名、所屬專業(yè)、性別)。2.2局部E-R圖課程號(hào)課程名任課教師號(hào)教師號(hào)教師號(hào)課程教師師姓名系別性別教師號(hào)授課mn班級(jí)姓名學(xué)生師學(xué)號(hào)性別專業(yè)學(xué)號(hào)教師師姓名系別教師號(hào)性別教授教師號(hào)1n成績(jī)師學(xué)號(hào)課程編號(hào)分?jǐn)?shù)課程號(hào)學(xué)號(hào)n1考試學(xué)生師專業(yè)學(xué)號(hào)班級(jí)性別姓名課程師課程號(hào)課程名任課教師號(hào)nm選修課程號(hào)成績(jī)學(xué)號(hào)學(xué)生師專業(yè)學(xué)號(hào)班級(jí)性別姓名2.3全局E-R圖1擁有選修課程名成績(jī)學(xué)號(hào)1n考試課程號(hào)學(xué)號(hào)學(xué)號(hào)課程編號(hào)分?jǐn)?shù)n1講授教師號(hào)課程號(hào)課程編號(hào)任課教師號(hào)課程名稱課程性別系別姓名教師號(hào)教師成績(jī)專業(yè)性別學(xué)號(hào)姓名班級(jí)學(xué)生1n教授教師號(hào)學(xué)號(hào)13 邏輯結(jié)構(gòu)設(shè)計(jì)E-R圖向關(guān)系模型轉(zhuǎn)化要解決的問(wèn)題是如何將實(shí)體型和實(shí)體間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。 設(shè)計(jì)學(xué)生成績(jī)管理數(shù)據(jù)庫(kù),包括課程(course)、學(xué)生(student)、成績(jī)(sc)、教師(teacher)四個(gè)關(guān)系, 其關(guān)系模式中對(duì)每個(gè)實(shí)體定義的屬性如下: course表:(課程號(hào)(cno),教師號(hào)(tno),課程名(cname)) 此為聯(lián)系“course表”所對(duì)應(yīng)的關(guān)系模式。課程號(hào)和教師號(hào)為該關(guān)系的候選碼,滿足第三范式。student表:(學(xué)號(hào)(sno),班級(jí)(sclass),姓名(sname),性別(ssex),專業(yè)(smajor))此為聯(lián)系“student表”所對(duì)應(yīng)的關(guān)系模式。學(xué)號(hào)為該關(guān)系的候選碼,滿足第三范式。 sc表:(學(xué)號(hào)(sno),課程號(hào)(cno),成績(jī)(degree)此為聯(lián)系“sc表”所對(duì)應(yīng)的關(guān)系模式。學(xué)號(hào)和課程號(hào)為該關(guān)系的候選,滿足第三范式。teacher表:(教師姓名(tname)、性別(tsex)、教師號(hào)(tno)、專業(yè)(tmajor)此為聯(lián)系“teacher表”所對(duì)應(yīng)的關(guān)系模式。教師號(hào)為該關(guān)系的候選碼,滿足第三范式。數(shù)據(jù)庫(kù)中包含4個(gè)表,即課程信息(course),學(xué)生信息(student),成績(jī)信息(sc),教師信息(teacher)。course表的表結(jié)構(gòu)列名數(shù)據(jù)類型長(zhǎng)度小數(shù)位數(shù)是否允許NULL值說(shuō)明cnochar5否主碼cnamevarchar20否tnochar3否student表的表結(jié)構(gòu)列名數(shù)據(jù)類型長(zhǎng)度小數(shù)位數(shù)是否允許NULL值說(shuō)明snochar9否主碼snamechar8是ssexchar2是取值:男或女smajorchar20是sclasschar10是sc表的表結(jié)構(gòu)列名數(shù)據(jù)類型長(zhǎng)度小數(shù)位數(shù)是否允許NULL值說(shuō)明snochar10否組合主碼,外碼degreedecimal41是取值1-100cnochar5否組合主碼,外碼teacher表的表結(jié)構(gòu)列名數(shù)據(jù)類型長(zhǎng)度小數(shù)位數(shù)是否允許NULL值說(shuō)明tnochar3否主碼tnamevarchar8是tsexchar2是取值:男或女tdeptchar16是4 創(chuàng)建數(shù)據(jù)庫(kù)及相關(guān)操作4.1 創(chuàng)建數(shù)據(jù)庫(kù)CREATE database test;/*創(chuàng)建test數(shù)據(jù)庫(kù)*/4.1.1 創(chuàng)建表CREATE TABLE course(/創(chuàng)建課程信息表cno char(5) NOT NULL,cname varchar(20) NOT NULL,tno char(3) NOT NULL,CONSTRAINT C1 PRIMARY KEY(cno);CREATE TABLE student(/創(chuàng)建學(xué)生信息表sno char(9) PRIMARY KEY,sname char(8),ssex char(2),smajor char(20),sclass char(10);CREATE TABLE sc(/創(chuàng)建成績(jī)表sno char(10) NOT NULL,degree decimal(4,1) ,cno char(5) NOT NULL,CONSTRAINT A1 PRIMARY KEY(sno,cno),CONSTRAINT A2 CHECK(degree=0 and degree=100);CREATE TABLE teacher(/創(chuàng)建教師表tno char(3) NOT NULL,tname varchar(8),tsex char(2),tdept char(16),CONSTRAINT C1 PRIMARY KEY(tno);4.1.2 添加記錄 course表添加示例:INSERT INTO courseVALUES(C01,科學(xué)導(dǎo)論,101);為了簡(jiǎn)化,其余用Navicat添加student表添加示例:INSERT INTO studentVALUES(140210316,葉何斌,男,計(jì)算機(jī)科學(xué)與技術(shù),計(jì)算機(jī)1403);為了簡(jiǎn)化,其余用Navicat添加。sc表添加示例:INSERT INTO scVALUES(140210316,87,C01);為了簡(jiǎn)化,其余用Navicat添加teacher表添加示例:INSERT INTO teacherVALUES(140210316,葉何斌,男,計(jì)算機(jī)科學(xué)與技術(shù),計(jì)算機(jī)1403);為了簡(jiǎn)化,其余用Navicat添加4.2建立視圖4.2.1定義視圖v_student,查詢所有選修科學(xué)導(dǎo)論的課程的學(xué)生的學(xué)號(hào)(sno),姓名(sname),成績(jī)(degree)。代碼:CREATE VIEW v_studentASSELECT A.sno,sname,degreeFROM student A,course B,sc CWHERE A.sno=C.sno AND B.cno=C.cno AND cname=科學(xué)導(dǎo)論;查詢定義視圖v_student代碼:SELECT *FROM v_student;結(jié)果:4.2.2利用視圖向表sc中插入一條數(shù)據(jù)。view_sc是創(chuàng)建的視圖代碼:CREATE VIEW view_sc/創(chuàng)建ASSELECT sno,degree,cnoFROM sc;INSERT INTO view_sc/執(zhí)行VALUES(140210321,88,C01);SELECT sno,degree,cno/查看結(jié)果FROM sc;結(jié)果:在sc表中已經(jīng)正確插入。DELETE FROM view_sc WHERE sno=140210321;/刪除結(jié)果:已經(jīng)正確刪除。4.2.3修改視圖view_sc的代碼為:ALTER VIEW view_sc AS SELECT sno,degree,cno;刪除視圖view_sc的代碼為:DROP VIEW view_sc;4.3建立存儲(chǔ)過(guò)程4.3.1創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,從student表中檢索出所有班級(jí)為“計(jì)算機(jī)1403”的學(xué)生的學(xué)號(hào),姓名。代碼:DELIMITER /*將MYSQL的結(jié)束符設(shè)置為/*/CREATE PROCEDURE proc_stud()READS SQL DATABEGINSELECT sno,sname,smajor FROM studentWHERE sclass LIKE %計(jì)算機(jī)1403% ORDER BY sno;END /DELIMITER ;/*將結(jié)束符恢復(fù)成分號(hào)*/執(zhí)行存儲(chǔ)過(guò)程:CALL proc_stud;結(jié)果:4.3.2創(chuàng)建一個(gè)num_sc的存儲(chǔ)過(guò)程,統(tǒng)計(jì)一個(gè)同學(xué)的課程成績(jī)個(gè)數(shù)。代碼:DELIMITER /*將MYSQL的結(jié)束符設(shè)置為/*/CREATE PROCEDURE num_sc(IN tmp_sno char(9), OUT count_num INT)READS SQL DATABEGINSELECT COUNT(*) INTO count_num FROM scWHERE sno=tmp_sno;END /DELIMITER ;/*將結(jié)束符恢復(fù)成分號(hào)*/4.4建立觸發(fā)器在數(shù)據(jù)庫(kù)的student表中,定義一個(gè)觸發(fā)器,當(dāng)一個(gè)學(xué)生被刪除時(shí),把該學(xué)生的學(xué)號(hào)和姓名添加到delstudent表中。代碼:CREATE TABLE delstudent SELECT sno,sname FROM student WHERE 1=0;/創(chuàng)建一個(gè)空表用于接受刪除后的數(shù)據(jù)CREATE TRIGGER trig_student/創(chuàng)建student表的觸發(fā)器AFTER DELETE ON student FOR EACH R0WINSERT INTO delstudent(sno,sname) values(old.sno, old.sname);DELETE FROM student WHERE sname=李甜甜;/刪除一個(gè)學(xué)生,驗(yàn)證觸發(fā)器是否觸發(fā)。select * from delstudent;/查看接受刪除數(shù)據(jù)表結(jié)果:觸發(fā)器已經(jīng)觸發(fā)。4.5查詢問(wèn)題及查詢結(jié)果4.5.1查詢所有學(xué)生的學(xué)號(hào)、姓名、性別和專業(yè)代碼:select sno,sname,ssex,smajor from student;結(jié)果:4.5.2計(jì)算“C01”課程的平均成績(jī)。代碼:SELECT AVG(degree) FROM sc WHERE cno=C01;結(jié)果:4.5.3查詢選修課程名為“高等數(shù)學(xué)”的學(xué)生學(xué)號(hào)和姓名。代碼:SELECT A.sno,snameFROM student A INNER JOIN sc B ON A.sno=B.snoINNER JOIN course C ON B.cno=C.cnoWHERE C.cname=高等數(shù)學(xué);結(jié)果:4.5.4查詢“C03”課程不及格的學(xué)生信息代碼:SELECT A.sno,sname,ssex,smajor,sclassFROM student A INNER JOIN sc B ON A.sno=B.snoINNER JOIN course C ON B.cno=C.cnoWHERE C.cno=C03 AND B.degree60;結(jié)果:4.5.5查詢不講授“C01”課程的教師姓名。代碼:SELECT tnameFROM teacherWHERE tno=ANY(SELECT tno FROM course WHERE cno!=C01 );結(jié)果:4.5.6插入學(xué)號(hào)為“140210322”、姓名為“曾淑亮”、性別為“男”的學(xué)生信息。代碼:INSERT INTO student (sno,sname,ssex)VALUES (140210322,曾淑亮,男);結(jié)果:5項(xiàng)目設(shè)計(jì)總結(jié) 這次學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì),我們主要采用的是命令行,然后Navicat圖形界面輔助操作的方式完成設(shè)計(jì)。通過(guò)這次程序設(shè)計(jì),加深了對(duì)課程設(shè)計(jì)的理解。在這次課程設(shè)計(jì)中,我們回顧了很多以前的東西,也發(fā)現(xiàn)了很多的問(wèn)題,以前都沒(méi)遇見(jiàn)過(guò)的,收獲很大。在對(duì)不同的功能代碼是不一定可以完整的執(zhí)行的,不過(guò)大概都是一樣的??粗约鹤龅南到y(tǒng),我們自己就會(huì)又欣慰又難過(guò),欣慰的是終于把它做出來(lái)了,雖然遇到很多困難,難過(guò)的是自己知道還有很多的不足,但是由于知識(shí)的有限,無(wú)法去完善,才知道“書(shū)到用時(shí)方恨少”。 此次成績(jī)管理系統(tǒng)的設(shè)計(jì)讓我們對(duì)Mysql數(shù)據(jù)庫(kù)的了解更加深入,在整個(gè)是設(shè)計(jì)過(guò)程中,通過(guò)對(duì)把各個(gè)管理信息連接起來(lái)的分析,鍛煉了我們對(duì)事情的分析能力,通過(guò)怎樣解決過(guò)程中出現(xiàn)的問(wèn)題,提高了我們查找文獻(xiàn)的能力,對(duì)網(wǎng)絡(luò)資源的利用能力和與其他同學(xué)的交流溝通能力。而且經(jīng)歷這次課程設(shè)計(jì),我們也學(xué)會(huì)了自學(xué)和分工合作。我們覺(jué)得每一次的課程設(shè)計(jì),都是讓我們對(duì)原有知識(shí)從了解表面到深入本質(zhì),從個(gè)體學(xué)習(xí)到整體把握的跳躍,更是讓我們把課本的知識(shí)應(yīng)用到實(shí)際中,讓我們了解了我們的學(xué)習(xí)有什么用,能夠解決什么樣的問(wèn)題,增加我們的自信和學(xué)習(xí)的動(dòng)力。 總之,通過(guò)這次課程設(shè)計(jì),我們獲益匪淺。也感受到了和同學(xué)合作開(kāi)發(fā)的樂(lè)趣,同時(shí)驗(yàn)證了一句話“團(tuán)結(jié)就是力量”。最后感謝老師的悉心教導(dǎo),為我們的程序開(kāi)發(fā)之路打下了扎實(shí)的基礎(chǔ)。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 學(xué)生 成績(jī)管理系統(tǒng) 數(shù)據(jù)庫(kù) 項(xiàng)目 設(shè)計(jì) 報(bào)告
鏈接地址:http://m.appdesigncorp.com/p-6541602.html