傅 力 李志達(dá)
摘要:本文以人事檔案動(dòng)態(tài)信息網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)為主要內(nèi)容,給出了該系統(tǒng)的具體開(kāi)發(fā)和實(shí)現(xiàn)過(guò)程,并將其作為數(shù)據(jù)庫(kù)應(yīng)用課程的一個(gè)案例在課堂上講授,是數(shù)據(jù)庫(kù)應(yīng)用課程教學(xué)的一次具體實(shí)踐。
關(guān)鍵詞:網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng);數(shù)據(jù)庫(kù)應(yīng)用課程;案例
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
人事檔案動(dòng)態(tài)信息網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和前端應(yīng)用程序開(kāi)發(fā)兩個(gè)方面的內(nèi)容。設(shè)計(jì)過(guò)程中,我們針對(duì)某學(xué)院人事信息的要求,完成了對(duì)人事檔案動(dòng)態(tài)信息網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)的需求分析、數(shù)據(jù)庫(kù)概念模型和邏輯模型設(shè)計(jì)以及數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì),并應(yīng)用Microsoft SQL Server 2005數(shù)據(jù)庫(kù)管理系統(tǒng)、SQL語(yǔ)言、Microsoft Visual C++ 6.0設(shè)計(jì)環(huán)境、Visual C++ 6.0數(shù)據(jù)庫(kù)技術(shù),在該學(xué)院局域網(wǎng)上以C/S模式實(shí)現(xiàn)了數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)應(yīng)用程序。通過(guò)系統(tǒng)運(yùn)行、回饋和改進(jìn),我們所設(shè)計(jì)的系統(tǒng)可以滿足該學(xué)院人事部門(mén)、高層決策者、系統(tǒng)管理員和一般用戶等多方面的需求。該系統(tǒng)被作為數(shù)據(jù)庫(kù)應(yīng)用課程的一個(gè)教學(xué)案例,比以往教學(xué)內(nèi)容收到更好的教學(xué)效果。
2系統(tǒng)總體工作流程
圖1通過(guò)數(shù)據(jù)流圖描述了該學(xué)院人事檔案動(dòng)態(tài)信息網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)的總體工作流程。
當(dāng)學(xué)院人事部門(mén)接納新人員(包括分配、調(diào)入、招聘等)時(shí),為該人員分配人員編號(hào),并在人員信息數(shù)據(jù)庫(kù)表和任職信息數(shù)據(jù)庫(kù)表中進(jìn)行錄入;當(dāng)出現(xiàn)院內(nèi)調(diào)整時(shí),如人員調(diào)動(dòng)或升遷時(shí),應(yīng)在人員信息數(shù)據(jù)庫(kù)表和任職信息數(shù)據(jù)庫(kù)表中對(duì)該人員信息、部門(mén)信息和職務(wù)信息等進(jìn)行修改,同時(shí)將信息錄入到人事日志數(shù)據(jù)庫(kù)表中;當(dāng)人員離院(包括調(diào)出、復(fù)轉(zhuǎn)、辭退等)時(shí),應(yīng)將離院人員的信息錄入到人事日志數(shù)據(jù)庫(kù)表中,同時(shí)對(duì)人員信息數(shù)據(jù)庫(kù)表和任職信息數(shù)據(jù)庫(kù)表進(jìn)行修改,使其處于未在職狀態(tài)。學(xué)院人事部門(mén)、高層決策者和被授權(quán)人可以通過(guò)網(wǎng)絡(luò)以C/S模式對(duì)人員信息進(jìn)行查詢,系統(tǒng)同時(shí)對(duì)人員信息數(shù)據(jù)庫(kù)表、任職信息數(shù)據(jù)庫(kù)表和人事日志數(shù)據(jù)庫(kù)表進(jìn)行查詢,以便得到需要的信息。用來(lái)反映學(xué)院體系和規(guī)模的還有兩個(gè)數(shù)據(jù)庫(kù)表,一個(gè)是部門(mén)數(shù)據(jù)庫(kù)表,另一個(gè)是職務(wù)數(shù)據(jù)庫(kù)表,通過(guò)修改這兩個(gè)表,可改變系統(tǒng)的應(yīng)用范圍。
3系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)實(shí)現(xiàn)
首先進(jìn)行數(shù)據(jù)庫(kù)概念模型設(shè)計(jì),圖2是人事檔案動(dòng)態(tài)信息網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)的E-R圖。
系統(tǒng)主要包括以下實(shí)體和屬性:
人員(人員編號(hào)、是否現(xiàn)役、姓名、性別、出生日期、電子郵箱、電話、地址、是否在職、備注);
任職(人員編號(hào)、職務(wù)編號(hào)、部門(mén)編號(hào)、任職日期);
部門(mén)(部門(mén)編號(hào)、部門(mén)名稱、備注);
職務(wù)(職務(wù)編號(hào)、職務(wù)名稱、備注);
人事日志(人員編號(hào)、原部門(mén)號(hào)、原職務(wù)號(hào)、原任職日期、變更日期、備注);
變更包括:院內(nèi)調(diào)整、人員離院。
進(jìn)一步,我們將數(shù)據(jù)庫(kù)概念模型轉(zhuǎn)化為Microsoft SQL Server 2005所支持的關(guān)系數(shù)據(jù)模型,即建立數(shù)據(jù)庫(kù)邏輯模型,表1是表示人員關(guān)系的數(shù)據(jù)庫(kù)表。
這樣我們通過(guò)Microsoft SQL Server 2005建立了數(shù)據(jù)庫(kù)“人事庫(kù)”(包括:人事庫(kù)_Data.MDF、人事庫(kù)_Log.LDF)和相應(yīng)的數(shù)據(jù)庫(kù)表,即實(shí)現(xiàn)了數(shù)據(jù)庫(kù)系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)被放置在學(xué)院干部部門(mén)的服務(wù)器上,同時(shí)對(duì)授權(quán)用戶進(jìn)行了相應(yīng)的注冊(cè)。
4系統(tǒng)應(yīng)用程序的設(shè)計(jì)實(shí)現(xiàn)
應(yīng)用程序可在客戶機(jī)或服務(wù)器端運(yùn)行,開(kāi)發(fā)時(shí)首先需創(chuàng)建數(shù)據(jù)源,以Microsoft SQL Server 2005為后臺(tái)數(shù)據(jù)庫(kù)應(yīng)用平臺(tái)。通過(guò)Windows,可以選擇SQL Sever服務(wù)器上已建立好的數(shù)據(jù)庫(kù)“人事庫(kù)”,作為ODBC數(shù)據(jù)源。然后在應(yīng)用程序設(shè)計(jì)過(guò)程中再對(duì)該數(shù)據(jù)源進(jìn)行連接,并應(yīng)用Visual C++ 6.0提供的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)進(jìn)行相應(yīng)設(shè)計(jì)。
系統(tǒng)主窗口中主要定義了五個(gè)菜單,分別是“數(shù)據(jù)庫(kù)管理”、“人事管理”、“單位管理”、“用戶管理”、和“系統(tǒng)維護(hù)”,使用ADO來(lái)創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序。數(shù)據(jù)庫(kù)管理菜單主要包括三個(gè)功能:連接數(shù)據(jù)源、斷開(kāi)數(shù)據(jù)源、退出。連接數(shù)據(jù)源以登錄對(duì)話框形式出現(xiàn),用于驗(yàn)證用戶名和密碼,保證用戶的合法權(quán)限。人事管理菜單包括:增加人員信息、人員變更管理、人員信息查詢?nèi)糠?。增加人員信息窗口,主要用于被授權(quán)人添加人員的基本信息,主要包括人員編號(hào)、職務(wù)、部門(mén)等信息。職務(wù)和部門(mén)信息輸入時(shí),分別鏈接到職務(wù)數(shù)據(jù)庫(kù)表和部門(mén)數(shù)據(jù)庫(kù)表,可選的輸入信息隨職務(wù)和部門(mén)數(shù)據(jù)庫(kù)表一起更新。人員變更管理通過(guò)被授權(quán)人輸入人員編號(hào)或姓名,相應(yīng)的人員信息就會(huì)出現(xiàn)在對(duì)話框中,可以選擇變更后的部門(mén)和職務(wù),并在備注中記錄變更原因,變更日期由系統(tǒng)自動(dòng)加入,該項(xiàng)功能同時(shí)對(duì)人員、任職、人事日志數(shù)據(jù)庫(kù)表進(jìn)行操作。人員信息查詢,依據(jù)人員編號(hào)或姓名對(duì)相應(yīng)數(shù)據(jù)庫(kù)表進(jìn)行搜索,并顯示對(duì)應(yīng)人員信息,對(duì)授權(quán)者還提供修改信息的功能。單位管理菜單包括職務(wù)管理和部門(mén)管理,職務(wù)管理菜單主要實(shí)現(xiàn)職務(wù)信息的添加和修改功能,對(duì)職務(wù)數(shù)據(jù)庫(kù)表進(jìn)行操作。部門(mén)管理菜單主要實(shí)現(xiàn)部門(mén)信息的添加和修改功能,對(duì)部門(mén)數(shù)據(jù)庫(kù)表進(jìn)行操作。用戶管理功能主要由系統(tǒng)管理員操作,完成用戶的注冊(cè)和授權(quán)。系統(tǒng)維護(hù)主要用于完成數(shù)據(jù)庫(kù)備份等功能。
數(shù)據(jù)庫(kù)和應(yīng)用程序設(shè)計(jì)的過(guò)程中,通過(guò)限定數(shù)據(jù)庫(kù)表、增加記錄鎖等方式,實(shí)現(xiàn)了數(shù)據(jù)庫(kù)表操作的一致性和完整性,并通過(guò)設(shè)置用戶ID和數(shù)據(jù)庫(kù)連接密碼、訪問(wèn)權(quán)限密碼、菜單授權(quán)等方式實(shí)現(xiàn)了數(shù)據(jù)庫(kù)系統(tǒng)的安全性。
5結(jié)束語(yǔ)
人事檔案動(dòng)態(tài)信息網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)是計(jì)算機(jī)網(wǎng)絡(luò)課程、面向?qū)ο蟪绦蛟O(shè)計(jì)課程、數(shù)據(jù)庫(kù)應(yīng)用課程的一個(gè)綜合應(yīng)用。在學(xué)習(xí)數(shù)據(jù)庫(kù)應(yīng)用課程之前,學(xué)生已經(jīng)學(xué)習(xí)了前面兩門(mén)課程。我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了該系統(tǒng),并將其作為數(shù)據(jù)庫(kù)應(yīng)用課程的一個(gè)案例在課堂上講授,是以拓展學(xué)生實(shí)際應(yīng)用能力為教學(xué)目的一次教學(xué)嘗試,目的在于面向應(yīng)用并適當(dāng)改進(jìn)和構(gòu)建新的數(shù)據(jù)庫(kù)應(yīng)用課程體系。
參考文獻(xiàn):
[1] 龐振平. 數(shù)據(jù)庫(kù)原理及應(yīng)用基礎(chǔ)[M]. 廣州:華南理工大學(xué)出版社,2008.
[2] 胡百敬. SQL SERVER 2005數(shù)據(jù)庫(kù)開(kāi)發(fā)詳解[M]. 北京:電子工業(yè)出版社,2006.