數(shù)據(jù)庫+vb人事管理系統(tǒng)_第1頁
數(shù)據(jù)庫+vb人事管理系統(tǒng)_第2頁
數(shù)據(jù)庫+vb人事管理系統(tǒng)_第3頁
數(shù)據(jù)庫+vb人事管理系統(tǒng)_第4頁
數(shù)據(jù)庫+vb人事管理系統(tǒng)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 / 20一、系統(tǒng)定義當(dāng)今中國經(jīng)濟(jì)迅速發(fā)展,各個(gè)大中小型企業(yè)迅速崛起,企業(yè)的人員管理漸漸顯露出了弊端,本系統(tǒng)以一個(gè)統(tǒng)一的界面,這就很需要一個(gè)好的管理系統(tǒng)來管理自己的企業(yè),傳統(tǒng)低效的人工管理已不合時(shí)宜。給公司的普通員工,高級員工,管理員工等提供了不同的操作及管理功能。數(shù)據(jù)庫服務(wù)器可配置在獨(dú)立的服務(wù)器上,也可配置在一臺運(yùn)行本系統(tǒng)的計(jì)算機(jī)上。適用于中小型企業(yè),或獨(dú)資的個(gè)人小公司。二、需求分析系統(tǒng)綜合需求作為一個(gè)公司的人事管理系統(tǒng),應(yīng)該給用戶提供方便、友好而簡潔的界面進(jìn)行應(yīng)用,并對企業(yè)的運(yùn)營過程中對員工的整體管理,并將這些數(shù)據(jù)進(jìn)行邏輯上的融合,以便于用戶查看、分析及管理。針對中小型企業(yè)的運(yùn)營模式,一

2、般分為:行政部,人事部,銷售部,會計(jì)部等幾個(gè)部門,對部門里邊的員工和管理者,都有一個(gè)對應(yīng)的數(shù)據(jù),每個(gè)部門的員工信息綜合起來又合成了全公司的員工信息。此系統(tǒng)提供了兩個(gè)登錄方式,一個(gè)是普通員工的登錄方式,普通員工可以查看自己的信息,部門信息,最新的人事調(diào)動(dòng)信息,工資信息,以及其他員工的簡單信息;另一個(gè)是系統(tǒng)管理員的登錄方式,管理員可以通過此系統(tǒng)對數(shù)據(jù)庫里邊的所有員工信息進(jìn)行操作,包括添加,修改和刪除,發(fā)布人事調(diào)動(dòng)信息,輸入員工出勤信息和計(jì)算員工工資等操作都有管理員進(jìn)行操作,以便員工可以查看。數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)2 / 20三、系統(tǒng)設(shè)計(jì)(一)概念結(jié)構(gòu)設(shè)計(jì)所在部門編號員工編號員工姓名職位性別聯(lián)系

3、電話身份證號碼籍貫文化程度婚姻狀況部門編號員工姓名部門名稱部門人數(shù)在職狀態(tài)員工編號部門描述部門名稱部門編號入職時(shí)間員工部門信息行 政 部等 十 個(gè)部門人事調(diào)動(dòng)員工編號出勤信息員工姓名原部門編號現(xiàn)部門編號原職位現(xiàn)職位請假天數(shù)加班天數(shù)曠工天數(shù)月出勤天數(shù)員工編號員工姓名所在部門編號數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)3 / 20(二)邏輯結(jié)構(gòu)設(shè)計(jì)員工信息員工編號int not null 員工姓名nvarchar(10) null 所在部門編號int null 職位nvarchar(10) null 性別nvarchar(5) null 籍貫nvarchar(30) null 身份證號碼bigint null

4、文化程度nvarchar(5) null 聯(lián)系電話bigint null 入職時(shí)間nvarchar(10) null 在職狀態(tài)nvarchar(10) null 婚姻狀況nvarchar(10) null 月出勤情況員工編號int not null 員工姓名nvarchar(10) null 所在部門編號int null 請假天數(shù)int null 加班天數(shù)int null 曠工天數(shù)int null 月出勤天數(shù)int null 部門信息部門編號int not null 部門名稱nvarchar(10) null 部門人數(shù)int null 部門描述nvarchar(50) null 包裝部(行政部

5、,人事部等部門和此表數(shù)據(jù)一樣)部門編號int not null 員工編號nvarchar(10) null 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)4 / 20(三)數(shù)據(jù)庫關(guān)系圖四、詳細(xì)設(shè)計(jì)員工編號int null 員工姓名nvarchar(20) null 人事調(diào)動(dòng)員工編號int not null 員工姓名nvarchar(20) null 原部門編號int not null 原職位nvarchar(10) null 現(xiàn)部門編號int not null 現(xiàn)職位nvarchar(10) null 調(diào)動(dòng)原因nvarchar(30) null 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)5 / 20(一)開發(fā)平臺及工具開發(fā)工具v

6、b 6.0 dbms:microsoft sql server 2005 (二)編碼設(shè)計(jì)系統(tǒng)采用 vb 應(yīng)用程序以方便開發(fā),為數(shù)據(jù)做了很好的界面設(shè)計(jì),并且可以進(jìn)行添加刪除修改存儲等。在數(shù)據(jù)源連接方面,使用ado 控件進(jìn)行數(shù)據(jù)庫的連接,并用datagrid 控件進(jìn)行數(shù)據(jù)顯示,不過這只是普通用戶進(jìn)行數(shù)據(jù)查看的界面,并不能對數(shù)據(jù)進(jìn)行任何操作,而能有對數(shù)據(jù)進(jìn)行操作權(quán)限的管理員就得從登錄界面進(jìn)入管理界面,對數(shù)據(jù)進(jìn)行增刪改減。(三)界面設(shè)計(jì).主頁.普通用戶登錄數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)6 / 20.普通員工進(jìn)入的查詢界面,按菜單進(jìn)行查詢操作.登錄的員工的本人信息數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)7 / 20.用視

7、圖對數(shù)據(jù)進(jìn)行簡單的查詢.部門信息的查看.管理員登錄.管理界面數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)8 / 20員工的增刪改操作.添加操作.修改操作五、課程設(shè)計(jì)總結(jié)這次課程設(shè)計(jì)我花了兩個(gè)星期的時(shí)間來完成,前期做了一些準(zhǔn)備工作, 了解了一般超市物數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)9 / 20流管理方面的背景知識,然后再權(quán)衡了時(shí)間和人力,做了適量簡化,并完成了初步的需求分析。稍作細(xì)化后,便開始設(shè)計(jì)數(shù)據(jù)庫。而后做了界面設(shè)計(jì),完成了程序大部分的主要界面。而在編碼方面,我從系統(tǒng)的功能、規(guī)模和實(shí)用方面考慮,并沒有去學(xué)習(xí)和采用過多花哨的新技術(shù),如 .net 、分布式等企業(yè)級應(yīng)用。我在規(guī)劃前,進(jìn)行了近半個(gè)月的時(shí)間來學(xué)習(xí)vb6.0的

8、,還有 sql server 中觸發(fā)器和存儲過程的知識和編寫方法。而且在以后的編碼過程中,也在不斷的學(xué)習(xí)并解決遇到的問題。在數(shù)據(jù)庫設(shè)計(jì)時(shí),由于有些倉促,沒有深入的考慮外碼約束的問題,使得編碼階段,發(fā)現(xiàn)了一個(gè)重大問題。在是十部門中某個(gè)部門中增加了某個(gè)員工后,在員工信息中并沒有記錄,主要是約束和主鍵沒設(shè)置好,并且對觸發(fā)器的使用非常陌生,不過要知道這次的課設(shè),大部分的時(shí)間都投在了vb 中去了,界面設(shè)計(jì)太重要了, 數(shù)據(jù)庫設(shè)計(jì)還不如說是界面設(shè)計(jì)了,很多知識都是現(xiàn)場學(xué)現(xiàn)場用的。不過還好,總算做完了,有點(diǎn)累,煩,但是當(dāng)完成的那一會,還是挺有成就感的,因?yàn)檫@次確實(shí)有很大的收獲,知道了一個(gè)系統(tǒng)的建立過程是多么的

9、復(fù)雜,對以后出去工作應(yīng)該有些幫助吧。這次課程設(shè)計(jì),我更加深入的了解到軟件工程的復(fù)雜性,以及前期規(guī)劃分析的重要性。其實(shí)在 vb 這種面向?qū)ο蟮某绦蛟O(shè)計(jì)中, 我的瀑布開發(fā)模型并不太合適。 而且如果系統(tǒng)再稍微大型一些,以一人之力也難以完成。以后的學(xué)習(xí)中應(yīng)該學(xué)習(xí)一些先進(jìn)的思想,并多加實(shí)踐,從寫程序和軟件架構(gòu)兩個(gè)方面都增強(qiáng)自己的能力。六、參考文獻(xiàn)1. visual basic 6.0 程序設(shè)計(jì)2. 數(shù)據(jù)庫系統(tǒng)概論(第三版) 七、附錄數(shù)據(jù)庫部分源代碼create database 人事管理系統(tǒng)/ 數(shù)據(jù)庫創(chuàng)建on primary (name= 人事管理系統(tǒng) _dat, 數(shù)據(jù)庫文件 人事管理系統(tǒng) _dat.m

10、df, 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)10 / 20size=5mb, maxsize=20mb, filegrowth=10%) log on( name= 人事管理系統(tǒng) _log, 數(shù)據(jù)庫文件 人事管理系統(tǒng) _dat.ldf, size=2mb, maxsize=10mb, filegrowth=1mb) use 人事管理系統(tǒng)go create table 員工信息(員工編號int not null, 員工姓名nvarchar(10) not null, 所在部門編號int not null, 職位 nvarchar(10) null, 性別 nvarchar(5) null, 籍貫 nvar

11、char(30) null, 身份證號碼bigint null, 婚姻狀況nvarchar(5) null, 文化程度nvarchar(10) null, 聯(lián)系電話bigint null, 入職時(shí)間datetime null, 在職狀態(tài)nvarchar(10) null, primary key( 員工編號 ,員工姓名 ,所在部門編號 ) create table 部門信息 ( 部門編號int not null, 部門名稱nvarchar(10) null, 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)11 / 20部門人數(shù)int null, 部門描述nvarchar(50) null, primary key

12、( 部門編號 ) create table 人事部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 行政部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 銷售部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 會計(jì)部 ( 員工編號int not null, 員工姓名nvarchar(2

13、0) null, primary key( 員工編號 ) create table 生產(chǎn)部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 技術(shù)部 ( 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)12 / 20員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 包裝部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create tabl

14、e 采購部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 服務(wù)部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 宣傳部 ( 員工編號int not null, 員工姓名nvarchar(20) null, primary key( 員工編號 ) create table 工資( 員工編號int not null, 員工姓名nvarchar(10) not null, 出勤天數(shù)int n

15、ull, 總工資 int null, primary key( 員工編號 ,員工姓名 ) 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)13 / 20create table 月出勤情況 ( 員工編號int not null, 員工姓名nvarchar(10) not null, 所在部門編號int not null, 請假天數(shù)int null, 加班天數(shù)int null, 曠工天數(shù)int null, 月全天出勤天數(shù)int null, 日期 datetime null, primary key( 員工編號 ,員工姓名 ,所在部門編號 ) create table 人事調(diào)動(dòng) ( 員工編號int not null,

16、員工姓名nvarchar(10) not null, 調(diào)動(dòng)原因nvarchar(30) null, 原部門編號int not null, 原職位 nvarchar(10) null, 現(xiàn)部門編號int not null, 現(xiàn)職位 nvarchar(10) null, primary key( 員工編號 ,員工姓名 ) create table 登錄信息 ( 用戶名 nvarchar(20) null, 用戶密碼nvarchar(20) null) create table 管理員信息 ( 用戶名 nvarchar(20) null, 用戶密碼nvarchar(20) null) create

17、view 員工工資查詢as 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)14 / 20select 員工編號 ,員工姓名 ,請假天數(shù) ,加班天數(shù) ,曠工天數(shù) ,月全天出勤天數(shù) ,總工資from 工資,月出勤情況where 工資.員工編號 =月出勤情況 .員工編號 ; create view 部門員工信息as select 部門編號 ,部門名稱 ,員工編號 ,員工姓名from 員工信息 ,部門信息where 員工信息 .所在部門編號 =部門信息 .部門編號create view 員工簡單信息查詢as select 員工編號 ,員工姓名 ,所在部門編號 ,部門名稱 ,職位,聯(lián)系電話from 員工信息 ,部門信息wh

18、ere 員工信息 .所在部門編號 =部門信息 .部門編號insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(101, 行政部 ,0,無) insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(102, 人事部 ,0,無) insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(103, 會計(jì)部 ,0,無) insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(104, 銷售部 ,0,無) insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部

19、門描述 ) values(105, 包裝部 ,0,無) insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(106, 技術(shù)部 ,0,無) insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(107, 生產(chǎn)部 ,0,無) insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(108, 宣傳部 ,0,無) 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)15 / 20insert 部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(109, 采購部 ,0,無) insert 部門信息

20、(部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 ) values(110, 服務(wù)部 ,0,無) insert 行政部(員工編號 ,員工姓名 ) values(10101, 劉星) insert 行政部 (員工編號 ,員工姓名 ) values(10103, 劉小星 ) insert 行政部 (員工編號 ,員工姓名 ) values(10104, 劉中星 ) insert 行政部 (員工編號 ,員工姓名 ) values(10107, 劉大星) insert 行政部 (員工編號 ,員工姓名 ) values(10108, 劉笑星 ) insert 行政部 (員工編號 ,員工姓名 ) values

21、(10109, 劉校星 ) insert 月出勤情況 (員工編號 ,員工姓名 ,所在部門編號 ,請假天數(shù) ,加班天數(shù) ,曠工天數(shù) ,月全天出勤天數(shù) ) values(10201, 劉星,102,0,0,0,30) insert 人事調(diào)動(dòng) (員工編號 ,員工姓名 ,原部門編號 ,原職位 ,現(xiàn)部門編號 ,現(xiàn)職位 ) values(10201, 劉星,101, 經(jīng)理,102, 經(jīng)理) insert 登錄信息 (用戶名 ,用戶密碼 ) values(10101 ,10101) insert 登錄信息 (用戶名 ,用戶密碼 ) values(10201 ,10201) insert 管理員信息 (用戶名

22、 ,用戶密碼 ) values(sa ,123) vb 部分代碼數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)16 / 20form1 代碼private sub 關(guān)閉 _click() end end sub private sub 管理員登陸 _click() frmlogin.show unload me end sub private sub 員工登陸 _click() frmlogin1.show unload me end sub 管理員登陸代碼option explicit private sub cmdcancel_click() me.hide form1.show end sub privat

23、e sub cmdok_click() dim user as string, pass as string, sqluse as string, sqlpass as string, trsql as string if txtusername.text = then msgbox 請輸入用戶名!, vbexclamation txtusername.setfocus else user = txtusername.text end if if txtpassword.text = then msgbox 請輸入密碼!, vbexclamation txtpassword.setfocus

24、else pass = txtpassword.text end if sqluse = select * from 管理員信息where 用戶名 = & user & sqlpass = select * from 管理員信息where 用戶密碼 = & pass & trsql = select * from 管理員信息where 用戶名 = & user & and 用戶密碼 = & pass & with adodc1 .commandtype = adcmdtext .recordsource = sqluse .ref

25、resh if .recordset.eof and .recordset.bof then msgbox 沒有此用戶,請重新輸入! else .recordsource = sqlpass .refresh 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)17 / 20if .recordset.eof and .recordset.bof then msgbox 密碼錯(cuò)誤,請重新輸入! else .recordsource = trsql .refresh if .recordset.eof and .recordset.bof then msgbox 無效用戶,請重新輸入! else form8.show u

26、nload me end if end if end if end with end sub private sub rorm_initialize() chdrive app.path chdir app.path end sub 員工信息操作private sub command1_click() 添加用戶dim user as integer user = val(text1.text) with adodc1 .commandtype = adcmdtext .recordsource = select * from 員工信息where 員工編號 = & user &

27、.refresh if .recordset.bof then .recordset.addnew .recordset.fields(0).value = user .recordset.fields(1).value = text2.text .recordset.fields(2).value = val(text3.text) .recordset.fields(3).value = text4.text .recordset.fields(4).value = text5.text .recordset.fields(5).value = text6.text .recordset.

28、fields(6).value = text7.text .recordset.fields(7).value = text8.text .recordset.fields(8).value = text9.text .recordset.fields(9).value = text10.text .recordset.fields(10).value = text11.text .recordset.fields(11).value = text12.text .recordset.update msgbox 添加用戶成功 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)18 / 20unload me else

29、 msgbox 員工編號已注冊,請重新輸入 me.hide end if end with end sub private sub command2_click() form8.show end sub private sub command3_click() 修改信息dim user1 as integer, user2 as string user1 = val(text13.text) user2 = text14.text with adodc1 .commandtype = adcmdtext .recordsource = select * from 員工信息where 員工編號

30、= & user1 & and 員工姓名 = & user2 & .refresh if .recordset.bof then msgbox 你的資料未輸入系統(tǒng),請找管理員 else .recordset.fields(0).value = text1.text .recordset.fields(1).value = text2.text .recordset.fields(2).value = text3.text .recordset.fields(3).value = text4.text .recordset.fields(4).value = te

31、xt5.text .recordset.fields(5).value = text6.text .recordset.fields(6).value = text7.text .recordset.fields(7).value = text8.text .recordset.fields(8).value = text9.text .recordset.fields(9).value = text10.text .recordset.fields(10).value = text11.text .recordset.fields(11).value = text12.text .recordset.updatebatch msgbox 該員工信息已經(jīng)修改,請查詢確認(rèn)! end if end with end sub private sub command4_click() 刪除信息dim user as integer user = val(text13.text) 數(shù)據(jù)庫課程設(shè)計(jì)人事管理系統(tǒng)19 / 20with adodc1 .commandtype = adcmdtext .recordsource = select * from 員工信息where 員工編號 = & user &a

溫馨提示

  • 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

提交評論