教務(wù)系統(tǒng)-數(shù)據(jù)庫-課程設(shè)計(jì)_第1頁
教務(wù)系統(tǒng)-數(shù)據(jù)庫-課程設(shè)計(jì)_第2頁
教務(wù)系統(tǒng)-數(shù)據(jù)庫-課程設(shè)計(jì)_第3頁
教務(wù)系統(tǒng)-數(shù)據(jù)庫-課程設(shè)計(jì)_第4頁
教務(wù)系統(tǒng)-數(shù)據(jù)庫-課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

目錄第一章概述1.1課題研究背景21.2課題研究意義21.3系統(tǒng)內(nèi)容簡介1.4開發(fā)環(huán)境233第二章系統(tǒng)設(shè)計(jì)2.1系統(tǒng)功能分析2.2數(shù)據(jù)庫設(shè)計(jì)32.3數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)2.4標(biāo)示符和狀態(tài)2.5使用約定44552.6概念結(jié)構(gòu)設(shè)計(jì)2.7數(shù)據(jù)庫邏輯5第三章數(shù)據(jù)庫實(shí)施3.1創(chuàng)建表93.2創(chuàng)建必要視圖3.3創(chuàng)建必要觸發(fā)器3.4創(chuàng)建存儲(chǔ)過程使用JAVA連接數(shù)據(jù)庫指導(dǎo)老師檢查1415161717

第一章、概述1、課題的研究背景目前我國各行各業(yè)的信息化建設(shè)開展得如火如荼,這種信息化的發(fā)展已經(jīng)影響到了各學(xué)校。學(xué)校在對學(xué)生進(jìn)行管理時(shí),學(xué)生學(xué)籍的管理一直都是很麻煩的事情,不僅僅管理起來不易修改和更新,而且學(xué)生需要了解本人的信息時(shí),也需要去學(xué)校教務(wù)處找專門人員。由于這些操作的繁瑣性,教務(wù)管理系統(tǒng)的開發(fā)成為各學(xué)校必須的事情,特別是各個(gè)高校。一個(gè)成功的教務(wù)管理系統(tǒng),應(yīng)該能夠有效地輔助教務(wù)人員工作,提高學(xué)校學(xué)生的學(xué)籍、成績等管理能力,并且不斷完善系統(tǒng),以便更好的幫助學(xué)生、教師、系統(tǒng)管理人員等管理成績、課程、學(xué)籍等。然而目前許多教務(wù)管理系統(tǒng)在使用時(shí),效率低下容易出錯(cuò),學(xué)生、教師資料不易整理,大量丟失,這些無疑都已成為管理學(xué)生學(xué)籍、教師信息的障礙。這就要求學(xué)校能夠建立高效的教務(wù)管理系統(tǒng),對學(xué)生的選課、查詢等操作及流程進(jìn)行規(guī)范化管理,簡化業(yè)務(wù)流程,提高工作效率并防止中間的漏洞;迅速、準(zhǔn)確地捕捉用戶要求,并加以高效回應(yīng)。同時(shí)需要不斷完善系統(tǒng),增加模塊,更好的滿足用戶需求,簡化教務(wù)人員的管理工作,盡量做到一切信息化。2、課題的研究意義對于學(xué)校教務(wù)處而言,最主要的是管理學(xué)生的學(xué)籍、管理教師的課程教授。如果使用一般的方法來管理,會(huì)比較繁瑣,管理起來也很有可能出錯(cuò)。為了方便教務(wù)人員的管理工作,提高工作效率,同時(shí)為了更好地為學(xué)生、教師提供服務(wù),有必要開發(fā)教務(wù)管理系統(tǒng),使學(xué)校的教務(wù)管理走上信息化之路,克服人為的種種弊端。教務(wù)管理系統(tǒng)的開發(fā)不僅可以減少人力、物力和財(cái)力資源的浪費(fèi),更重要的

是有助于提高教務(wù)管理的效率。教務(wù)管理人員管理學(xué)生學(xué)籍、管理教師課程教授時(shí)是一項(xiàng)復(fù)雜的組織工作,這種復(fù)雜性不僅僅指學(xué)生學(xué)籍變更快,變更人數(shù)眾多,更突出地表現(xiàn)在教務(wù)管理主要對象(即學(xué)生)的數(shù)據(jù)量大,管理起來帶來不便,所以開發(fā)一個(gè)實(shí)用、高效的教務(wù)管理信息系統(tǒng)是很有必要的3、系統(tǒng)的內(nèi)容簡介教務(wù)管理系統(tǒng)為教務(wù)管理人員管理日常教務(wù)工作提供了方便。學(xué)生可以使用此系統(tǒng)查詢自己已修完課程的成績、查看自己的學(xué)籍信息、選課等;教師可以使用此系統(tǒng)給學(xué)生所選的課程打分、查看自己的信息及課程安排情況等。因此本系統(tǒng)主要實(shí)現(xiàn)學(xué)生功能、教師功能。學(xué)生功能:個(gè)人信息查詢、修改;在線選課;密碼修改;網(wǎng)上評教等。教師功能:教學(xué)實(shí)施計(jì)劃查詢;選課信息查詢、打分;個(gè)人信息查詢、修改;密碼修改等。管理員功能:教師信息修改、刪除;管理員信息修改、刪除(有權(quán)限之分);課程信息添加、修改、刪除;學(xué)生學(xué)籍信息查詢、修改、刪除(有權(quán)限之分)。4、開發(fā)環(huán)境教務(wù)管理系統(tǒng)主要開發(fā)環(huán)境:SQLserver數(shù)據(jù)庫第二章、系統(tǒng)設(shè)計(jì)1、系統(tǒng)功能分析教務(wù)管理系統(tǒng)主要具有以下功能要求:學(xué)生功能:個(gè)人信息查詢、修改;在線選課,密碼修改;網(wǎng)上評教等。教師功能:教學(xué)實(shí)施計(jì)劃查詢;選課信息查詢、打分;個(gè)人信息查詢、修改;密碼修改等。??管理員功能:教師信息修改、刪除;管理員信息修改、刪除(有權(quán)限之分);課程信息添加、修改、刪除;學(xué)生學(xué)籍查詢、修改、刪除(有權(quán)限之分)。?

2、數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是構(gòu)建該系統(tǒng)的關(guān)鍵過程,它直接決定了系統(tǒng)的結(jié)構(gòu)和系統(tǒng)工作的效率。因?yàn)閹缀跛械牟僮鞫际轻槍?shù)據(jù)庫進(jìn)行的,所以在設(shè)計(jì)的過程中要有清晰的思路和架構(gòu)意識(shí)。數(shù)據(jù)庫管理系統(tǒng)(DBMS)允許用戶在計(jì)算機(jī)上創(chuàng)建數(shù)據(jù)庫,并可以執(zhí)行增加,修改,刪除,和檢索數(shù)據(jù)等操作,根據(jù)需求分析我選用了SQLServer。在數(shù)據(jù)庫設(shè)計(jì)過程中,不僅僅要了解用戶當(dāng)前的需求,還要考慮到將來可能需增加的功能,并且系統(tǒng)所涉及的各個(gè)方面都不可被忽視。3、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)圖3.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)圖

4、標(biāo)識(shí)符和狀態(tài)本系統(tǒng)采用MicrosoftSQLServer2005為基本開發(fā)工具,數(shù)據(jù)庫名稱為Test。數(shù)據(jù)庫中一共建立了10個(gè)表,表名分別為Student(學(xué)生表),Teacher(老師表),SetClass(開設(shè)課程表),AllClass(課程表),PJ(網(wǎng)上評教信息表),Class(行政班級(jí)表),SelectClass(選課信息表),Grade(成績信息表),Retest(補(bǔ)考信息表),Repair(重修信息表)。5、使用約定本系統(tǒng)采用MicrosoftServer2003為基本開發(fā)工具,因而程序員或者系統(tǒng)分析員,或者任何想要使用此數(shù)據(jù)庫進(jìn)行操作的人員,需要安裝MicrosoftServer2003,并建立相同的數(shù)據(jù)庫,當(dāng)然可以進(jìn)行聯(lián)機(jī)訪問,這需要安裝相應(yīng)的插件。數(shù)據(jù)庫中所建立的表名如(2.4標(biāo)識(shí)符和狀態(tài)),對于表的各個(gè)屬性,在下面會(huì)有描述。6、概念結(jié)構(gòu)設(shè)計(jì)Update-CourseUpdate-InformationSeach-InformationDelete-CourseTeacherStudentSearch-MessageSeach-CourseSeach-GradeSearch-EnrollSearch-CourseTableUpdate-EnrollAdd-GradeAdd-InformationManagerUpdate-StudentStateCompute-AverageShow-CourseTableAdd-messageUpdate-MessageDelete-Message7、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)圖,數(shù)據(jù)庫中一共建立了10個(gè)表,表名分別為Student(學(xué)生表),Teacher(老師表),SetClass(開設(shè)課程表),AllClass(課程表),PJ(網(wǎng)上評教信息表),Class(行政班級(jí)表),SelectClass(選課信息表),Grade(成績信息表),Retest(補(bǔ)考信息表),Repair(重修信息表)。在設(shè)計(jì)中所用到的關(guān)系表及其結(jié)構(gòu)分別如下所示。1、學(xué)生信息表單(Student),如表3.1所示。表3.1學(xué)生信息表單列值SNO數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵varchar10varchar10datetime否否否否否否否否否否否否否學(xué)號(hào)姓名YSNAbornsex出生年月性別專業(yè)varchar2varchar20varchar20MajorSdept學(xué)院ClassNovarchar10行政班級(jí)號(hào)籍貫OriginNationAdressvarchar10varchar10varchar100民族家庭住址郵政編號(hào)聯(lián)系電話身份證號(hào)PostalCodevarchar10PhoneIDvarchar20Varchar202、教師信息表單(Teacher),如表3.2所示。表3.2教師信息表單列值數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵Tnovarchar10varchar10varchar10否教師工號(hào)YTna否教師姓名DegreeSdeptTitleBorn否否學(xué)歷varcharvarchardatetime2020所屬學(xué)院否職稱否出生年月否籍貫Originvarchar10Nationvarchar10Adressvarchar100否民族否家庭住址否聯(lián)系電話否郵政號(hào)碼Phonevarchar20PostalCodevarchar10varchar20ID否身份證號(hào)3、開設(shè)課程表(SetClass),如表3.3所示。表3.3開設(shè)課程表單列值數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵外鍵Cnovarchar10varchar10否課程號(hào)Y否職工號(hào)YYTnoClassYearvarcharint否開課年度否開課學(xué)期Semestervarchar10CdeptClassCplaceCtimevarchar10varchar10varchar20varchar20否開課學(xué)院否開課班級(jí)否上課地點(diǎn)否上課時(shí)間班級(jí)限制否人數(shù)NumberTnaintvarchar10否任課老師4、課程表(AllClass),如表3.4所示。表3.4課程表單列值Sno數(shù)據(jù)類型varchar數(shù)據(jù)長度可否為空描述主鍵10否課程號(hào)Y否課程名否學(xué)分Snavarchar10intCridetperiodKindint否否學(xué)時(shí)類別varchar205、網(wǎng)上評教信息表(PJ),如表3.5所示。表3.5網(wǎng)上評教信息表單列值數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵外鍵PJCodeTnovarchar10varchar10varchar10否評教編號(hào)Y否職工號(hào)Cno否課程號(hào)YPJDatePJAssementdatetime否評教時(shí)間否評教狀態(tài)varchar26、行政班級(jí)表(Class),如表3.6所示。表3.6行政班級(jí)表單列值數(shù)據(jù)類型varcharvarcharint數(shù)據(jù)長度可否為空描述主鍵YCno1010否否否否否否否班級(jí)號(hào)Cna班級(jí)名NumberAdviser班級(jí)人數(shù)班主任varchar1010Instructorvarchar輔導(dǎo)員MajorSdeptvarchar20varchar20所屬專業(yè)所屬學(xué)院7、選課信息表(SelectClass),如表3.7所示。表3.7選課信息表單列值數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵外鍵SnoCnovarchar10varchar10否學(xué)號(hào)YYY否課程號(hào)Y8、成績信息表(Grade),如表3.8所示。表3.8成績信息表單列值Sno數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵外鍵varchar10varchar10否學(xué)號(hào)YYYCno否課程號(hào)YScoreint否分?jǐn)?shù)否績點(diǎn)PointintGetCrediint否所獲學(xué)分tIsFailedvarchar2IsRepairvarchar2Timesint否掛科情況否重修情況否考試次數(shù)9、補(bǔ)考信息表(Retest),如表3.7所示。表3.7補(bǔ)考信息表單列值數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵外鍵SnoCnovarchar10varchar10否學(xué)號(hào)否課程號(hào)YYYYTestTimedatetimeNewGradeint否考試時(shí)間否補(bǔ)考成績IsRepairvarchar2否重修情況10、重修信息表(Repair),如表3.7所示。表3.7重修信息表單列值數(shù)據(jù)類型數(shù)據(jù)長度可否為空描述主鍵外鍵SnoCnovarchar10varchar10否學(xué)號(hào)YYY否課程號(hào)Y否重修年度ReYearintReSemetervarchar10否重修學(xué)期否重修成績ReGradeint第三章、數(shù)據(jù)庫實(shí)施本章節(jié)主要包含創(chuàng)建表、添加數(shù)據(jù)和創(chuàng)建必要的視圖、觸發(fā)器和存儲(chǔ)過程等內(nèi)容。1、創(chuàng)建表考慮到各個(gè)表之間的約束條件以及外鍵索引等要求,在創(chuàng)建表的時(shí)候應(yīng)當(dāng)按照一定的次序進(jìn)行創(chuàng)建,否則會(huì)出現(xiàn)錯(cuò)誤,還有一種方法是先創(chuàng)建各個(gè)基本表,然后在對特定的表添加列和外碼約束,在本報(bào)告冊中將采取第二種方法。/*Table:ALLCLASS*//*============================================================*/createtableALLCLASS(CNAvarchar(50)null,CNOvarchar(10)notnull,CRIDETintnull,PERIODintnull,KINDvarchar(20)null,constraintPK_ALLCLASSprimarykey(CNO))go/*============================================================*//*Table:TEACHER*//*============================================================*/createtableTEACHER(TNAvarchar(10)null,TNOvarchar(10)notnull,SEXchar(2)null,BRONdatetimenull,DEGREEvarchar(10)null,TITLEvarchar(20)null,SDEPTvarchar(20)null,ORIGINvarchar(10)null,NATIONvarchar(10)null,ADRESSvarchar(100)null,POSTALCODEvarchar(10)null,PHONEvarchar(20)null,IDvarchar(20)null,constraintPK_TEACHERprimarykey(TNO))go

/*============================================================*//*Table:CLASS*//*============================================================*/createtableCLASS(CLASSNAvarchar(10)null,CLASSNOvarchar(10)notnull,NUMBERintnull,ADVISERvarchar(10)null,INSTRUCTORvarchar(10)null,MAJORvarchar(10)null,SDEPTvarchar(20)null,constraintPK_CLASSprimarykey(CLASSNO))go/*============================================================*//*Table:SETCLASS*//*============================================================*/createtableSETCLASS(CNOvarchar(10)notnull,

TNOvarchar(10)null,CLASSYEARintnull,SEMESTERvarchar(10)null,CDEPTvarchar(10)null,CLASSvarchar(10)null,CPLACEvarchar(20)null,CTIMEvarchar(20)null,NUMBERintnull,TNAvarchar(10)null,constraintPK_SETCLASSprimarykey(CNO))go/*============================================================*//*Table:SELECTCLASS*//*============================================================*/createtableSELECTCLASS(SNOvarchar(10)notnull,CNOvarchar(10)notnull,constraintPK_SELECTCLASSprimarykey(SNO,CNO))go

/*============================================================*//*Table:STUDENT*//*============================================================*/createtableSTUDENT(SNOvarchar(10)notnull,SNAvarchar(10)null,BRONdatetimenull,SEXchar(2)null,FACEvarchar(10)null,CLASSNOvarchar(10)null,SDEPTvarchar(20)null,MAJORvarchar(20)null,ORIGINvarchar(10)null,NATIONvarchar(10)null,ADRESSvarchar(100)null,POSTALCODEvarchar(10)null,PHONEvarchar(20)null,IDvarchar(20)null,constraintPK_STUDENTprimarykey(SNO))go

/*============================================================*//*Table:GRADE*//*============================================================*/createtableGRADE(SNOvarchar(10)notnull,CNOvarchar(10)notnull,SCOREfloatnull,POINTfloatnull,GETCREDITintnull,ISFAILEDvarchar(2)null,ISREPAIRvarchar(2)null,TIMESintnull,constraintPK_GRADEprimarykey(SNO,CNO))go/*============================================================*//*Table:RETEST*//*============================================================*/createtableRETEST(

CNOvarchar(10)notnull,SNOvarchar(10)notnull,TESTTIMEdatetimenull,NEWGRADEintnull,ISREPAIRvarchar(2)null,constraintPK_RETESTprimarykey(CNO,SNO))go/*============================================================*//*Table:REPAIR*//*============================================================*/createtableREPAIR(SNOvarchar(10)notnull,CNOvarchar(10)notnull,REYEARintnull,RESEMESTERvarchar(10)null,REGRADEintnull,constraintPK_REPAIRprimarykey(SNO,CNO))go

/*============================================================*//*Table:PJ*//*============================================================*/createtablePJ(PJCODEvarchar(10)notnull,TNOvarchar(10)null,CNOvarchar(10)null,PJDATEdatetimenull,PJASSESMENTchar(2)null,constraintPK_PJprimarykey(PJCODE))goaltertableSETCLASSaddconstraintFK_SETCLASS_REF_215_TEACHERforeignkey(TNO)referencesTEACHER(TNO)goaltertableSETCLASSaddconstraintFK_SETCLASS_REF_221_ALLCLASSforeignkey(CNO)referencesALLCLASS(CNO)go

altertableSELECTCLASSaddconstraintFK_SELECTCL_REF_209_STUDENTforeignkey(SNO)referencesSTUDENT(SNO)goaltertableSELECTCLASSaddconstraintFK_SELECTCL_REF_212_SETCLASSforeignkey(CNO)referencesSETCLASS(CNO)goaltertableSTUDENTaddconstraintFK_STUDENT_REF_232_CLASSforeignkey(CLASSNO)referencesCLASS(CLASSNO)goaltertableGRADEaddconstraintFK_GRADE_REF_516_SELECTCLforeignkey(SNO,CNO)referencesSELECTCLASS(SNO,CNO)goaltertableRETESTaddconstraintFK_RETEST_REF_526_SELECTCLforeignkey(SNO,CNO)referencesSELECTCLASS(SNO,CNO)go

altertableREPAIRaddconstraintFK_REPAIR_REF_521_SELECTCLforeignkey(SNO,CNO)referencesSELECTCLASS(SNO,CNO)goaltertablePJaddconstraintFK_PJ_REF_410_SETCLASSforeignkey(CNO)referencesSETCLASS(CNO)go2、創(chuàng)建必要視圖/*==========================視圖===============================*//*============================================================*//*view:S_C_C可選課程視圖*//*============================================================*/createviewS_C_CASselectSETCLASS.CNO,CNA,CLASSYEAR,TNAFROMSETCLASS,ALLCLASSWHERESETCLASS.CNO=ALLCLASS.CNOSELECT*FROMS_C_C/*============================================================*//*view:STU學(xué)生信息視圖*//*============================================================*/createviewSTUASselect*FROMSTUDENT;SELECT*FROMSTU/*============================================================*//*view:S_GRADE學(xué)生選課成績視圖*//*============================================================*/createviewS_GRADEASselectSTUDENT.SNO,CNA,SCOREFROMSTUDENT,GRADE,ALLCLASSwhereSTUDENT.SNO=GRADE.SNOANDGRADE.CNO=ALLCLASS.CNOSELECT*FROMS_GRADE3、創(chuàng)建必要觸發(fā)器/*============================================================*//*trigger:addstudent學(xué)生信息中的專業(yè)號(hào)不對或者系統(tǒng)中已存在所對應(yīng)學(xué)號(hào)的學(xué)生時(shí),

提示錯(cuò)誤并回滾*//*============================================================*/CREATETRIGGERaddstudentONSTUDENTFORINSERT,UPDATEASIF(SELECTCOUNT(*)FROMCLASS,insertedWHERECLASS.CLASSNO=inserted.CLASSNO)=0BEGINPRINT'未找到該學(xué)生的班級(jí)信息,請?zhí)砑酉鄳?yīng)專業(yè)后重試!'ROLLBACKENDELSEIF(SELECTCOUNT(*)FROMSTUDENT,insertedWHERESTUDENT.SNO=inserted.SNO)>0BEGINPRINT'學(xué)號(hào)產(chǎn)生沖突,請核對后重試!'ROLLBACKEND/*============================================================*//*trigger:takecourse課程選課人數(shù)超過個(gè)或者對應(yīng)學(xué)生選課門數(shù)超過門或者當(dāng)前時(shí)間不是選課時(shí)間段時(shí),提示錯(cuò)誤并回滾*/

/*============================================================*/CREATETRIGGERtakecourseONSELECTCLASSFORINSERT,UPDATEASIF(SELECTCOUNT(*)FROMSELECTCLASS,insertedWHERESELECTCLASS.SNO=inserted.SNO)>40BEGINPRINT'所對應(yīng)課程選課人數(shù)不能超過個(gè)!'ROLLBACKENDELSEIF(SELECTCOUNT(*)FROMSTUDENT,insertedWHERESTUDENT.SNO=inserted.SNO)>5BEGINPRINT'對應(yīng)學(xué)生的選課不能超過門!'ROLLBACKEND4、創(chuàng)建存儲(chǔ)過程/*============================================================*//*proc:GetCourse查詢所有學(xué)生的選課記錄*//*==============================================

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論