【文章內(nèi)容簡(jiǎn)介】
結(jié)構(gòu)圖 The chart of Network Structure 數(shù)據(jù)庫(kù)設(shè)計(jì)Microsoft公司推出的SQL Server2000具有實(shí)用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn),逐漸成為Windows平臺(tái)下進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用開發(fā)較為理想的選擇之一。為此銳思網(wǎng)絡(luò)有限公司人事管理系統(tǒng)的公共信息管理模塊采用SQL Server2000作為后臺(tái)數(shù)據(jù)庫(kù),根據(jù)數(shù)據(jù)庫(kù)工具和數(shù)據(jù)庫(kù)特點(diǎn),開發(fā)出一套可靠合理的數(shù)據(jù)存儲(chǔ)方案。 概念設(shè)計(jì)用概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間的關(guān)系,這種數(shù)據(jù)模型是與DBMS無(wú)關(guān)的、面向現(xiàn)實(shí)世界的、易于理解的數(shù)據(jù)模型,其獨(dú)立于計(jì)算機(jī)的數(shù)據(jù)模型,獨(dú)立于計(jì)算機(jī)的軟硬件系統(tǒng),與用戶進(jìn)行交流十分方便。概念性數(shù)據(jù)模型關(guān)心的是如何完整、正確地反映客觀實(shí)際情況,不關(guān)心在數(shù)據(jù)庫(kù)中如何實(shí)現(xiàn)。這種數(shù)據(jù)模式能真實(shí)地反應(yīng)用戶要求的實(shí)際情況,是一種容易被人們理解的直觀的數(shù)據(jù)庫(kù)結(jié)構(gòu)模式。同時(shí)也是一種相對(duì)穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,一般情況下很少變動(dòng)。概念性數(shù)據(jù)在用戶和設(shè)計(jì)者之間建立了橋梁。是設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的基礎(chǔ)。概念設(shè)計(jì)中自頂向下的實(shí)體分析方法,即常用的實(shí)體聯(lián)系模型(簡(jiǎn)稱ER模型),對(duì)具體數(shù)據(jù)進(jìn)行抽象加工,將實(shí)體集合抽象成實(shí)體類型。用實(shí)體間聯(lián)系反映現(xiàn)實(shí)世界事物間的內(nèi)在聯(lián)系。ER模型是建立概念性數(shù)據(jù)模型的有力工具。ER圖提供了表示實(shí)體型、屬性和聯(lián)系的方法:178。 實(shí)體型:用矩形表示,矩形內(nèi)寫明實(shí)體名稱;178。 屬性:用橢圓表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);178。 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體 連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n,或m:n)。經(jīng)過(guò)分析,公共信息管理模塊確定三個(gè)實(shí)體,即員工、文檔信息和工作計(jì)劃,三個(gè)實(shí)體構(gòu)建了一個(gè)總體關(guān)系圖,、 ER圖。(1)文檔信息屬性 文檔信息實(shí)體屬性 Attribute of Document(2)工作計(jì)劃屬性 工作計(jì)劃實(shí)體屬性 Attribute of Planning(3)員工屬性 員工實(shí)體屬性 Attribute of employee(4)總體關(guān)系圖 ER圖 The ER chart 邏輯設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本ER圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。為避免數(shù)據(jù)庫(kù)表中的元組的插入異常、刪除異常、修改復(fù)雜及數(shù)據(jù)冗余等一系列問(wèn)題,運(yùn)用關(guān)系規(guī)范化理論,逐一考查初始關(guān)系模式,分析函數(shù)依賴,逐級(jí)進(jìn)行規(guī)范。員工包括(PS_ID、PS_NAME、PWD、FORBID、DP_ID、Age、Birthday、Address、Sex、TEL、eMail、MailUserName、MailUserPWD、Pop3Port、SmtpPort、PopServer、SmtpServer、Refreshtime、Timeout、Resume、Memo)文檔信息包括(ID、Title、Author_ID、Content、OpenData、ResCategory_ID、isPublic、DP_ID)工作計(jì)劃包括(ID、Title、Content、AuthorID、StartDate、EndDate、Status、Priority、AssignTo)部門包括(Department_ID、Department_NAME)現(xiàn)在將公共信息管理模塊的ER圖()轉(zhuǎn)化為關(guān)系模式圖(),在公共信息管理模塊的數(shù)據(jù)庫(kù)中,Document表和Task表是通過(guò)Department表聯(lián)系起來(lái)的。因此,在此邏輯設(shè)計(jì)中,就多了個(gè)Department表。在Department表中主鍵是Department_ID;在Person表中主鍵是PS_ID;在Document表中ID是主鍵,AuthorID(文檔創(chuàng)建者ID)對(duì)應(yīng) Person表中的主鍵PS_ID,DP_ID(創(chuàng)建文檔的部門ID)對(duì)應(yīng)Department表中的主鍵Department_ID;在Task表中,主鍵是ID,AuthorID(創(chuàng)建者ID)對(duì)應(yīng)Person表的主鍵PS_ID,AssignTo(任務(wù)的執(zhí)行人ID)對(duì)應(yīng)Person表的主鍵PS_ID。 關(guān)系規(guī)范圖 The chart of Relation 物理設(shè)計(jì)數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu)與存取方法)的過(guò)程。其任務(wù)是為了有效地實(shí)現(xiàn)邏輯模式,確定所采取的存儲(chǔ)策略。以邏輯設(shè)計(jì)的結(jié)果作為輸入,結(jié)合具體DBMS的特點(diǎn)與存儲(chǔ)設(shè)備特性進(jìn)行設(shè)計(jì),選定數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。在公共信息管理模塊中,涉及的表有Department表、Menu表、DP_Menu表Document表、EntryPoint表、QueryField表、ResCategory表、Task表、Person表。(1)Department公司部門表 Department表 The table of Department字段類型說(shuō)明Department_ID varchar(50)主鍵,部門ID,下級(jí)部門的ID是上級(jí)部門ID加上兩位流水號(hào)Department_NAMEnvarchar(50)部門名稱(2)Menu 定義系統(tǒng)菜單表 Menu表 The table of Menu字段類型說(shuō)明MENU_ID varchar(50)主鍵,下級(jí)菜單為上級(jí)菜單ID+兩位流水號(hào)ENTRYPOINT_IDvarchar(50)點(diǎn)擊菜單時(shí),所執(zhí)行的功能模塊ID,對(duì)應(yīng)EntryPoint表的主鍵 ENTRYPOINT_IDMENU_NAMEnvarchar(50)菜單顯示的名字NOTEnvarchar(50)菜單的說(shuō)明,當(dāng)鼠標(biāo)選中菜單時(shí),這段說(shuō)明會(huì)出現(xiàn)在狀態(tài)欄里面,向用戶說(shuō)明該菜單的功能(3)DP_Menu 每個(gè)部門有權(quán)限執(zhí)行的菜單表 DP_Menu表 The table of DP_Menu字段類型說(shuō)明DP_Menu_IDint主鍵, 自增長(zhǎng)字段DP_IDvarchar(50)部門ID,對(duì)應(yīng)Department表的主鍵Department_IDMenu_IDvarchar(50)菜單ID,對(duì)應(yīng)Menu表中的主鍵MENU_ID(4)Docunment 公司文檔信息表 Document表 The table of Document字段類型說(shuō)明ID int主鍵,文檔流水號(hào),自增長(zhǎng)字段 Title nvarchar(50)文檔標(biāo)題AuthorID varchar(50)文檔創(chuàng)建者ID,對(duì)應(yīng) Person表中的主鍵PS_IDContent ntext文檔內(nèi)容OpenDate datetime文檔創(chuàng)建日期ResCategory_IDvarchar(50)文檔類別ID,對(duì)應(yīng)ResCategory表的主鍵ResCategoryIDisPublic bit是否為公共文檔DP_ID varchar(50)創(chuàng)建文檔的部門ID,對(duì)應(yīng)Department表中的主鍵Department_ID(5)EntryPoint 表程序模塊的入口點(diǎn),當(dāng)程序需要增加功能模塊時(shí),只需設(shè)置此表,而不必更改程序。 EntryPoint表 The table of EntryPoint字段類型說(shuō)明ENTRYPOINT_IDvarchar(50)主鍵AssembleNamenvarchar(50)要調(diào)用的程序集名CLASSnvarchar(50)要調(diào)用的類名 PARAMETERnvarchar(50)調(diào)用時(shí)需要的參數(shù)(6)QueryField表定義數(shù)據(jù)庫(kù)可查詢表的可查詢條件字段及該字段的數(shù)據(jù)類型,該字段在程序界面上對(duì)用戶顯示的友好名稱。 QueryField表 The table of QueryField字段類型說(shuō)明IDint主鍵,自增長(zhǎng)字段FieldName varchar(50)可查詢條件字段名FriendlyNamenvarchar(50)可查詢條件字段在程序界面上對(duì)用戶顯示的友好名稱 Type varchar(50)字段的數(shù)據(jù)類型,程序要根據(jù)這個(gè)來(lái)決定查詢可用的操作符(比如:字符串就可以有包含查詢,而數(shù)字則無(wú))TableName varchar(50)要查詢的表名(7)ResCategory 文檔分類表 ResCategory表 The table of ResCategory字段類型說(shuō)明ResCategoryIDvarchar(50)主鍵ResCategoryNamenvarchar(50)文檔類型名TableName varchar(50)查詢?cè)擃愋臀臋n時(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)中的表名 (8)Task 定義工作任務(wù)表 Task表 The table of Task字段類型說(shuō)明IDint主鍵, 自增長(zhǎng)字段Titlenvarchar(50)標(biāo)題Contentnvarchar(50)內(nèi)容 AuthorID varchar(50)創(chuàng)建者ID,對(duì)應(yīng)Person表的主鍵PS_IDStartDate datetime任務(wù)開始執(zhí)行日期EndDatedatetime任務(wù)完成日期Statusnvarchar(50)任務(wù)狀態(tài)(未執(zhí)行,進(jìn)行中,已完成)Prioritynvarchar(50)任務(wù)的優(yōu)先級(jí)AssignTovarchar(50)任務(wù)的執(zhí)行人ID,對(duì)應(yīng)Person表的主鍵PS_ID(9)Person公司員工信息表 Person表 The table of Person字段類型說(shuō)明PS_IDvarchar(50)主鍵,員工ID,登陸系統(tǒng)時(shí)需要輸入該IDPS_NAME nvarchar(50)員工姓名PWD nvarchar(50)登錄口令 FORBIDbit是否被管理員禁用,當(dāng)為真時(shí),用戶將無(wú)法登陸系統(tǒng)DP_IDvarchar(50)用戶所屬部門ID,對(duì)應(yīng)Department表的主鍵Department_IDAgeint年齡Birthdaydatetime出生日期Addressnvarchar(50)家庭住址Sexnchar(1)性別TELvarchar(50)聯(lián)系電話eMailvarchar(50)電子信箱地址MailUserNamevarchar(50)登錄電子信箱服務(wù)器的用戶名MailUserPWDvarchar(50)登錄電子信箱服務(wù)器的口令Pop3PortintPOP3服務(wù)器的端口SmtpPortintSmtp服務(wù)器的端口Pop3Servervarchar(50)POP3服務(wù)器的地址SmtpServervarchar(50)Smtp服務(wù)器的地址RefreshTimeint檢查新郵件到達(dá)時(shí)間間隔(分)TimeOutint檢查新郵件到達(dá)時(shí)間間隔(分)Resumentext職工個(gè)人簡(jiǎn)歷Memontext備注 輸入輸出設(shè)計(jì) 輸入輸出是信息系統(tǒng)和用戶交流的接口,由于用戶無(wú)法知道后臺(tái)數(shù)據(jù)處理的過(guò)程,他們只能通過(guò)輸入輸出界面與系統(tǒng)進(jìn)行交互,用戶對(duì)系統(tǒng)的評(píng)價(jià)大多是基于輸入輸出界面。系統(tǒng)的輸入是向后臺(tái)數(shù)據(jù)庫(kù)錄入數(shù)據(jù),而系統(tǒng)為用戶服務(wù)主要是通過(guò)輸出的功能,即把后臺(tái)數(shù)據(jù)庫(kù)運(yùn)行的結(jié)果顯示出來(lái)。因此,系統(tǒng)地輸入輸出要遵循少量的輸入,少轉(zhuǎn)換數(shù)據(jù)等原則。而輸出要保證數(shù)據(jù)的準(zhǔn)確性。公共信息管理模塊的主要功能是公共信息的錄入和瀏覽,因此,輸入輸出設(shè)計(jì)就顯得非常重要,輸入輸出設(shè)計(jì)的主要目的是保證用戶存取信息的準(zhǔn)確及時(shí)性。該模塊設(shè)計(jì)到了許多輸入輸出環(huán)節(jié),例如文檔信息的錄入、修改和查詢;工作計(jì)劃的錄入、修改和查詢等。輸入輸出界面都采用Windows窗體。(1)數(shù)據(jù)的錄入用戶在Windows窗體上錄入數(shù)據(jù),點(diǎn)擊提交按鈕時(shí), Framework提供的SqlCommand對(duì)象執(zhí)行相應(yīng)的 Insert或Update的SQL語(yǔ)句,將用戶錄入的數(shù)據(jù)提交到數(shù)據(jù)庫(kù)中。(2)數(shù)據(jù)的輸出在模塊Common中定義了Query方法,通過(guò)傳入相應(yīng)的Select的SQL語(yǔ)句,返回一個(gè)本地的DataSet數(shù)據(jù)集,這個(gè)本地DataSet數(shù)據(jù)集包含了需要在界面上顯示的數(shù)據(jù)。模塊Common中的Query方法, Framework提供的SqlDataAdapter對(duì)象來(lái)根據(jù)select語(yǔ)句從數(shù)據(jù)庫(kù)中得到相應(yīng)的數(shù)據(jù)填充要返回的DataSet。 頁(yè)面設(shè)計(jì)銳思網(wǎng)絡(luò)有限公司人事管理系統(tǒng)的公共信息管理模塊是為整個(gè)公司員工提供了一個(gè)信息共享平臺(tái)。為了方便員工操作,該模塊的頁(yè)面設(shè)計(jì)以簡(jiǎn)潔明了、整體劃一為主題,蘊(yùn)含公司積極向上、團(tuán)結(jié)進(jìn)取的企業(yè)文化,將打破以往傳統(tǒng)的界面設(shè)計(jì)方法, TabControl和XtraGrid控件,特別使用panel及其dock屬性,使界面達(dá)到友好靈活。頁(yè)面可實(shí)現(xiàn)多窗口查詢。簡(jiǎn)潔大方、激勵(lì)員工士氣的登錄界面,使每一位員工感覺到一種樂(lè)觀向上的精神。為了避免重名問(wèn)題,該模塊要求員工輸入正確的職員代號(hào)和登錄密碼,方可進(jìn)入公共信息管理系統(tǒng)。公共信息管理模塊主框架是整個(gè)模塊的亮點(diǎn)之一。它是由菜單、TabControl和狀態(tài)條三部分組成。(1)菜單菜單提供了員工可執(zhí)行動(dòng)作的標(biāo)題。在人事系統(tǒng)的公共信息管理模塊中,基于對(duì)權(quán)限的考慮,菜單是由靜態(tài)菜單和動(dòng)態(tài)菜單組成的。靜態(tài)菜單是系統(tǒng)的基本功能,每個(gè)登錄用戶都可以使用。動(dòng)態(tài)菜單則根據(jù)等登錄用戶是