摘要:數(shù)據(jù)庫(kù)是學(xué)生信息管理系統(tǒng)中至關(guān)重要的一部分,起到存儲(chǔ)信息、管理信息的作用。MYSQL是現(xiàn)在最流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它不但體積小、速度快,總體擁有成本低,而且容易使用。
關(guān)鍵詞:MYSQL;數(shù)據(jù)庫(kù);學(xué)生信息管理系統(tǒng)
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007—9599 (2012) 14—0000—02
一、引言
構(gòu)建學(xué)生信息管理系統(tǒng),需要從多個(gè)角度進(jìn)行考慮。不但要編寫(xiě)面向?qū)ο蟮某绦?,還要對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。
該系統(tǒng)的核心功能是對(duì)學(xué)生的相關(guān)數(shù)據(jù)進(jìn)行讀取和處理,而作為對(duì)學(xué)生信息進(jìn)行收集、組織、加工、處理的數(shù)據(jù)庫(kù),對(duì)本系統(tǒng)來(lái)說(shuō)起到至關(guān)重要的作用。一個(gè)布局合理的數(shù)據(jù)庫(kù),可以減少系統(tǒng)開(kāi)發(fā)的時(shí)間,增強(qiáng)系統(tǒng)的性能,提升數(shù)據(jù)存儲(chǔ)的利用率,增強(qiáng)系統(tǒng)的可擴(kuò)充性。因此,數(shù)據(jù)庫(kù)的設(shè)計(jì)是否適合,與系統(tǒng)的優(yōu)劣有直接的聯(lián)系[1]。
本系統(tǒng)采用Java語(yǔ)言進(jìn)行程序設(shè)計(jì),Java語(yǔ)言提供了通用的應(yīng)用程序編程接口。Java語(yǔ)言通過(guò)該接口,可以很方便的和數(shù)據(jù)庫(kù)取得連接,并進(jìn)行各種操作。像Oracle、SQL Server、MYSQL這些數(shù)據(jù)庫(kù)除了在和Java的連接語(yǔ)句上略有不同外,其他方面基本上都是相同的。
二、數(shù)據(jù)庫(kù)介紹及選擇
數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),是用來(lái)存儲(chǔ)一些結(jié)構(gòu)化的、無(wú)危害的或不必要的冗余的數(shù)據(jù)的集合,并為之提供各種應(yīng)用及服務(wù)。它產(chǎn)生的歷史可以追溯到50年前,隨著IT和市場(chǎng)的發(fā)展,特別是在20世紀(jì)90年代,數(shù)據(jù)庫(kù)管理不僅體現(xiàn)在各種用戶管理所需的數(shù)據(jù)存儲(chǔ)和管理上,而且轉(zhuǎn)化成各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫(kù)具有多種類型,從簡(jiǎn)單存儲(chǔ)不同的數(shù)據(jù)表到能進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)系統(tǒng),已被廣泛使用。目前使用最廣泛的是面向?qū)ο蟮臄?shù)據(jù)庫(kù)模型。
數(shù)據(jù)庫(kù)軟件產(chǎn)品有很多種,比如DB2、mySQL、Oracle、Informix、Sybase、SQL Server、PostgreSQL、Access等數(shù)據(jù)庫(kù)。
Oracle數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)領(lǐng)域中的領(lǐng)先者,是世界上最流行的數(shù)據(jù)庫(kù)平臺(tái)之一,并且能很好的緊密結(jié)合網(wǎng)絡(luò)技術(shù)。但是價(jià)格非常昂貴,不適用于本系統(tǒng)。微軟公司的MS—SQL和Microsoft Windows操作系統(tǒng)能夠完美兼容,符合大多數(shù)用戶的使用習(xí)慣,功能強(qiáng)大,但是購(gòu)買其軟件仍然是不小的開(kāi)銷。
MYSQL數(shù)據(jù)庫(kù)是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),已被廣泛應(yīng)用于因特網(wǎng)上中小型企業(yè)。由于其體積小,速度快,總體擁有成本低,尤其是開(kāi)放源碼的特點(diǎn),被很多中小型企業(yè)采用。MYSQL數(shù)據(jù)庫(kù)特點(diǎn)是,具有可擴(kuò)展性和可移植性,優(yōu)越的穩(wěn)定性、靈活性和強(qiáng)大的數(shù)據(jù)保護(hù)功能,可以支持大型數(shù)據(jù)庫(kù)。最關(guān)鍵的,MYSQL數(shù)據(jù)庫(kù)是一個(gè)用戶可以直接從網(wǎng)上下載的完全免費(fèi)的產(chǎn)品。所以,經(jīng)過(guò)多方面的比較和考慮,本系統(tǒng)的數(shù)據(jù)庫(kù)選用了MYSQL數(shù)據(jù)庫(kù)。它不但能完全滿足我校學(xué)生信息管理的需要,而且使用成本低,減小學(xué)校資金壓力。
三、數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)
數(shù)據(jù)庫(kù)設(shè)計(jì)是一項(xiàng)繁復(fù)、詳細(xì)的工作,數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)是為用戶和各種應(yīng)用系統(tǒng)提供一個(gè)信息基礎(chǔ)設(shè)施和高效的運(yùn)行環(huán)境。高效的運(yùn)行環(huán)境包括:數(shù)據(jù)庫(kù)數(shù)據(jù)的存取效率、數(shù)據(jù)庫(kù)存儲(chǔ)空間的利用率、數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行管理的效率。
數(shù)據(jù)庫(kù)的設(shè)計(jì)必須滿足以下幾點(diǎn):首先是數(shù)據(jù)的共享性和獨(dú)立性;數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)庫(kù)中的物理數(shù)據(jù)、邏輯數(shù)據(jù)與應(yīng)用之間要相互獨(dú)立;其次是盡可能的減小數(shù)據(jù)冗余,這樣可以提高用戶的響應(yīng)速度;第三點(diǎn)是確保數(shù)據(jù)的安全性、準(zhǔn)確性,有效性,一致性和及時(shí)性;最后一點(diǎn)是要靈活的對(duì)數(shù)據(jù)進(jìn)行檢索和存取[2]。
數(shù)據(jù)庫(kù)設(shè)計(jì)表達(dá)的方式目前主要有實(shí)體—關(guān)系圖(E—R模型)和對(duì)象定義語(yǔ)言兩種,在本文中設(shè)計(jì)將用實(shí)體—關(guān)系模型來(lái)實(shí)現(xiàn)。在學(xué)校這個(gè)特定的環(huán)境里,從用戶對(duì)系統(tǒng)信息的需求出發(fā),對(duì)信息進(jìn)行概括的描述,得出實(shí)體與實(shí)體之間的關(guān)系,繪制出E—R圖,建立出最優(yōu)化的概念模型。建立觀念模型可以借助數(shù)據(jù)庫(kù)模型設(shè)計(jì)的軟件工具,只需要把用戶需求轉(zhuǎn)化為概念模型,而概念模型轉(zhuǎn)化成數(shù)據(jù)庫(kù)設(shè)計(jì)完全可以由軟件自動(dòng)完成。在此基礎(chǔ)上進(jìn)一步開(kāi)發(fā),最終構(gòu)造出系統(tǒng)數(shù)據(jù)庫(kù)及相應(yīng)的數(shù)據(jù)表。
四、數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)E—R圖
采用E—R圖來(lái)畫(huà)出概念模型,它能充分的反映現(xiàn)實(shí)世界,易于理解,將現(xiàn)實(shí)世界的狀態(tài)以信息結(jié)構(gòu)的形式方便的表示出來(lái)。E—R模型由實(shí)體、屬性和聯(lián)系三個(gè)主要部分組成。
實(shí)體:客觀存在并且可以相互區(qū)分的事物稱為實(shí)體。實(shí)體既可以是具體的對(duì)象,也可以是抽象的概念。本系統(tǒng)中的實(shí)體主要包括學(xué)院、專業(yè)、班級(jí)、學(xué)生、課程等。
屬性:描述實(shí)體某個(gè)特性的值叫屬性,屬性反映在數(shù)據(jù)表中表現(xiàn)為字段。例如,學(xué)生實(shí)體具有代碼、姓名、性別等屬性。
聯(lián)系:聯(lián)系是兩個(gè)以上實(shí)體之間的連接。采聯(lián)系可分為“一對(duì)一聯(lián)系”、“一對(duì)多聯(lián)系”、“多對(duì)多聯(lián)系”3種類型[3]。
在對(duì)系統(tǒng)進(jìn)行需求分析,了解了使用者的需求之后,采用E—R圖對(duì)數(shù)據(jù)庫(kù)進(jìn)行建模,直觀的描述了現(xiàn)實(shí)世界的概念模型[4]。
五、數(shù)據(jù)庫(kù)表的設(shè)計(jì)
設(shè)計(jì)規(guī)范的數(shù)據(jù)庫(kù)表可以提高數(shù)據(jù)庫(kù)操作效率,特別在數(shù)據(jù)較多的時(shí)候,如果表的結(jié)構(gòu)不合理的話,條件會(huì)變得相當(dāng)復(fù)雜。所以,為了簡(jiǎn)化SQL,表的內(nèi)外部的關(guān)系要盡可能的設(shè)計(jì)合理,為每一條記錄加上主鍵。
為了建立數(shù)據(jù)庫(kù)連接,本系統(tǒng)創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)文件以方便對(duì)各表之間進(jìn)行查詢。該數(shù)據(jù)庫(kù)中,包含的信息應(yīng)該有學(xué)校及學(xué)生的一些基本信息。所以,為了提高數(shù)據(jù)庫(kù)操作效率,建立了多個(gè)在邏輯上獨(dú)立的數(shù)據(jù)表,以便于擴(kuò)展和修改。
六、數(shù)據(jù)庫(kù)表之間的聯(lián)系
當(dāng)數(shù)據(jù)庫(kù)的表確定之后,使用PowerDesign為數(shù)據(jù)庫(kù)建模的主要和關(guān)鍵的工作是建立正確有效的概念數(shù)據(jù)模型。PowerDesign將實(shí)體、屬性、關(guān)系和數(shù)據(jù)表中的字段、主鍵、外鍵一一對(duì)應(yīng),實(shí)現(xiàn)了概念模型到數(shù)據(jù)庫(kù)表之間的轉(zhuǎn)換。PowerDesign支持MYSQL數(shù)據(jù)庫(kù)管理系統(tǒng),將UML統(tǒng)一建模語(yǔ)言和數(shù)據(jù)模型無(wú)縫集成,顯示了數(shù)據(jù)庫(kù)表之間關(guān)系的詳細(xì)信息,如圖2所示。
七、結(jié)束語(yǔ)
數(shù)據(jù)庫(kù)設(shè)計(jì)是學(xué)生信息管理系統(tǒng)的基礎(chǔ),在初始階段就要嚴(yán)密規(guī)劃、精確設(shè)計(jì),考慮未來(lái)的擴(kuò)展和不斷增長(zhǎng)的數(shù)據(jù)量,考慮設(shè)計(jì)后的維護(hù)工作[5]。
本文將用戶需求抽象為概念模型,然后由概念模型產(chǎn)生數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)。使用數(shù)據(jù)庫(kù)建模工具PowerDesign建立概念模型,得到表與表之間的關(guān)系,設(shè)計(jì)出合理的數(shù)據(jù)庫(kù)。本系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)簡(jiǎn)潔實(shí)用,為學(xué)生信息管理系統(tǒng)的后續(xù)開(kāi)發(fā)提供了支持。
參考文獻(xiàn):
[1]崔婭萍,楊靖新.利用MySql實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的后臺(tái)數(shù)據(jù)管理[J].赤峰學(xué)院學(xué)報(bào):自然科學(xué)版,2012,8:39—40
[2]孫愛(ài)娥,朱玲.基于JSP的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2008,4:63—64
[3]魏婧,溫振宏,郭琛.基于PHP+MySql的學(xué)生選課系統(tǒng)設(shè)計(jì)[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2010,35:200—201
[4]于雪燕.Mysql數(shù)據(jù)庫(kù)技術(shù)在高等院校學(xué)年電子注冊(cè)中的應(yīng)用[J].科教文匯,2010,18:199—200
[5]張剛,李學(xué)軍.基于mysql的高校經(jīng)濟(jì)困難學(xué)生在線登記系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2010,5:22