數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告(人事管理系統(tǒng)).doc
《數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告(人事管理系統(tǒng)).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告(人事管理系統(tǒng)).doc(9頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
課程設(shè)計(jì)報(bào)告 課程設(shè)計(jì)題目: 人事管理系統(tǒng) 姓 名: 學(xué) 號(hào): 班 級(jí): 指導(dǎo)教師 : 2016 年1月15日 1. 題目分析: 人事管理系統(tǒng)是企、事業(yè)單位常見(jiàn)的計(jì)算機(jī)信息管理系統(tǒng)。它的主要任務(wù)是對(duì)各種人事信息進(jìn)行日常的信息管理,如人員信息的輸入、查詢、修改、增加、刪除,迅速準(zhǔn)確地完成各種人員信息的統(tǒng)計(jì)計(jì)算和匯總,快速打印出報(bào)表。在建立與實(shí)現(xiàn)人事管理系統(tǒng)時(shí),進(jìn)行了功能劃分,能夠由數(shù)據(jù)庫(kù)管理系統(tǒng)完成的功能應(yīng)盡可能由數(shù)據(jù)庫(kù)管理系統(tǒng)守成,充分發(fā)揮數(shù)據(jù)庫(kù)管理系統(tǒng)高效、完全、可靠、便捷的性能,減少編程人員的工作量。工資管理系統(tǒng)是數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)比較典型的應(yīng)用,前臺(tái)使用的是微軟的VB6.0,后臺(tái)數(shù)據(jù)庫(kù)采用Microsoft SQL Sever數(shù)據(jù)庫(kù)。運(yùn)行結(jié)果證明,本人事管理系統(tǒng)極大提高了工作效率,節(jié)省了人力和物力,自重滿足企業(yè)員工管理的需要。 人事管理系統(tǒng)的主要任務(wù)是用計(jì)算機(jī)對(duì)各種員工信息進(jìn)行日常的管理,如查詢、修改、添加、刪除以及存儲(chǔ)等,迅速準(zhǔn)確地完成各種員工信息的統(tǒng)計(jì)計(jì)算和匯總工作,針對(duì)系統(tǒng)服務(wù)對(duì)象的具體要求,設(shè)計(jì)了人事管理系統(tǒng)。人事管理系統(tǒng)主要有以下幾大功能: (1) 對(duì)單位人員的變動(dòng)進(jìn)行處理。一個(gè)單位的職工不會(huì)是一成不變的,總是在不斷的變化:有調(diào)出、有調(diào)入、也有職工在本單位內(nèi)部調(diào)動(dòng)。因此,設(shè)計(jì)系統(tǒng)是應(yīng)考慮到這些情況。 (2) 對(duì)職工的工資進(jìn)行計(jì)算、修改。可以對(duì)職工的工資檔案進(jìn)行個(gè)別、部分和批量修改,同時(shí),能對(duì)各職工的工資進(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)值 主鍵 員工編號(hào) char 8 Not null 姓名 char 8 Not null 性別 char 2 null “男” 出生年月 datetime 8 null 外鍵 所屬部門 char 4 null 文化程度 char 4 null 職稱 char 12 null 身份證號(hào) Varchar 50 null 婚姻狀況 Char 20 null 備注 Varchar 100 null 年齡 Int Null (2) 基本部門表 鍵 名稱 數(shù)據(jù)類型 大小 空 默認(rèn)值 主鍵 部門編號(hào) char 4 Not null 部門名稱 char 20 null 部門負(fù)責(zé)人 char 8 null 部門人數(shù) int 4 null (3) 職工工資表 鍵 名稱 數(shù)據(jù)類型 大小 空 默認(rèn)值 主鍵、外鍵 員工編號(hào) char 8 不可以 外鍵 部門編號(hào) char 4 可以 基本工資 numeric 5(8,2) 可以 獎(jiǎng)金 numeric 5(8,2) 可以 2. ER圖設(shè)計(jì): 3.ER圖轉(zhuǎn)換成關(guān)系模式:(主鍵添加下劃線) (1) 基本信息(編號(hào),姓名,性別,籍貫,年齡,學(xué)歷,婚姻狀況,部門,職稱,參加工作時(shí)間,崗位,工資,身份證號(hào),電話號(hào)碼,備注) (2) 職工部門:(部門編號(hào),部門名稱,職工總數(shù),部門負(fù)責(zé)人,所有職工編號(hào)) (3) 職工工資表:(編號(hào),姓名,工資,獎(jiǎng)金) (4) 人事管理(編號(hào),部門編號(hào),姓名) 3. 創(chuàng)建人事管理系統(tǒng)(數(shù)據(jù)庫(kù)部分) 1創(chuàng)建數(shù)據(jù)庫(kù): (1) 創(chuàng)建數(shù)據(jù)庫(kù)的實(shí)現(xiàn): create database 人事管理系統(tǒng) on primary ( name=人事管理系統(tǒng), filename=G:\數(shù)據(jù)庫(kù)\人事管理系統(tǒng).mdf, size=5, maxsize=100, filegrowth=10% ) log on ( name=人事信息管理系統(tǒng), filename=G:\數(shù)據(jù)庫(kù)\人事管理系統(tǒng).ldf, size=3, maxsize=100, filegrowth=5 ) (2) 創(chuàng)建數(shù)據(jù)庫(kù): 2. 創(chuàng)建基本數(shù)據(jù)表: (1)創(chuàng)建數(shù)據(jù)標(biāo)的實(shí)現(xiàn); use 人事管理系統(tǒng) create table 基本職工信息表 (姓名 varchar(20), 編號(hào) char(8), 性別 char(8), 籍貫 char(10), 年齡 int, 學(xué)歷 varchar(20), 婚姻狀況 varchar(20), 部門 varchar(20), 職稱 varchar(20), 參加工作時(shí)間 char(10), 崗位 varchar(30), 工資 char(20), 省份證號(hào) varchar(30), 電話號(hào)碼 varchar(30), 備注 varchar (50) ) use 人事管理系統(tǒng) create table 職工部門表 (部門編號(hào) int, 部門名稱 varchar(30), 部門負(fù)責(zé)人 varchar(30), 職工總數(shù) int, 所有職員編號(hào) varchar(100) ) use 人事管理系統(tǒng) create table 職工工資表 (編號(hào) char(8), 姓名 varchar(50), 工資 char(20), 獎(jiǎng)金 char(8) ) 數(shù)據(jù)表的創(chuàng)建: ?基本信息表:?職工部門表 ?職工工資表 3. 創(chuàng)建存儲(chǔ)過(guò)程: create proc p2(@sname varchar(20)) as if exists( select * from 職工基本信息表where sname=@sname) select * from 職工基本信息表where sname=@sname else print 查無(wú)此人 p2 劉 4. 創(chuàng)建觸發(fā)器: create trigger tr1 on 基本職工信息表 for insert as print 任何人不得添加數(shù)據(jù) rollback select * from s 四,創(chuàng)建人事管理系統(tǒng)訪問(wèn)鍵面:(VB部分) 1,創(chuàng)建鍵面的實(shí)現(xiàn)代碼: (1)基本職工信息查詢: Private Sub Command1_Click() Unload Me End Sub Private Sub DataGrid1_Click() With Adodc1.Recordset Text1(0) = .Fields("姓名") Text1(1) = .Fields("編號(hào)") Text1(2) = .Fields("性別") Text1(3) = .Fields("籍貫") End With End Sub Private Sub Form_Load() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" strsql1 = "select *from 基本職工信息表" Adodc1.ConnectionString = conn Adodc1.RecordSource = strsql1 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 With Adodc1.Recordset Text1.Text = .Fields("姓名") Text2.Text = .Fields("編號(hào)") Text3.Text = .Fields("性別") Text4.Text = .Fields("籍貫") End With End Sub (2) 基本的職工工資: Private Sub Command1_Click() Unload Me End Sub Private Sub DataGrid1_Click() With Adodc1.Recordset Text1(0) = .Fields("姓名") Text1(1) = .Fields("編號(hào)") Text1(2) = .Fields("性別") Text1(3) = .Fields("籍貫") End With End Sub Private Sub Form_Load() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" strsql1 = "select *from 基本職工信息表" Adodc1.ConnectionString = conn Adodc1.RecordSource = strsql1 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 With Adodc1.Recordset Text1.Text = .Fields("姓名") Text2.Text = .Fields("編號(hào)") Text3.Text = .Fields("性別") Text4.Text = .Fields("籍貫") End With End Sub (3) 職工部門: Private Sub cmdAdd_Click() Data1.Recordset.AddNew End Sub Private Sub cmdDelete_Click() 如果刪除記錄集的最后一條記錄 記錄或記錄集中唯一的記錄 Data1.Recordset.Delete Data1.Recordset.MoveNext End Sub Private Sub cmdRefresh_Click() 這僅對(duì)多用戶應(yīng)用程序才是需要的 Data1.Refresh End Sub Private Sub cmdUpdate_Click() Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 這就是放置錯(cuò)誤處理代碼的地方 如果想忽略錯(cuò)誤,注釋掉下一行代碼 如果想捕捉錯(cuò)誤,在這里添加錯(cuò)誤處理代碼 MsgBox "數(shù)據(jù)錯(cuò)誤事件命中錯(cuò)誤:" & Error$(DataErr) Response = 0 忽略錯(cuò)誤 End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 這將顯示當(dāng)前記錄位置 為動(dòng)態(tài)集和快照 Data1.Caption = "記錄:" & (Data1.Recordset.AbsolutePosition + 1) 對(duì)于 Table 對(duì)象,當(dāng)記錄集創(chuàng)建后并使用下面的行時(shí), 必須設(shè)置 Index 屬性 Data1.Caption = "記錄:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select Screen.MousePointer = vbHourglass End Sub (4)基本職工信息: Private Sub cmdAdd_Click() Data1.Recordset.AddNew End Sub Private Sub cmdDelete_Click() 如果刪除記錄集的最后一條記錄 記錄或記錄集中唯一的記錄 Data1.Recordset.Delete Data1.Recordset.MoveNext End Sub Private Sub cmdRefresh_Click() 這僅對(duì)多用戶應(yīng)用程序才是需要的 Data1.Refresh End Sub Private Sub cmdUpdate_Click() Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Data1_Error(DataErr As Integer, Response As Integer) 這就是放置錯(cuò)誤處理代碼的地方 如果想忽略錯(cuò)誤,注釋掉下一行代碼 如果想捕捉錯(cuò)誤,在這里添加錯(cuò)誤處理代碼 MsgBox "數(shù)據(jù)錯(cuò)誤事件命中錯(cuò)誤:" & Error$(DataErr) Response = 0 忽略錯(cuò)誤 End Sub Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next 這將顯示當(dāng)前記錄位置 為動(dòng)態(tài)集和快照 Data1.Caption = "記錄:" & (Data1.Recordset.AbsolutePosition + 1) 對(duì)于 Table 對(duì)象,當(dāng)記錄集創(chuàng)建后并使用下面的行時(shí), 必須設(shè)置 Index 屬性 Data1.Caption = "記錄:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1 End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) 這是放置驗(yàn)證代碼的地方 當(dāng)下面的動(dòng)作發(fā)生時(shí),調(diào)用這個(gè)事件 Select Case Action Case vbDataActionMoveFirst Case vbDataActionMovePrevious Case vbDataActionMoveNext Case vbDataActionMoveLast Case vbDataActionAddNew Case vbDataActionUpdate Case vbDataActionDelete Case vbDataActionFind Case vbDataActionBookmark Case vbDataActionClose End Select Screen.MousePointer = vbHourglass End Sub 2.實(shí)現(xiàn): (1)登陸鍵面: (2)基本菜單 (3)修改密碼 (4) 基本信息: (5) 五:實(shí)驗(yàn)總結(jié) 1. 實(shí)驗(yàn)中遇到的問(wèn)題: (1) 數(shù)據(jù)庫(kù)中存儲(chǔ)過(guò)程和觸發(fā)器的建立,因?yàn)樵谄綍r(shí)的學(xué)習(xí)中沒(méi)有太認(rèn)真的學(xué)習(xí)這一塊以至于在課程設(shè)計(jì)的過(guò)程中這塊存在者嚴(yán)重的問(wèn)題,但是在同學(xué)的幫助下及時(shí)的得到了解決 (2) 數(shù)據(jù)庫(kù)與VB的連接訪問(wèn) 2,心得: 很多的題目看似簡(jiǎn)單,其實(shí)不然,,一開(kāi)始看了只有這么幾個(gè)模塊是心里挺高興的,但是當(dāng)我真真正正地去把一個(gè)操作寫成功時(shí),很多意想不到的情況發(fā)生了。有時(shí)候會(huì)為了一個(gè)操作不能調(diào)試成功而整個(gè)晚上都不能去安心做其他的作業(yè)。 這也就要求我們要冷靜沉著、兢兢業(yè)業(yè)的去對(duì)待這件事,編程是一個(gè)很繁瑣的過(guò)程,要考慮到很多錯(cuò)誤轉(zhuǎn)移情況,在這期間會(huì)有很多以前不曾想過(guò)的問(wèn)題出現(xiàn),次數(shù)多了,不免會(huì)有覺(jué)得做不下去的感覺(jué)。但是我從中發(fā)現(xiàn),只要一步一步調(diào)試、靜下心來(lái)看待問(wèn)題,再?gòu)?fù)雜再微小的問(wèn)題都會(huì)迎刃而解,當(dāng)一個(gè)程序被調(diào)試出來(lái)時(shí),那時(shí)的快樂(lè)相比與任何困難都值得的。經(jīng)過(guò)課程設(shè)計(jì)我覺(jué)得立足程序、回歸書(shū)本才是組重要的,在著手寫程序時(shí)覺(jué)得思路一片混亂,無(wú)意間出現(xiàn)的問(wèn)題會(huì)不知道怎么解決。這時(shí),需要回歸書(shū)本,書(shū)本是前人總結(jié)的經(jīng)驗(yàn),幾乎所有情況都會(huì)有解決方法。只有把書(shū)本“吃透”,在遇到問(wèn)題是才會(huì)反應(yīng)快。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫(kù) 課程設(shè)計(jì) 報(bào)告 人事管理系統(tǒng)
鏈接地址:http://m.kudomayuko.com/p-6485069.html