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