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