孫 婕
(江蘇城市職業(yè)學(xué)院信息工程系,江蘇連云港 222001)
學(xué)生管理系統(tǒng)的設(shè)計與實現(xiàn)
孫 婕
(江蘇城市職業(yè)學(xué)院信息工程系,江蘇連云港 222001)
Visual studio 2008是Microsoft公司推出的新一代開發(fā)工具,支持多種編程語言。Visual studio 2008具有強大、快捷的數(shù)據(jù)庫開發(fā)技術(shù),利用它可以輕松訪問各類數(shù)據(jù)庫如 Access、Database、SQL Server等,實現(xiàn)數(shù)據(jù)的顯示、存取、查詢。利用Visual studio 2008開發(fā)的學(xué)生管理系統(tǒng),效率高、周期短,并且易于維護與升級。文章結(jié)合實踐闡述如何在Visual studio 2008環(huán)境下實現(xiàn)學(xué)生管理系統(tǒng)的各項操作。
學(xué)生管理系統(tǒng);數(shù)據(jù)庫;Visual studio 2008;SQL Server
Visual Studio 2008是新一代開發(fā)工具,支持多種編程語言,同時它具有強大、快捷的數(shù)據(jù)庫開發(fā)技術(shù),利用該環(huán)境可以實現(xiàn)各類數(shù)據(jù)庫的各種操作,具有效率高、周期短、易于維護與升級等優(yōu)勢。
數(shù)據(jù)庫有多種分類,目前使用的數(shù)據(jù)庫以關(guān)系數(shù)據(jù)庫為主,而 SQL Server數(shù)據(jù)庫在易用性、可收縮性和可靠性等方面具有重大創(chuàng)新,它在 RDBMS領(lǐng)域具有很多新穎和有創(chuàng)造性的特點,已經(jīng)成為一種領(lǐng)先的數(shù)據(jù)庫管理系統(tǒng),可以幫助各種規(guī)模的企業(yè)管理數(shù)據(jù)資源。通常情況下,開發(fā)人員可以在 SQL Sever中創(chuàng)建數(shù)據(jù)庫,包括創(chuàng)建表、視圖、存儲過程、觸發(fā)器、索引等數(shù)據(jù)庫對象,創(chuàng)建和控制管理用戶帳號和用戶組等。在 Visual Studio 2008環(huán)境下使用數(shù)據(jù)控件訪問數(shù)據(jù)庫,使用 SQL數(shù)據(jù)庫語言對數(shù)據(jù)庫進行動態(tài)查詢。
筆者通過一個數(shù)據(jù)庫應(yīng)用程序?qū)嵗?(學(xué)生管理系統(tǒng))的開發(fā)過程,歸納在 Visual Studio 2008環(huán)境下,如何實現(xiàn)數(shù)據(jù)庫的各種操作。
(一)明確建立數(shù)據(jù)庫的目的
在學(xué)生管理系統(tǒng)中,使用數(shù)據(jù)庫來實現(xiàn)學(xué)生管理工作的各項內(nèi)容,如:專業(yè)設(shè)置、班級信息管理、學(xué)生信息管理、課程信息管理、成績信息管理。除此之外,該系統(tǒng)也應(yīng)該包含一些系統(tǒng)維護功能,如系統(tǒng)管理、幫助。
(二)確定所需要的表
在明確了建立數(shù)據(jù)庫的目的之后,就可以著手把信息分成各個獨立的主題,每一個主題可以是數(shù)據(jù)庫中的一個表。學(xué)生管理系統(tǒng)中可包括如下表:專業(yè)表、系別表、班級表、學(xué)生基本信息表、課程表、選課表、成績表、用戶注冊信息表。
(三)確定所需的字段
確定在每個表中要保存哪些信息。每類信息成為一個字段,在表中顯示為一列。在學(xué)生管理系統(tǒng)中,各個表設(shè)計如下:
專業(yè)表 (專業(yè)編號,專業(yè)名稱,所屬系別編碼)
系別表 (系別編號,系別)
學(xué)生基本信息表 (學(xué)號,姓名,性別,民族,系別編號,政治面貌,郵政編碼,班級,專業(yè)編號,家庭地址,聯(lián)系電話)
班級表 (系別編碼,專業(yè)編號,年級,班級名稱)
課程表 (課程號,課程名,課程性質(zhì),總課時,面授課時,實驗課時,開設(shè)學(xué)期,開設(shè)單位)
選課表 (課程號,專業(yè)編號)
成績表 (學(xué)號,課程號,成績)
用戶注冊信息表 (用戶名,密碼)
(四 )確定關(guān)系
分析每個表,確定表中的數(shù)據(jù)和其他表中的數(shù)據(jù)有何關(guān)系。必要時,可在表中加入字段或創(chuàng)建一個新表來明確關(guān)系。在學(xué)生管理系統(tǒng)中存在以上 8張表,表與表之間的關(guān)系比較復(fù)雜,這里列舉其中幾個關(guān)系:
1.“系別表”與“專業(yè)表”之間存在一對多關(guān)系,即一個系有多個專業(yè),而一個專業(yè)只屬于一個系;
2.“專業(yè)表”和“課程表”之間存在多對多關(guān)系,即一個專業(yè)中可以開設(shè)多門課程,而一門課程可以適合多個專業(yè);
3.“成績表”與“學(xué)生基本信息表”之間存在一對一關(guān)系,即一個學(xué)生的每一門課程對應(yīng)一個成績。
在這些表中還存在外碼,如“專業(yè)表”中的所屬系別編碼就是一個外碼,它是“系別表”中的關(guān)鍵字,凡是外碼的字段都不可以設(shè)置為空。
(五 )改進設(shè)計
對設(shè)計進一步分析,查找其中的錯誤。創(chuàng)建表,在表中加入幾個實際數(shù)據(jù),看能否從表中得到想要的結(jié)果。此時,開發(fā)人員可以利用 SQL Server中的查詢管理器輸入查詢命令查看結(jié)果。
(一)進入 SQL Server企業(yè)管理器,建立數(shù)據(jù)庫
例如,新建一個數(shù)據(jù)庫,命名為“學(xué)生數(shù)據(jù)庫”,在其中分別建立“專業(yè)表”、“系別表”、“學(xué)生基本信息表 ”、“班級表 ”、“課程表 ”、“選課表”、“成績表”,主要依據(jù)數(shù)據(jù)庫設(shè)計階段的結(jié)果進行表的設(shè)計,包括字段名、字段類型、字段是否可以取空值等,最重要的一步是設(shè)置每張表的關(guān)鍵字。
(二 )表記錄追加
在進行記錄追加時,需注意一方面輸入的數(shù)據(jù)必須與設(shè)計中的字段類型保持一致,另一方面,各個表中的信息必須保持一致,如:在“選課表”中出現(xiàn)的學(xué)號一定是在“學(xué)生基本信息表”中已經(jīng)存在的學(xué)號。
(一)進入 Visual Studio 2008環(huán)境,新建一個W indows應(yīng)用程序項目,如“學(xué)生管理系統(tǒng)”;
(二)進行界面設(shè)計,這一過程比較容易實現(xiàn),但需注意保持各個界面風(fēng)格統(tǒng)一;
(三)按照數(shù)據(jù)庫設(shè)計階段所預(yù)定實現(xiàn)的功能設(shè)計系統(tǒng)的主菜單;
(四)按照子菜單中的內(nèi)容,不斷添加窗體,功能不斷分解,每個子功能形成一個窗體。
若想在 Visual Studio 2008中使用 SQL數(shù)據(jù)庫,必須在項目文件夾中的 bin子文件夾下添加數(shù)據(jù)庫,例如:將“學(xué)生數(shù)據(jù)庫”復(fù)制到“學(xué)生管理系統(tǒng)”文件夾中 bin子文件夾下。
在學(xué)生管理系統(tǒng)中,需要完成的功能比較多,而且?guī)缀跛械墓δ芏忌婕暗綌?shù)據(jù)庫,至少與兩張以上的表有關(guān)系。這些功能總結(jié)起來分為四類:瀏覽、查詢、添加、刪除。
(一)“瀏覽專業(yè)信息”功能的實現(xiàn)
(二)“按課程名查詢課程信息”功能的實現(xiàn)
數(shù)據(jù)庫完整性控制機制包括定義功能、檢查功能和違背完整性后的保護措施三個方面。在關(guān)系數(shù)據(jù)庫中,完整性約束包括實體完整性、參照完整性和用語定義完整性。對于違反實體完整性和用戶自定義完整性的,一般采取拒絕執(zhí)行的方式進行處理。例如,在學(xué)生管理系統(tǒng)中,如果進行添加學(xué)生信息操作時用戶輸入的學(xué)號為空,要及時給予用戶系統(tǒng)信息,提醒用戶重新輸入學(xué)號,這一操作屬于違反實體完整性時的保護措施。如果用戶在進行添加學(xué)生成績操作時輸入的學(xué)生學(xué)號并不存在 (即在“學(xué)生基本信息表”中沒有該值),系統(tǒng)及時提示用戶學(xué)號是否輸入有誤,這一操作屬于違反參照完整性時的保護措施。上述兩種完整性在“學(xué)生管理系統(tǒng)”中還有很多,不再一一敘述。
系統(tǒng)編碼工作完成以后,需要大量的調(diào)試。Visual Studio 2008中的調(diào)試功能可以幫助編程人員確定錯誤位置,使用比較方便,但調(diào)試過程比較繁瑣,需要編程人員的耐心與仔細(xì)。
[1]周峰,李德路,王征.Visual C#.NET 2005中文版基礎(chǔ)與實踐教程[M].北京:電子工業(yè)出版社,2007.
[2]殷泰暉,張強,楊豹等.C#編程從基礎(chǔ)到實踐[M].北京:電子工業(yè)出版社,2007.
G312
A
1009-9743(2010)01-0145-03
2010-01-04
孫婕 (1980-),女,漢族,江蘇連云港人。江蘇城市職業(yè)學(xué)院信息工程系助教。主要研究方向:系統(tǒng)設(shè)計與開發(fā)。
(責(zé)任編輯:陳 棠)