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