《畢業(yè)設(shè)計(jì)管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)管理系統(tǒng)(6頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、畢業(yè)設(shè)計(jì)管理系統(tǒng)
——數(shù)據(jù)庫設(shè)計(jì)
4.1 數(shù)據(jù)庫概念模型
1. 實(shí)體屬性分析
畢業(yè)設(shè)計(jì)管理系統(tǒng)涉及到的實(shí)體對象有:班級、學(xué)生、教師(含管理員)、課題、公告(留言)、作業(yè)、成績、學(xué)生提問、教師答疑等。以下是本系統(tǒng)主要實(shí)體對象及其屬性。
(1)學(xué)生:學(xué)班級代號、班級名稱、學(xué)號、學(xué)生姓名、權(quán)限代碼、密碼、學(xué)生性別、生日、頭像、郵編、通訊地址、手機(jī)號碼、家庭電話、辦公室電話、QQ號碼、Email、個(gè)人主頁、首次登錄時(shí)間、最近上線時(shí)間、本次登錄時(shí)間、登錄次數(shù)等。
(2)教師:教師代號、專業(yè)、賬號、姓名、密碼、權(quán)限級別、性別、生日、頭像、職稱、研究領(lǐng)域、家庭電話、辦公室電話、手機(jī)、QQ號碼、M
2、SN號碼、Email號碼、個(gè)人主頁、簡介、首次登錄時(shí)間、最近上線時(shí)間、本次登錄時(shí)間、登錄次數(shù)、科研論文等。
(3)課題:課題代號、教師代號、班級號、填報(bào)人、課題名、課題方向、課題屬性、限選人數(shù)、課題狀態(tài)、基本要求、課題介紹、填報(bào)日期。
(4)選題:選題號、課題號、學(xué)號、選題時(shí)間、進(jìn)程號、分?jǐn)?shù)。
(5)進(jìn)程:進(jìn)程號、進(jìn)程名、起始日期、截止日期。
(6)作業(yè):作業(yè)號、作業(yè)名、學(xué)號、提交日期、作業(yè)描述、教師評語、成績。
(7)提問:問題號、學(xué)號、班級號、問題標(biāo)題、回復(fù)內(nèi)容、回復(fù)數(shù)、瀏覽次數(shù)、時(shí)間、是否顯示。
(8)解答:回復(fù)號、問題號、教師號、班級號、解答、回復(fù)日期。
2. 實(shí)體聯(lián)系圖
3、
上術(shù)各實(shí)體之間相互存在關(guān)聯(lián)關(guān)系,通過各種關(guān)聯(lián)關(guān)系把各個(gè)孤立的數(shù)據(jù)聯(lián)系到一起,形成一個(gè)統(tǒng)一完整的數(shù)據(jù)。數(shù)據(jù)庫的實(shí)現(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è)計(jì)工作在軟件開發(fā)中占有重要地位,在本系統(tǒng)主要用到的表有學(xué)生信息表Students,教師信息表Teachers,課題信息表Projects,成績信息表selection,通知表Notices,過程表Process,問題表Questions,師生問答關(guān)聯(lián)信息表Quesolutions,資料下載信息表DownLoads,消息信息表Me
4、ssages,討論信息表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ù)長度
允許空
班級代號
ClassID
char
10
1
班級名稱
ClassName
nvarchar
100
1
學(xué)號
StuID
char
10
0
學(xué)生姓名
StuName
nvarchar
10
0
權(quán)
5、限代碼
RoleID
int
4
1
密碼
Password
nvarchar
20
1
學(xué)生性別
StuSex
char
2
1
生日
BirthDate
datetime
8
1
頭像
PhotoFile
char
50
1
郵編
PostCode
char
6
1
通訊地址
Address
nvarchar
100
1
手機(jī)號碼
MobilePhone
char
11
1
家庭電話
RoomPhone
char
13
1
辦公室電話
OfficePhone
char
13
1
QQ號碼
6、QQ
char
15
1
E_mail
EMail
nvarchar
50
1
個(gè)人主頁
WebPage
nvarchar
100
1
首次登錄時(shí)間
FirstTime
datetime
8
1
最近上線時(shí)間
LastTime
datetime
8
1
本次登錄時(shí)間
CurTime
datetime
8
1
登錄次數(shù)
Times
int
4
1
說明:上表中允許空一列1表示允許空,0表示不允許為空(下同)。
2.教師信息表Teachers
教師表Teachers表結(jié)構(gòu)如表4-5所示。
表4-5 教師表Teachers的結(jié)
7、構(gòu)表
字段描述
字段名稱
數(shù)據(jù)類型
數(shù)據(jù)長度
允許空
教師代號
TeaID
char
10
0
專業(yè)
Department
nvarchar
100
1
賬號
TeaPY
varchar
10
1
姓名
TeaName
nvarchar
50
0
密碼
Password
varchar
15
0
權(quán)限級別
RoleID
int
4
0
性別
TeaSex
char
2
1
生日
BirthDate
datetime
8
1
頭像
Photofile
varchar
50
1
職稱
Title
8、
nvarchar
250
1
研究領(lǐng)域
StudyField
nvarchar
260
1
聯(lián)系手機(jī)
MobilePhone
varchar
11
1
QQ號碼
QQ
varchar
15
1
E_mail號碼
Email
nvarchar
50
1
個(gè)人主頁
Webpage
varchar
100
1
個(gè)人簡介
Introduction
nvarchar
2000
1
首次登錄時(shí)間
FirstTime
datetime
8
1
最近上線時(shí)間
LastTime
datetime
8
1
本次登錄時(shí)間
C
9、urTime
datetime
8
1
登錄次數(shù)
Times
int
4
1
3. 課題信息表Projects
課程信息表Projects,表結(jié)構(gòu)如表4-5所示。
表4-5課程信息表Projects的結(jié)構(gòu)表
字段描述
字段名稱
數(shù)據(jù)類型
數(shù)據(jù)長度
允許空
課題代號
ProID
int
4
0
教師代號
TeaID
char
10
1
班級號
ClassID
char
10
1
填報(bào)人
Provider
nvarchar
10
1
課題名
ProName
nvarchar
100
1
課題方向
Subjec
10、t
nvarchar
200
1
課題屬性
Attribute
nvarchar
100
1
限選人數(shù)
Limited
int
4
1
課題狀態(tài)
Status
int
4
1
基本要求
Request
nvarchar
1000
1
課題介紹
ProInfo
nvarchar
1000
1
填報(bào)日期
Prodate
datetime
8
1
4.3 數(shù)據(jù)庫實(shí)現(xiàn)
1. 創(chuàng)建數(shù)據(jù)庫
SQL Server2005 提供單一管理控制臺,從而簡化了企業(yè)數(shù)據(jù)平臺的部署、管理和優(yōu)化。通過管理控制臺,管理員可以監(jiān)控、管
11、理和優(yōu)化整個(gè)企業(yè)的所有數(shù)據(jù)庫和相關(guān)服務(wù)。該控制臺還具有可擴(kuò)展的管理基礎(chǔ)結(jié)構(gòu),這種基礎(chǔ)結(jié)構(gòu)可以通過 SQL 管理對象進(jìn)行編程,使用戶能夠自定義和擴(kuò)展數(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
12、Management Studio –GPMS2效果圖
在實(shí)際應(yīng)該中,信息查詢結(jié)果源于多個(gè)數(shù)據(jù)表,為了有效地進(jìn)行信息綜合查詢,需要在數(shù)據(jù)庫中建立視圖,本系統(tǒng)中通過視圖查詢獲取的信息主要有:通知(留言)、課題信息、選題信息、答疑記錄以及各種統(tǒng)計(jì)數(shù)據(jù)。比如查詢選題信息時(shí),涉及到班級、學(xué)生、教師、課題、選題、進(jìn)度等五個(gè)表,依據(jù)這個(gè)五個(gè)數(shù)據(jù)表建立選題視圖,在應(yīng)用程序中就可以通過此視圖進(jìn)行數(shù)據(jù)操作,從而提高查詢效率。在此視圖中,各表之間的關(guān)聯(lián)關(guān)系如圖4-20 所示。
圖4-20 選題信息視圖設(shè)計(jì)效果圖
其對應(yīng)的SQL查詢語句為:
SELECT TOP (100) PERCENT Sele
13、ction.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.
14、Attribute, Projects.Request, Projects.ProInfo, Process.Process, Process.ProcessID
FROM Teachers INNER JOIN
Projects ON Teachers.TeaID = Projects.TeaID INNER JOIN
Selection ON Projects.ProID = Selection.ProID INNER JOIN
Students
15、ON Selection.StuID = Students.StuID INNER JOIN
Class ON Students.CLassID = Class.ClassID INNER JOIN
Process ON Selection.ProcessID = Process.ProcessID
ORDER BY Teachers.TeaID
2.?dāng)?shù)據(jù)庫關(guān)系圖
數(shù)據(jù)庫中的數(shù)據(jù)表是相互關(guān)聯(lián)的,通過關(guān)聯(lián)關(guān)系設(shè)計(jì)數(shù)據(jù)的效性規(guī)則,可以對數(shù)據(jù)進(jìn)行有效管理,GPMS中各表的關(guān)聯(lián)關(guān)系圖如圖4-21所示。
16、
圖4-21 GPMS中各表的關(guān)聯(lián)關(guān)系圖
參照完整性屬于表間規(guī)則。對于永久關(guān)系的相關(guān)表,在更新、插入或刪除記錄時(shí),如果只改其一不改其二,就會(huì)影響數(shù)據(jù)的完整性。例如修改父表中關(guān)鍵字值后,子表關(guān)鍵字值未做相應(yīng)改變;刪除父表的某記錄后,子表的相應(yīng)記錄未刪除,致使這些記錄稱為孤立記錄;對于子表插入的記錄,父表中沒有相應(yīng)關(guān)鍵字值的記錄;等等。對于這些設(shè)計(jì)表間數(shù)據(jù)的完整性,統(tǒng)稱為參照完整性。
圖4-21中所列出的12張表格相互之間都存在一定的依賴關(guān)系,通過數(shù)據(jù)庫的關(guān)聯(lián)關(guān)系設(shè)置參照完整性,可以確保數(shù)據(jù)同步更新、刪除和插入,保證數(shù)據(jù)的完整性和有效性,便于在今后的運(yùn)行過程中管理和維護(hù)數(shù)據(jù)庫。