數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告人事管理系統(tǒng)方案_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告人事管理系統(tǒng)方案_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告人事管理系統(tǒng)方案_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告人事管理系統(tǒng)方案_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告人事管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 .課程設(shè)計(jì)報(bào)告 課程設(shè)計(jì)題目: 人事管理系統(tǒng) 姓 名: 學(xué) 號: 班 級: 指導(dǎo)教師 : 2016 年1月15日 .頁腳. 1 題目分析:人事管理系統(tǒng)是企、事業(yè)單位常見的計(jì)算機(jī)信息管理系統(tǒng)。它的主要任務(wù)是對各種人事信息進(jìn)行日常的信息管理,如人員信息的輸入、查詢、修改、增加、刪除,迅速準(zhǔn)確地完成各種人員信息的統(tǒng)計(jì)計(jì)算和匯總,快速打印出報(bào)表。在建立與實(shí)現(xiàn)人事管理系統(tǒng)時(shí),進(jìn)行了功能劃分,能夠由數(shù)據(jù)庫管理系統(tǒng)完成的功能應(yīng)盡可能由數(shù)據(jù)庫管理系統(tǒng)守成,充分發(fā)揮數(shù)據(jù)庫管理系統(tǒng)高效、完全、可靠、便捷的性能,減少編程人員的工作量。工資管理系統(tǒng)是數(shù)據(jù)庫管理系統(tǒng)的一個(gè)比較典型的應(yīng)用,前臺使用的是微軟的VB6.0,

2、后臺數(shù)據(jù)庫采用Microsoft SQL Sever數(shù)據(jù)庫。運(yùn)行結(jié)果證明,本人事管理系統(tǒng)極大提高了工作效率,節(jié)省了人力和物力,自重滿足企業(yè)員工管理的需要。人事管理系統(tǒng)的主要任務(wù)是用計(jì)算機(jī)對各種員工信息進(jìn)行日常的管理,如查詢、修改、添加、刪除以及存儲等,迅速準(zhǔn)確地完成各種員工信息的統(tǒng)計(jì)計(jì)算和匯總工作,針對系統(tǒng)服務(wù)對象的具體要求,設(shè)計(jì)了人事管理系統(tǒng)。人事管理系統(tǒng)主要有以下幾大功能:(1) 對單位人員的變動進(jìn)行處理。一個(gè)單位的職工不會是一成不變的,總是在不斷的變化:有調(diào)出、有調(diào)入、也有職工在本單位內(nèi)部調(diào)動。因此,設(shè)計(jì)系統(tǒng)是應(yīng)考慮到這些情況。(2) 對職工的工資進(jìn)行計(jì)算、修改??梢詫β毠さ墓べY檔案進(jìn)行

3、個(gè)別、部分和批量修改,同時(shí),能對各職工的工資進(jìn)行計(jì)算,即計(jì)算基本工資、崗位工資、水電費(fèi)及實(shí)發(fā)金額等。(3) 查詢統(tǒng)計(jì)功能。要求即可以單項(xiàng)查詢,比如查看某個(gè)職工的就職情況等;也可以多項(xiàng)查詢,比如某個(gè)部門所有的員工的工資信息。2 設(shè)計(jì)分析:1,數(shù)據(jù)表的設(shè)計(jì):(1)基本信息表:鍵名稱數(shù)據(jù)類型大小空默認(rèn)值主鍵員工編號char8Not null姓名char8Not null性別char2null“男”出生年月datetime8null外鍵所屬部門char4null文化程度char4null職稱char12null身份證號Varchar50null婚姻狀況Char20null備注Varchar100nul

4、l年齡IntNull(2) 基本部門表鍵名稱數(shù)據(jù)類型大小空默認(rèn)值主鍵部門編號char4Not null部門名稱char20null部門負(fù)責(zé)人char8null部門人數(shù)int4null(3) 職工工資表鍵名稱數(shù)據(jù)類型大小空默認(rèn)值主鍵、外鍵員工編號char8不可以外鍵部門編號char4可以基本工資numeric5(8,2)可以獎(jiǎng)金numeric5(8,2)可以2. ER圖設(shè)計(jì):3.ER圖轉(zhuǎn)換成關(guān)系模式:(主鍵添加下劃線)(1) 基本信息(編號,姓名,性別,籍貫,年齡,學(xué)歷,婚姻狀況,部門,職稱,參加工作時(shí)間,崗位,工資,身份證號,電話號碼,備注)(2) 職工部門:(部門編號,部門名稱,職工總數(shù),部

5、門負(fù)責(zé)人,所有職工編號)(3) 職工工資表:(編號,姓名,工資,獎(jiǎng)金)(4) 人事管理(編號,部門編號,姓名)3 創(chuàng)建人事管理系統(tǒng)(數(shù)據(jù)庫部分)1創(chuàng)建數(shù)據(jù)庫:(1) 創(chuàng)建數(shù)據(jù)庫的實(shí)現(xiàn):create database 人事管理系統(tǒng) on primary ( name=人事管理系統(tǒng), filename='G:數(shù)據(jù)庫人事管理系統(tǒng).mdf', size=5, maxsize=100, filegrowth=10% ) log on ( name=人事信息管理系統(tǒng), filename='G:數(shù)據(jù)庫人事管理系統(tǒng).ldf', size=3, maxsize=100, file

6、growth=5 )(2) 創(chuàng)建數(shù)據(jù)庫:2. 創(chuàng)建基本數(shù)據(jù)表:(1)創(chuàng)建數(shù)據(jù)標(biāo)的實(shí)現(xiàn); use 人事管理系統(tǒng) create table 基本職工信息表(姓名 varchar(20),編號 char(8),性別 char(8),籍貫 char(10),年齡 int,學(xué)歷 varchar(20),婚姻狀況 varchar(20),部門 varchar(20),職稱 varchar(20),參加工作時(shí)間 char(10),崗位 varchar(30),工資 char(20),省份證號 varchar(30),電話號碼 varchar(30),備注 varchar (50)use 人事管理系統(tǒng) cre

7、ate table 職工部門表(部門編號 int,部門名稱 varchar(30),部門負(fù)責(zé)人 varchar(30),職工總數(shù) int,所有職員編號 varchar(100)use 人事管理系統(tǒng) create table 職工工資表(編號 char(8),姓名 varchar(50),工資 char(20),獎(jiǎng)金 char(8)數(shù)據(jù)表的創(chuàng)建:基本信息表:職工部門表職工工資表3. 創(chuàng)建存儲過程: create proc p2(sname varchar(20) as if exists( select * from 職工基本信息表where sname=sname) select * from

8、 職工基本信息表where sname=sname else print '查無此人' p2 '劉' 4. 創(chuàng)建觸發(fā)器: create trigger tr1 on 基本職工信息表 for insert as print '任何人不得添加數(shù)據(jù)' rollbackselect * from s四,創(chuàng)建人事管理系統(tǒng)訪問鍵面:(VB部分)1,創(chuàng)建鍵面的實(shí)現(xiàn)代碼:(1)基本職工信息查詢:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()With Adodc1.

9、RecordsetText1(0) = .Fields("姓名")Text1(1) = .Fields("編號")Text1(2) = .Fields("性別")Text1(3) = .Fields("籍貫")End WithEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""strsql1 = "s

10、elect *from 基本職工信息表"Adodc1.ConnectionString = connAdodc1.RecordSource = strsql1Adodc1.RefreshSet DataGrid1.DataSource = Adodc1With Adodc1.RecordsetText1.Text = .Fields("姓名")Text2.Text = .Fields("編號")Text3.Text = .Fields("性別")Text4.Text = .Fields("籍貫")End

11、WithEnd Sub(2) 基本的職工工資:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()With Adodc1.RecordsetText1(0) = .Fields("姓名")Text1(1) = .Fields("編號")Text1(2) = .Fields("性別")Text1(3) = .Fields("籍貫")End WithEnd SubPrivate Sub Form_Load()Text1.Tex

12、t = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""strsql1 = "select *from 基本職工信息表"Adodc1.ConnectionString = connAdodc1.RecordSource = strsql1Adodc1.RefreshSet DataGrid1.DataSource = Adodc1With Adodc1.RecordsetText1.Text = .Fields("姓名")Text

13、2.Text = .Fields("編號")Text3.Text = .Fields("性別")Text4.Text = .Fields("籍貫")End WithEnd Sub(3) 職工部門:Private Sub cmdAdd_Click() Data1.Recordset.AddNewEnd SubPrivate Sub cmdDelete_Click() '如果刪除記錄集的最后一條記錄 '記錄或記錄集中唯一的記錄 Data1.Recordset.Delete Data1.Recordset.MoveNextE

14、nd SubPrivate Sub cmdRefresh_Click() '這僅對多用戶應(yīng)用程序才是需要的 Data1.RefreshEnd SubPrivate Sub cmdUpdate_Click() Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModifiedEnd SubPrivate Sub cmdClose_Click() Unload MeEnd SubPrivate Sub Data1_Error(DataErr As Integer, Response As Integer) &

15、#39;這就是放置錯(cuò)誤處理代碼的地方 '如果想忽略錯(cuò)誤,注釋掉下一行代碼 '如果想捕捉錯(cuò)誤,在這里添加錯(cuò)誤處理代碼 MsgBox "數(shù)據(jù)錯(cuò)誤事件命中錯(cuò)誤:" & Error$(DataErr) Response = 0 '忽略錯(cuò)誤End SubPrivate Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next '這將顯示當(dāng)前記錄位置 '為動態(tài)集和快照 Data1.Caption = "記錄:" & (

16、Data1.Recordset.AbsolutePosition + 1) '對于 Table 對象,當(dāng)記錄集創(chuàng)建后并使用下面的行時(shí), '必須設(shè)置 Index 屬性 'Data1.Caption = "記錄:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01) + 1End SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer) Select Case Action Ca

17、se vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select Screen.MousePointer = vbHourglassEnd Su

18、b(4)基本職工信息:Private Sub cmdAdd_Click() Data1.Recordset.AddNewEnd SubPrivate Sub cmdDelete_Click() '如果刪除記錄集的最后一條記錄 '記錄或記錄集中唯一的記錄 Data1.Recordset.Delete Data1.Recordset.MoveNextEnd SubPrivate Sub cmdRefresh_Click() '這僅對多用戶應(yīng)用程序才是需要的 Data1.RefreshEnd SubPrivate Sub cmdUpdate_Click() Data1.Upd

19、ateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModifiedEnd SubPrivate Sub cmdClose_Click() Unload MeEnd SubPrivate Sub Data1_Error(DataErr As Integer, Response As Integer) '這就是放置錯(cuò)誤處理代碼的地方 '如果想忽略錯(cuò)誤,注釋掉下一行代碼 '如果想捕捉錯(cuò)誤,在這里添加錯(cuò)誤處理代碼 MsgBox "數(shù)據(jù)錯(cuò)誤事件命中錯(cuò)誤:" & Error$(DataErr

20、) Response = 0 '忽略錯(cuò)誤End SubPrivate Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next '這將顯示當(dāng)前記錄位置 '為動態(tài)集和快照 Data1.Caption = "記錄:" & (Data1.Recordset.AbsolutePosition + 1) '對于 Table 對象,當(dāng)記錄集創(chuàng)建后并使用下面的行時(shí), '必須設(shè)置 Index 屬性 'Data1.Caption = "

21、;記錄:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01) + 1End SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer) '這是放置驗(yàn)證代碼的地方 '當(dāng)下面的動作發(fā)生時(shí),調(diào)用這個(gè)事件 Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew

溫馨提示

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

最新文檔

評論

0/150

提交評論