某單位的人事管理系統(tǒng)數據庫課程設計_第1頁
某單位的人事管理系統(tǒng)數據庫課程設計_第2頁
某單位的人事管理系統(tǒng)數據庫課程設計_第3頁
某單位的人事管理系統(tǒng)數據庫課程設計_第4頁
某單位的人事管理系統(tǒng)數據庫課程設計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫原理及應用課程設計設計報告題 目: 某單位的人事管理系統(tǒng) 學 號: 131007128 學生姓名: 指導教師: 提交時間: 2015-01-04 目錄第1章需求分析11.1需求調查11.2 系統(tǒng)功能分析21.3 面對用戶需求分析3第2章面向對象分析和設計4第3章邏輯結構設計7類和對象向關系模式轉換12第4章數據庫物理結構設計124.1存取方法設計124.2存儲結構設計124.3物理設計13第5章數據庫完整性設計165.1 主鍵及唯一性索引165.2 參照完整性設計165.3Check約束175.4 觸發(fā)器設計17第6章 數據庫視圖設計19第7章 數據庫存儲過程設計19總結20參考文獻:2

2、0數據庫原理及應用課程設計報告人事管理系統(tǒng)后臺數據庫第1章需求分析1.1需求調查通過對各個用戶的調查,該人事管理系統(tǒng)有如下需求:1) 員工信息管理:實現記錄在該單位中所有人員的在該單位的員工信息,實現對員工信息的管理,也包括對員工信息的增加、刪除、修改等功能。2) 部門信息管理:實現對該單位中的各個部門的編號、部門相關信息的統(tǒng)計,此時也將單位中的所有人員進行分類管理。3) 職位調動管理:實現當員工的就職信息發(fā)生更改的時候,系統(tǒng)進行相應關聯信息的更改,即增加相應的修改信息的同時,員工的信息管理中的對應信息進行修改。4) 系統(tǒng)管理人員信息管理:實現對相應的系統(tǒng)管理人員的帳號、密碼等基本信息的管理功

3、能。5) 出勤信息管理:實現對每一位員工的出勤狀況的記錄,記錄對應的出勤刷卡機號以及出勤時間的信息管理。6) 獎懲管理:實現針對于不同的獎懲類型、獎懲金額等信息的管理,實現輸入獎懲信息的修改相應的工資信息。7) 工資管理:實現各個員工工資條目信息的管理。1.2 系統(tǒng)功能分析1) 員工管理:主要應用于對員工在該單位基本信息的管理,可以執(zhí)行對某員工的增加、刪除、修改信息的功能等。2) 管理人員管理:用于對相應的系統(tǒng)管理人員的帳號、密碼等基本信息的管理。3) 個人經歷管理:可對各個員工的過往經歷匯總并記錄留檔,完善員工在該單位中的基本信息,增加單位對員工個人經歷的了解。4) 家庭關系管理:可對各個員

4、工的家庭人員以及關系進行匯總并記錄留檔,完善員工在該單位中的基本信息,增加單位對員工家庭情況的了解5) 部門管理: 主要用于分別管理各個部門的基本信息,以及部門的實際情況統(tǒng)計。6) 職位調動管理: 負責記錄單位中人員的職位調動信息的記錄、統(tǒng)計、管理等,并當更新職位調動信息的時候,將相應的員工、部門信息進行修改。7) 出勤信息管理: 記錄員工每一次的刷卡出勤的相關信息,做好統(tǒng)計工作。8) 刷卡機管理: 管理出勤是所需要的出勤記錄刷卡機。9) 請假記錄管理:用于記錄員工的請假信息,包括員工編號、請假時間、銷假時間、請假天數等信息。10) 獎懲記錄管理:用于記錄員工的獎懲信息,包括員工編號、獎懲類型

5、、獎懲金額、獎懲時間等信息。11) 工資管理:用于統(tǒng)計記錄員工的工資信息,基本工資、將罰金、時間等。1.3 面對用戶需求分析在該單位的人事管理系統(tǒng)中,最主要的兩個功能就是查詢信息和管理信息。系統(tǒng)的用戶又分為員工和管理人員,因此我將該系統(tǒng)又分為以下若干子系統(tǒng),包括員工查詢子系統(tǒng)、管理員查詢子系統(tǒng)、員工信息管理子系統(tǒng)、部門信息管理子系統(tǒng)、信息變更子系統(tǒng)、工資管理子系統(tǒng),以滿足不同用戶的不同應用需求。下面從細分后的各個子系統(tǒng)分析子系統(tǒng)的需求:1) 員工查詢子系統(tǒng):可供員工查詢與自己相關的姓名、職位、部門等基本信息,以及各個時期的工資、獎金罰款的發(fā)放情況。2) 管理員查詢子系統(tǒng)可供管理員查詢所管理員工

6、的全面信息,具有管理權限。3) 員工信息管理子系統(tǒng) 當員工自身的基本情況,如家庭關系變更時,可由員工自行進行修改相關信息。4) 部門信息管理子系統(tǒng)部門的管理員可對該部門的相關信息進行管理,執(zhí)行查詢、增加、刪除、修改等操作。5) 信息變更子系統(tǒng)員工提交相應修改信息,則將所有該員工的相關信息進行修改。6) 工資管理子系統(tǒng)對獎罰金額及基本工資、結算工資進行管理。第2章面向對象分析和設計 類和對象設計如下:個人經歷年份datetime員工編號char(4)學習經歷varchar(50)任職經歷varchar(50)查詢()添加()刪除()修改()員工員工編號char(4)姓名char(10)性別cha

7、r(2)出生日期datetime學歷varchar(32)身份證號varchar(32)民族varchar(16)職稱char(10)部門號char(4)職務char(32)查詢()添加()刪除()修改()部門部門號char(4)部門名char(10)領導人員char(4)員工人數int查詢()添加()刪除()修改()家庭關系關系編號char(10)員工編號char(4)親屬關系char(50)親屬姓名char(10)查詢()添加()刪除()修改()出勤出勤號char(6)員工編號char(4)上班日期datetime上班時間datetime下班時間datetime刷卡機號char(4)查詢(

8、)添加()刪除()修改()職位調動調動編號char(6)員工編號char(4)調動前職務char(10)調動后職務char(10)調動前部門號 char(4)調動后部門號 char(4)調動日期datetime批復日期datetime調動原因varchar(50)查詢()添加()刪除()修改()管理人員管理員帳號char(4)職工編號char(4)密碼char(6)級別 char(4)查詢()添加()刪除()修改()刷卡機刷卡機號char(4)查詢()添加()刪除()修改()工資工資編號char(6)員工編號char(4)基本工資money罰款money獎金money結算工資money起始時間

9、datetime截止時間datetime發(fā)信日期datetime查詢()添加()刪除()修改()獎懲記錄獎懲編號char(6)員工編號char(4)獎懲類型char(4)獎懲金額money獎懲日期datetime批復部門號 char(4)批復日期datetime獎懲原因varchar(50)查詢()添加()刪除()修改()請假記錄請假編號char(6)員工編號char(4)請假時間datetime銷假時間datetime請假天數int審批人編號char(4)查詢()添加()刪除()修改()第3章邏輯結構設計局部E-R圖圖3.1 員工圖3.2 個人經歷圖3.3 家庭關系圖3.4 部門圖3.5 職

10、位調動圖3.6 工資圖3.7管理人員圖3.8 刷卡機圖3.9 出勤圖3.10 請假記錄圖3.11 獎懲記錄全局E-R圖:類和對象向關系模式轉換1、員工(員工編號,姓名,性別,出生日期,學歷,身份證號,民族,職稱,部門號,職務)2、個人經歷(年份,員工編號,學習經歷,任職經歷)3、家庭關系(關系編號,員工編號,親屬關系,親屬姓名)4、管理人員(管理員帳號,職工編號,密碼,級別)5、出勤(出勤號,員工編號,上班日期,上班時間,下班時間,刷卡機號)6、刷卡機(刷卡機號)7、部門(部門號,部門名,領導人員,員工人數)8、職位調動(調動編號,員工編號,調動前職務,調動后職務,調動前部門號,調動后部門號,

11、調動日期,批復日期,調動原因)9、獎懲記錄(獎懲編號,員工編號,獎懲類型,獎懲金額,獎懲日期,批復部門號,批復日期,獎懲原因)10、請假記錄(請假編號,員工編號,請假時間,銷假時間,請假天數,審批人編號)11、工資(工資編號,員工編號,基本工資,罰款,獎金,結算工資,起始日期,截止日期,發(fā)信日期)第4章數據庫物理結構設計4.1 存取方法設計數據庫系統(tǒng)是多用戶共享的系統(tǒng),對同一個關系要建立多條存儲路徑才能滿足多用戶的多種應用要求。對于人事管理系統(tǒng)來說,為了提高某些屬性(如:員工編號,管理員帳號,員工基本信息等)的查詢速度,可以選擇聚簇存取的方法,即把這些屬性上具有相同值的元組集中放在連續(xù)的物理塊

12、上。這樣在查詢某個學院或是查詢某個專業(yè)或某學年等的學生成績或選課等時就會大大提高查詢速度。因此,該系統(tǒng)中選擇聚簇存取方法。4.2存儲結構設計人事管理系統(tǒng)是一個大型復雜的計算機網絡信息系統(tǒng),采用基于瀏覽器/服務器(B/S),客戶端/服務器(C/S)混合的應用體系結構來建設教務管理系統(tǒng)。數據庫管理系統(tǒng)采用Microsoft 公司推出的SQL Server 2000 或以上版本,并用SQL進行數據庫的建立和數據庫中數據的維護和查詢。4.3物理設計實現該設計的環(huán)境為Windows XP Professional + MS SQL Server 2005 或以上版本。1、建立員工信息表create ta

13、ble 員工(員工編號 char(4) primary key,姓名 char(10) not null,性別 char(2) check(性別 in(男,女),出生日期 datetime,學歷 varchar(32) not null,身份證號 varchar(32) not null,民族 varchar(16) not null,職稱 char(10),部門號 char(4)2、建立個人經歷表create table 個人經歷(年份 datetime,員工編號 char(4),學習經歷 varchar(50),任職經歷 varchar(50),primary key(年份, 員工編號),

14、foreign key(員工編號) references 員工(員工編號)3、建立家庭關系表create table 家庭關系(關系編號 char(10) primary key,員工編號 char(4) not null,親屬關系 char(4),親屬姓名 char(10),親屬性別 char(2),foreign key(員工編號) references 員工(員工編號) 4、建立管理人員表create table 管理人員(管理員賬號 char(4) primary key,職工編號 char(4) not null,密碼 char(6) not null,級別 char(4)check

15、(級別 in (管理員,系統(tǒng)管理員),foreign key(職工編號) references 員工(員工編號)5、建立出勤表create table 出勤(出勤號 char(6) primary key,員工編號 char(4) not null,上班日期 datetime,上班時間 datetime,下班時間 datetime,刷卡機號 char(4),foreign key(員工編號) references 員工(員工編號)foreign key(刷卡機號) references 刷卡機(刷卡機號)6、建立刷卡機表create table 刷卡機(刷卡機號 char(4) primary

16、 key)7、建立部門表create table 部門(部門號 char(4) primary key,部門名 char(10) not null,領導人員 char(4) not null,員工人數 int)8、建立職位調動表create table 職位調動(調動編號 char(6) not null,員工編號 char(4) not null,調動前職務 char(10),調動后職務 char(10),調動部門號 char(4) not null,調動日期 datetime,批復日期 datetime,調動原因 varchar(50),foreign key(員工編號) referenc

17、es 員工(員工編號),foreign key(調動部門號) references 部門(部門號),)9、建立獎懲記錄表create table 獎懲記錄(獎懲編號 char(6) not null primary key,員工編號 char(4) not null,獎懲類型 char(4),獎懲金額 money,獎懲日期 datetime,批復部門號 char(4),批復日期 datetime,獎懲原因 varchar(50),foreign key(員工編號) references 員工(員工編號),foreign key(批復部門號) references 部門(部門號)10、建立請假記

18、錄表create table 請假記錄(請假編號 char(6) not null primary key,員工編號 char(4) not null,請假時間 datetime,銷假時間 datetime,請假天數 int,審批人編號 char(4),foreign key(員工編號) references 員工(員工編號)11、建立工資表create table 工資(工資編號 char(6) primary key,員工編號 char(4) not null,基本工資 money not null,罰款 money,獎金 money,結算工資 money,起始時間 datetime,截止

19、時間 datetime,發(fā)信日期 datetime,foreign key(員工編號) references 員工(員工編號)第5章數據庫完整性設計5.1 主鍵及唯一性索引表名主鍵建立唯一性索引員工(員工編號)create index 員工_學歷_index on 員工(學歷)個人經歷(年份,員工編號)create index 個人經歷_任職經歷_index on 個人經歷(任職經歷)家庭關系(關系編號)create index 家庭關系_親屬關系_index on 家庭關系(親屬關系)管理人員(管理員帳號)create index 管理人員_index on 管理人員(級別)出勤(出勤號)c

20、reate index 出勤_上班日期_index on 出勤(上班日期)刷卡機(刷卡機號)create index 刷卡機_index on 刷卡機(刷卡機號)部門(部門號)create index 部門_領導人員_index on 部門(領導人員)職位調動(調動編號)create index 職務調動_調動前職務_index on 職位調動(調動前職務)獎懲記錄(獎懲編號)create index 獎懲記錄_獎懲類型_index on 獎懲記錄(獎懲類型)請假記錄(請假編號)create index 請假記錄_請假天數_index on 請假記錄(請假天數)工資(工資編號)create i

21、ndex 工資_基本工資_index on 工資(基本工資)5.2 參照完整性設計1、 將個人經歷表中,將“員工編號”設置為表的外鍵。 2、 在家庭關系中,將“員工編號”設置為表的外鍵。3、 在管理人員表中,將“員工編號”設置為表的外鍵。4、 在出勤表中,將“員工編號”設置為表的外鍵,再將“刷卡機號”設置為外鍵。5、 在職位調動表中,將“員工編號”設置為表的外鍵,再將“部門”號設置為外鍵。6、 在獎懲記錄表中,將“員工編號”設置為表的外鍵。7、 在請假記錄表中,將“員工編號”設置為表的外鍵。8、 在工資等表中的將“員工編號”設置為表的外鍵。5.3Check約束1、員工表中,將性別進行check

22、約束:check(性別 in(男,女)2、獎懲記錄表中,將獎懲類型進行check約束:check(獎懲類型 in(獎,懲)5.4 觸發(fā)器設計1、在職位調動表中,建立更改員工職務的觸發(fā)器create trigger trigger_職務修改 on 職位調動 for insertasdeclare new_員工編號 char(10),new_調動后職務 char(10)select new_員工編號=員工編號,new_調動后職務=調動后職務 from insertedupdate 員工 set 職務=new_調動后職務 where 員工編號=new_員工編號2、在員工表中,建立插入或刪除員工信息時

23、,修改其相應部門的人數create trigger trigger_增加員工 on 員工 for insertasdeclare new_部門號 char(4),new_員工人數 intselect new_部門號=部門號 from insertedselect new_員工人數=員工人數 from 部門update 部門 set 員工人數=new_員工人數+1 where 部門號=new_部門號create trigger trigger_減少員工 on 員工 for deleteasdeclare new_部門號 char(4),new_員工人數 intselect new_部門號=部門號

24、 from deletedselect new_員工人數=員工人數 from 部門update 部門 set 員工人數=new_員工人數-1 where 部門號=new_部門號3、在職位調動表中,當插入信息時,修改調動部門的人數信息create trigger trigger_部門人數修改 on 職位調動 for insertasdeclare new_前部門號 char(10),new_現部門號 char(10),new_調動后部門號 char(4),new_員工人數 int,new_調動前部門號 char(4)select new_現部門號=調動后部門號,new_前部門號=調動前部門號 f

25、rom insertedselect new_員工人數=員工人數 from 部門update 部門 set 員工人數=new_員工人數+1 where 部門號=new_現部門號update 部門 set 員工人數=new_員工人數-1 where 部門號=new_前部門號4、在獎懲記錄表中,更新獎懲信息時,修改工資表中的對應的獎金、罰款create trigger trigger_獎金 on 獎懲記錄 for insertasdeclare 獎金 money,獎懲類型 char(2),員工編號 char(4)select 獎金=獎懲金額,員工編號=員工編號,獎懲類型=獎懲類型 from ins

26、ertedbeginif(獎懲類型=獎)update 工資 set獎金=獎金 where 員工編號=員工編號endcreate trigger trigger_罰款 on 獎懲記錄 for insertasdeclare 罰款 money,獎懲類型 char(2),員工編號 char(4)select 罰款=獎懲金額,員工編號=員工編號,獎懲類型=獎懲類型 from insertedbeginif(獎懲類型=罰)update 工資 set 罰款=罰款 where 員工編號=員工編號end5、在工資表中,獎金、罰款發(fā)生變動時,更新相應的結算工資create trigger dbo.trigger

27、_update_a on dbo.工資 for updateas beginif UPDATE(罰款)update 工資set 結算工資 = 基本工資-罰款+獎金from 工資endcreate trigger dbo.trigger_update_a on dbo.工資 for updateas beginif UPDATE(獎金)update 工資set 結算工資 = 基本工資-罰款+獎金from 工資end第6章 數據庫視圖設計1、建立“員工基本信息查詢”視圖CREATE VIEW dbo.員工基本信息查詢ASSELECT dbo.員工.員工編號, dbo.員工.姓名, dbo.員工.部

28、門號, dbo.員工.職務, dbo.部門.領導人員, dbo.部門.部門名, dbo.個人經歷.任職經歷FROM dbo.員工 INNER JOIN dbo.部門 ON dbo.員工.部門號 = dbo.部門.部門號 INNER JOIN dbo.個人經歷 ON dbo.員工.員工編號 = dbo.個人經歷.員工編號2、建立“員工個人背景”視圖CREATE VIEW dbo.View_員工個人背景ASSELECT dbo.個人經歷.員工編號, dbo.個人經歷.任職經歷, dbo.個人經歷.學習經歷, dbo.家庭關系.親屬關系, dbo.家庭關系.親屬姓名FROM dbo.個人經歷 INN

29、ER JOIN dbo.家庭關系 ON dbo.個人經歷.員工編號 = dbo.家庭關系.員工編號第7章 數據庫存儲過程設計1、建立“查詢某部門人數”存儲過程CREATE procedure c_查詢某部門的人數部門號 char(4),人數 int outputasselect 人數=COUNT(員工.員工編號) from 員工 where 部門號=部門號2、建立“查詢某部門某職稱人數”存儲過程CREATE procedure c_查詢某部門某職稱人數部門號 char(4),職稱 char(10),人數 int outputasselect 人數=COUNT(員工.員工編號) from 員工 where (部門號=部門號 and 職稱=職稱)總結課程設計,是我們對現在所學的數據庫系統(tǒng)概論書中理論知識的實踐,我的課程設計題目是“某單位的人事管理系統(tǒng)”。我通過逐步的分析結構,勾畫了大致的數據庫框架。我經歷了需求分析、概念結構設計、邏輯結構設

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論