畢業(yè)設(shè)計管理系統(tǒng)
畢業(yè)設(shè)計管理系統(tǒng)數(shù)據(jù)庫設(shè)計4.1 數(shù)據(jù)庫概念模型1. 實體屬性分析畢業(yè)設(shè)計管理系統(tǒng)涉及到的實體對象有:班級、學(xué)生、教師(含管理員)、課題、公告(留言)、作業(yè)、成績、學(xué)生提問、教師答疑等。以下是本系統(tǒng)主要實體對象及其屬性。(1)學(xué)生:學(xué)班級代號、班級名稱、學(xué)號、學(xué)生姓名、權(quán)限代碼、密碼、學(xué)生性別、生日、頭像、郵編、通訊地址、手機號碼、家庭電話、辦公室電話、QQ號碼、Email、個人主頁、首次登錄時間、最近上線時間、本次登錄時間、登錄次數(shù)等。(2)教師:教師代號、專業(yè)、賬號、姓名、密碼、權(quán)限級別、性別、生日、頭像、職稱、研究領(lǐng)域、家庭電話、辦公室電話、手機、QQ號碼、MSN號碼、Email號碼、個人主頁、簡介、首次登錄時間、最近上線時間、本次登錄時間、登錄次數(shù)、科研論文等。(3)課題:課題代號、教師代號、班級號、填報人、課題名、課題方向、課題屬性、限選人數(shù)、課題狀態(tài)、基本要求、課題介紹、填報日期。(4)選題:選題號、課題號、學(xué)號、選題時間、進程號、分數(shù)。(5)進程:進程號、進程名、起始日期、截止日期。(6)作業(yè):作業(yè)號、作業(yè)名、學(xué)號、提交日期、作業(yè)描述、教師評語、成績。(7)提問:問題號、學(xué)號、班級號、問題標題、回復(fù)內(nèi)容、回復(fù)數(shù)、瀏覽次數(shù)、時間、是否顯示。(8)解答:回復(fù)號、問題號、教師號、班級號、解答、回復(fù)日期。2. 實體聯(lián)系圖上術(shù)各實體之間相互存在關(guān)聯(lián)關(guān)系,通過各種關(guān)聯(lián)關(guān)系把各個孤立的數(shù)據(jù)聯(lián)系到一起,形成一個統(tǒng)一完整的數(shù)據(jù)。數(shù)據(jù)庫的實現(xiàn)可以依據(jù)這種關(guān)系設(shè)置參照完整性,創(chuàng)建數(shù)據(jù)視圖。完整的E-R圖如圖4-4 所示。圖4-4 完整的數(shù)據(jù)庫E-R圖4.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)數(shù)據(jù)庫設(shè)計工作在軟件開發(fā)中占有重要地位,在本系統(tǒng)主要用到的表有學(xué)生信息表Students,教師信息表Teachers,課題信息表Projects,成績信息表selection,通知表Notices,過程表Process,問題表Questions,師生問答關(guān)聯(lián)信息表Quesolutions,資料下載信息表DownLoads,消息信息表Messages,討論信息表Discuss,學(xué)生登陸信息表StuLog,班級信息表Class,文章信息表Articles等。以下介紹數(shù)據(jù)庫中主要的三張表的邏輯結(jié)構(gòu)。1. 學(xué)生信息表Students學(xué)生信息表Students的結(jié)構(gòu)如表4-4所示。表4-4 學(xué)生信息表Students的結(jié)構(gòu)表 字段描述字段名稱數(shù)據(jù)類型數(shù)據(jù)長度允許空班級代號ClassIDchar101班級名稱ClassNamenvarchar1001學(xué)號StuIDchar100學(xué)生姓名StuNamenvarchar100權(quán)限代碼RoleIDint41密碼Passwordnvarchar201學(xué)生性別StuSexchar21生日BirthDatedatetime81頭像PhotoFilechar501郵編PostCodechar61通訊地址Addressnvarchar1001手機號碼MobilePhonechar111家庭電話RoomPhonechar131辦公室電話OfficePhonechar131QQ號碼QQchar151E_mailEMailnvarchar501個人主頁WebPagenvarchar1001首次登錄時間FirstTimedatetime81最近上線時間LastTimedatetime81本次登錄時間CurTimedatetime81登錄次數(shù)Timesint41說明:上表中允許空一列1表示允許空,0表示不允許為空(下同)。2教師信息表Teachers教師表Teachers表結(jié)構(gòu)如表4-5所示。表4-5 教師表Teachers的結(jié)構(gòu)表字段描述字段名稱數(shù)據(jù)類型數(shù)據(jù)長度允許空教師代號TeaIDchar100專業(yè)Departmentnvarchar1001賬號TeaPYvarchar101姓名TeaNamenvarchar500密碼Passwordvarchar150權(quán)限級別RoleIDint40性別TeaSexchar21生日BirthDatedatetime81頭像Photofilevarchar501職稱Titlenvarchar2501研究領(lǐng)域StudyFieldnvarchar2601聯(lián)系手機MobilePhonevarchar111QQ號碼QQvarchar151E_mail號碼Emailnvarchar501個人主頁Webpagevarchar1001個人簡介Introductionnvarchar20001首次登錄時間FirstTimedatetime81最近上線時間LastTimedatetime81本次登錄時間CurTimedatetime81登錄次數(shù)Timesint413. 課題信息表Projects課程信息表Projects,表結(jié)構(gòu)如表4-5所示。表4-5課程信息表Projects的結(jié)構(gòu)表字段描述字段名稱數(shù)據(jù)類型數(shù)據(jù)長度允許空課題代號ProIDint40教師代號TeaIDchar101班級號ClassIDchar101填報人Providernvarchar101課題名ProNamenvarchar1001課題方向Subjectnvarchar2001課題屬性Attributenvarchar1001限選人數(shù)Limitedint41課題狀態(tài)Statusint41基本要求Requestnvarchar10001課題介紹ProInfonvarchar10001填報日期Prodatedatetime814.3 數(shù)據(jù)庫實現(xiàn)1. 創(chuàng)建數(shù)據(jù)庫SQL Server2005 提供單一管理控制臺,從而簡化了企業(yè)數(shù)據(jù)平臺的部署、管理和優(yōu)化。通過管理控制臺,管理員可以監(jiān)控、管理和優(yōu)化整個企業(yè)的所有數(shù)據(jù)庫和相關(guān)服務(wù)。該控制臺還具有可擴展的管理基礎(chǔ)結(jié)構(gòu),這種基礎(chǔ)結(jié)構(gòu)可以通過 SQL 管理對象進行編程,使用戶能夠自定義和擴展數(shù)據(jù)庫平臺管理功能和構(gòu)建其他自定義工具。通過SQL Server Management Studio可以很方便地建立數(shù)據(jù)庫GPMS(Graduation Papers Management System),在數(shù)據(jù)庫中定義數(shù)據(jù)表,建立表問關(guān)聯(lián)關(guān)系。在數(shù)據(jù)處理過程中,可以在基本表的基礎(chǔ)上建立查詢或視圖。通過SQL Server Management Studio 建立數(shù)據(jù)庫GPMS效果圖如圖4-19 所示。圖4-19 SQL Server Management Studio GPMS2效果圖在實際應(yīng)該中,信息查詢結(jié)果源于多個數(shù)據(jù)表,為了有效地進行信息綜合查詢,需要在數(shù)據(jù)庫中建立視圖,本系統(tǒng)中通過視圖查詢獲取的信息主要有:通知(留言)、課題信息、選題信息、答疑記錄以及各種統(tǒng)計數(shù)據(jù)。比如查詢選題信息時,涉及到班級、學(xué)生、教師、課題、選題、進度等五個表,依據(jù)這個五個數(shù)據(jù)表建立選題視圖,在應(yīng)用程序中就可以通過此視圖進行數(shù)據(jù)操作,從而提高查詢效率。在此視圖中,各表之間的關(guān)聯(lián)關(guān)系如圖4-20 所示。圖4-20 選題信息視圖設(shè)計效果圖其對應(yīng)的SQL查詢語句為:SELECT TOP (100) PERCENT Selection.SeleID, Teachers.TeaID, Teachers.TeaName, Projects.ProID, Projects.Provider, Projects.ProName, Projects.Limited, Projects.Status, Projects.Prodate, Selection.Sdate, Selection.Score, Students.CLassID, Students.ClassName, Students.StuID, Students.StuName, Class.Class, Projects.Subject, Projects.Attribute, Projects.Request, Projects.ProInfo, Process.Process, Process.ProcessIDFROM Teachers INNER JOIN Projects ON Teachers.TeaID = Projects.TeaID INNER JOIN Selection ON Projects.ProID = Selection.ProID INNER JOIN Students ON Selection.StuID = Students.StuID INNER JOIN Class ON Students.CLassID = Class.ClassID INNER JOIN Process ON Selection.ProcessID = Process.ProcessIDORDER BY Teachers.TeaID2數(shù)據(jù)庫關(guān)系圖數(shù)據(jù)庫中的數(shù)據(jù)表是相互關(guān)聯(lián)的,通過關(guān)聯(lián)關(guān)系設(shè)計數(shù)據(jù)的效性規(guī)則,可以對數(shù)據(jù)進行有效管理,GPMS中各表的關(guān)聯(lián)關(guān)系圖如圖4-21所示。圖4-21 GPMS中各表的關(guān)聯(lián)關(guān)系圖參照完整性屬于表間規(guī)則。對于永久關(guān)系的相關(guān)表,在更新、插入或刪除記錄時,如果只改其一不改其二,就會影響數(shù)據(jù)的完整性。例如修改父表中關(guān)鍵字值后,子表關(guān)鍵字值未做相應(yīng)改變;刪除父表的某記錄后,子表的相應(yīng)記錄未刪除,致使這些記錄稱為孤立記錄;對于子表插入的記錄,父表中沒有相應(yīng)關(guān)鍵字值的記錄;等等。對于這些設(shè)計表間數(shù)據(jù)的完整性,統(tǒng)稱為參照完整性。圖4-21中所列出的12張表格相互之間都存在一定的依賴關(guān)系,通過數(shù)據(jù)庫的關(guān)聯(lián)關(guān)系設(shè)置參照完整性,可以確保數(shù)據(jù)同步更新、刪除和插入,保證數(shù)據(jù)的完整性和有效性,便于在今后的運行過程中管理和維護數(shù)據(jù)庫。