武昌 趙慧
摘要:為了提高成績(jī)管理效率,結(jié)合所學(xué)課程數(shù)據(jù)庫(kù)原理,本文介紹了基于SQL Server2008的學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn),系統(tǒng)能夠根據(jù)本校的實(shí)際情況將學(xué)生成績(jī)進(jìn)行有效的管理,提高管理效率。
關(guān)鍵詞:SQL Server2008;學(xué)生成績(jī)管理;數(shù)據(jù)庫(kù)
1 引言
隨著科技的發(fā)展,基本上所有的具有一定數(shù)量數(shù)據(jù)的機(jī)構(gòu)都開始使用計(jì)算機(jī)數(shù)據(jù)庫(kù)來(lái)做管理。幾乎所有學(xué)校也都已經(jīng)在使用計(jì)算機(jī)管理數(shù)據(jù)的機(jī)制,大大減少了學(xué)校學(xué)生成績(jī)管理的工作量。系統(tǒng)的設(shè)計(jì)目標(biāo)是解決學(xué)生成績(jī)管理中的巨大工作量,實(shí)現(xiàn)數(shù)據(jù)共享、格式不統(tǒng)一、數(shù)據(jù)利用效率不高等實(shí)際運(yùn)用的問(wèn)題。設(shè)計(jì)與實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)是為了提高成績(jī)管理的效率,改變傳統(tǒng)的學(xué)生成績(jī)管理模式,使學(xué)校管理更科學(xué)化和合理化,促進(jìn)學(xué)生管理向無(wú)紙化發(fā)展,為學(xué)生及老師查詢成績(jī)提高效率。本論文結(jié)合數(shù)據(jù)庫(kù)原理課程,設(shè)計(jì)一個(gè)學(xué)生成績(jī)的數(shù)據(jù)庫(kù)管理系統(tǒng),數(shù)據(jù)庫(kù)中要求包含學(xué)生的基本信息,學(xué)科基本信息,以及學(xué)生所學(xué)課程的考試成績(jī)。要方便學(xué)生進(jìn)行成績(jī)查詢,通過(guò)該設(shè)計(jì),能夠把課堂所學(xué)到的數(shù)據(jù)庫(kù)理論知識(shí)更加的鞏固加深,加強(qiáng)動(dòng)手能力與實(shí)踐能力,學(xué)以致用,與現(xiàn)實(shí)生活中的應(yīng)用充分的結(jié)合起來(lái)。
2 需求分析
2.1 系統(tǒng)功能要求設(shè)計(jì)
此系統(tǒng)實(shí)現(xiàn)如下系統(tǒng)功能:
(1)使得學(xué)生的成績(jī)管理工作更加清晰、條理化、自動(dòng)化。
(2)通過(guò)用戶名和密碼登錄系統(tǒng),查詢課程基本資料,學(xué)生所選課程成績(jī),修改用戶密碼等功能。容易地完成學(xué)生信息的查詢操作。
(3)設(shè)計(jì)人機(jī)友好界面,功能安排合理,操作使用方便,并且進(jìn)一步考慮系統(tǒng)在安全性,完整性,并發(fā)控制,備份和恢復(fù)等方面的功能要求。
2.2 系統(tǒng)模塊設(shè)計(jì)
成績(jī)管理系統(tǒng)大體可以分成二大模塊,一是學(xué)生的基本信息模塊,里面應(yīng)該包含學(xué)生的各方面的基本信息;再者便是課程管理模塊,在該模塊中應(yīng)該包含有對(duì)學(xué)生成績(jī)信息的查詢和處理,如平均成績(jī)、最好成績(jī)、最差成績(jī)以及不及格學(xué)生的統(tǒng)計(jì)等功能模塊;再其次還有教師、課程等相關(guān)信息的模塊。
本系統(tǒng)可以實(shí)現(xiàn)每位操作者可以根據(jù)自己不同的需求來(lái)進(jìn)行一些基本的操作,提供給操作者需求的信息。滿足操作者基本權(quán)限。例:學(xué)生需滿足其成績(jī)查詢功能,對(duì)于系統(tǒng)管理者來(lái)說(shuō)則需給定其關(guān)于學(xué)生、教師、學(xué)科、成績(jī)管理等權(quán)限保證教師能夠及時(shí)上傳學(xué)生成績(jī),提供給學(xué)生及時(shí)有效、準(zhǔn)確的成績(jī)。學(xué)生成績(jī)管理系統(tǒng)功能結(jié)構(gòu)如圖1所示
3 數(shù)據(jù)庫(kù)設(shè)計(jì)
3.1概念結(jié)構(gòu)設(shè)計(jì)
在需求分析階段所得到的應(yīng)用需求應(yīng)該首先抽象為信息世界的結(jié)構(gòu),才能更好地、更準(zhǔn)確地用某一DBMS實(shí)現(xiàn)這些需求。
概念結(jié)構(gòu)主要特點(diǎn):能真實(shí)、充分地反映顯示世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求,是對(duì)現(xiàn)實(shí)世界的一個(gè)只是模型;易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見(jiàn),用戶的積極參與是數(shù)據(jù)庫(kù)設(shè)計(jì)成功的關(guān)鍵。易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和擴(kuò)充;易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換;概念結(jié)構(gòu)時(shí)各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于機(jī)器、更抽象,從而更加穩(wěn)定。由上述分析可得到系統(tǒng)的E-R圖,然后在邏輯結(jié)構(gòu)設(shè)計(jì)階段再進(jìn)行轉(zhuǎn)換。
3.2 邏輯和物理結(jié)構(gòu)設(shè)計(jì)
概念結(jié)構(gòu)設(shè)計(jì)所得的E-R模型是對(duì)用戶需求的一種抽象的表達(dá)形式,它獨(dú)立于任何一種具體的數(shù)據(jù)模型,因而也不能為任何一個(gè)具體的DBMS所支持。關(guān)系模型是由一組關(guān)系(二維表)的結(jié)合,而E-R模型則是由實(shí)體、實(shí)體的屬性、實(shí)體間的關(guān)系三個(gè)要素組成。所以要將E-R模型轉(zhuǎn)換為關(guān)系模型,就是將實(shí)體、屬性和聯(lián)系都要轉(zhuǎn)換為相應(yīng)的關(guān)系模型。轉(zhuǎn)換后,我們可以對(duì)物理結(jié)構(gòu)進(jìn)行設(shè)計(jì)。選擇合適的存儲(chǔ)位置,建立正確的主存儲(chǔ)文件和日志文件。
初始關(guān)系模式:Student(Sno,Sname,Ssex,Ssage,Sdept)其中各項(xiàng)含義分別為:學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系);Course(Cno,Cname,Cpno,Credit)其中各項(xiàng)含義分別為:課程(課程代碼,課程名稱,先修課程,學(xué)分)SC(Sno,Cno,Grade)其中各項(xiàng)含義分別為:選修(學(xué)號(hào),課程代碼,成績(jī))。
經(jīng)過(guò)對(duì)初始關(guān)系模式的規(guī)范化處理以下關(guān)系模式中不存在部分函數(shù)依賴和傳遞函數(shù)依賴,已經(jīng)達(dá)到3NF。
4數(shù)據(jù)庫(kù)實(shí)現(xiàn)
數(shù)據(jù)庫(kù)實(shí)施是指建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。首先創(chuàng)建數(shù)據(jù)庫(kù),打開SQL工具“SQL Server Management Studio”;在查詢窗口中鍵入下列SQL語(yǔ)句createdatabase學(xué)生成績(jī)管理系統(tǒng)。執(zhí)行上述SQL語(yǔ)句即可新建一名為學(xué)生成績(jī)管理系統(tǒng)的數(shù)據(jù)庫(kù)。
學(xué)生成績(jī)管理系統(tǒng)中需要?jiǎng)?chuàng)建四個(gè)表,即學(xué)科信息表、學(xué)生信息表、教師信息表和成績(jī)表。創(chuàng)建數(shù)據(jù)庫(kù)后,為學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫(kù)添加數(shù)據(jù)表,步驟如下。新建查詢窗口,在查詢窗口中鍵入下列SQL語(yǔ)句:
create table Student (
學(xué)號(hào) varchar(11) not null,
系別 varchar(5) not null,
姓名 varchar(6) not null,
性別 varchar(2) not null,
年齡 char(2) not null,
地址 varchar(20) not null,
Constraint PK_STUDENT primary key (學(xué)號(hào))
)
執(zhí)行上述SQL語(yǔ)句即可創(chuàng)建學(xué)生信息表。以此類推可以創(chuàng)建其余表。創(chuàng)建表完成后應(yīng)該就可以輸入相關(guān)數(shù)據(jù)。然后進(jìn)行相關(guān)的查詢、創(chuàng)建視圖、授予權(quán)限等。當(dāng)試運(yùn)行數(shù)據(jù)庫(kù)合格后,數(shù)據(jù)庫(kù)開發(fā)設(shè)計(jì)的工作就基本完成了,接下來(lái)就是正式運(yùn)行中的調(diào)試,應(yīng)為該系統(tǒng)比較簡(jiǎn)單,數(shù)據(jù)量小,數(shù)據(jù)庫(kù)中幾乎不會(huì)發(fā)生什么大的變化,但是還是需要做好數(shù)據(jù)的備份,在sqlserver中我們可以利用備份數(shù)據(jù)庫(kù)的功能對(duì)已經(jīng)設(shè)計(jì)好的數(shù)據(jù)做備份,如果數(shù)據(jù)庫(kù)受到破壞或系統(tǒng)故障,我們便可輕松的利用備份文件恢復(fù)數(shù)據(jù)庫(kù)的數(shù)據(jù)。當(dāng)然也可以利用其他各種方法進(jìn)行數(shù)據(jù)維護(hù)。
5結(jié)束語(yǔ)
針對(duì)高校教學(xué)中面臨的學(xué)生成績(jī)管理復(fù)雜繁重的問(wèn)題,分析和設(shè)計(jì)了學(xué)生成績(jī)管理系統(tǒng),并創(chuàng)建了對(duì)應(yīng)SQL Server表結(jié)構(gòu)存儲(chǔ)相關(guān)的信息,提高了學(xué)生成績(jī)管理的效率,使后續(xù)優(yōu)秀學(xué)生的評(píng)比更加簡(jiǎn)單方便。通過(guò)課程設(shè)計(jì),進(jìn)一步深入理解數(shù)據(jù)庫(kù)設(shè)計(jì)的整個(gè)過(guò)程,該學(xué)生選課系統(tǒng)的需求分析、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)有關(guān)內(nèi)容等。掌握使用前臺(tái)程序設(shè)計(jì)技術(shù)VC和SQL Server結(jié)合,綜合練習(xí)了SQL Server的使用和數(shù)據(jù)庫(kù)得管理技術(shù),綜合熟悉并練習(xí)了SQL語(yǔ)言在編程中的使用。綜合訓(xùn)練編程能力。
作者簡(jiǎn)介:武昌,女,山東協(xié)和學(xué)院軟件工程專業(yè)在讀本科生。趙慧(1986-),女,指導(dǎo)教師,通訊作者,碩士,副教授, 研究方向?yàn)榻逃夹g(shù)、大數(shù)據(jù)。