




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精品文檔數學與計算機學院數據庫系統概論課程設計設計名稱: 人事管理系統數據庫 2021-2021學年第2學期歡迎下載精品文檔目錄一、課題概述.2二、需求分析.22.1 系統功能要求設計.22.2 系統模塊設計.2三、概念結構設計33.1系統流程圖.33.2系統數據字典.53.2.1主要的數據流定義.5由實體畫出ER圖51實體屬性圖.62實體聯系圖.83完整的實體-聯系圖.9四、數據庫邏輯設計.104.1數據表104.2由系統ER圖轉化而得到的關系模式.124.3 確定關系模型的存取方法.134.4確定數據庫的存儲結構13五、數據庫實施程序調試145.1登陸界面145.2操作界面155.2.1添
2、加員工.155.2.2員工和部門編號是自動生成.165.2.3婚姻情況選擇時會提示是否為必填信息.165.2.4添加部門信息.175.3根據員工號或者部門號查詢信息175.3.1根據員工號搜索員工信息.175.3.2根據員工號直接刪除某個員工的信息.185.3.3根據部門號搜索部門信息.205.3.4根據部門號直接刪除某個部門的信息.21六、總結.22歡迎下載精品文檔一、課題概述隨著計算機的開展與普及,以及互聯網技術的擴展,日常人事管理必將實現無紙化辦公,并且參加到公司內部的Intranet或者是Internet上去,實現數據的共享,這樣有利于人事信息在單位內部的查詢,提高了數據資源的利用,并
3、且能及時的得到更新,不需要象過去那樣浪費大量的人力物力去進行抄寫,提高了工作的效率。計算機技術、網絡技術和信息技術的開展,使辦公系統更趨于系統化、科學化和網絡化。網絡辦公自動化系統是計算機技術和網絡迅速開展的一個辦公應用解決方案,它的主要目的是實現信息交流和信息共性,提供協同工作的手段,提高辦公的效率,讓人們從繁瑣的有紙辦公中解脫出來。二、需求分析2.1 系統功能要求設計 通過對現行人事管理系統的調查,明確了人事管理系統由檔案管理、職務調動管理、管理組成。 系統功能的主要描述如下:1員工檔案管理 對公司里所有員工進行統一編號;將每一位員工的信息保存
4、在員工檔案記錄中。2對新聘用的員工,將其信息參加到員工檔案記錄中;對于解聘的員工,將其信息從員工檔案記錄中刪除。3當員工的信息發生變動時,修改員工檔案記錄中相應的屬性。4員工職務調動管理對公司里所有員工的職務記錄進行統一編號;登記員工調動前后的具體職務,以及調動時間。 5部門管理對公司所有的部門進行編號,建立部門記錄。2.2 系統模塊設計(1) 員工根本信息表的添加、刪除、修改、查詢。(2) 員工婚姻情況表的添加、刪除、修改、查詢,反映員工的配偶信息。(3) 員工學歷信息表的添加、刪除、修改、查詢反映員工的學歷、專業、畢業時間、學校、外語情況等。(4) 企業工作崗位表的添加、刪除、修
5、改、查詢。5企業部門信息表的添加、刪除、修改、查詢。三、概念結構設計3.1根據以上模塊,可以得到系統流程圖。用戶登陸驗證用戶表選擇操作成功不成功添加操作刪除操作修改操作員工信息婚姻狀況學歷信息工作崗位部門信息驗證錄入數據庫符合要求不符合要求用戶登錄用戶驗證員工信息婚姻狀況學歷信息工作崗位添加信息修改信息刪除信息添加信息修改信息刪除信息添加信息修改信息刪除信息部門信息添加信息修改信息刪除信息添加信息修改信息刪除信息驗證失敗3.2系統數據字典數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程5個局部。人事管理系統數據流程圖中,數據信息和處理過程還需要通過數據字典來描述。在本文的數據字典中
6、,主要對數據流圖中的數據流、數據存儲和處理過程進行說明。 3.2.1,主要的數據流定義 數據流名稱:員工信息;定義:員工根本信息=員工號+姓名+出生年月+民族+性別。數據流量:根據公司的員工具體錄用情況來確定。 說明:要對每一位被聘用的新員工進行唯一編號。 數據流名稱:婚姻情況;定義: 婚姻情況= 已婚 | 未婚 +配偶 數據流量:根據公司員工的具體情況來確定。 說明:員工婚姻情況確定一個調動情況。數據流名稱:員工學歷信息;定
7、義:員工學歷=員工號+學歷+專業+畢業時間+學校+外語水平。數據流量:根據員工學歷信息變動情況來確定。說明:更新員工學歷信息。數據流名稱:員工工作崗位信息;定義:員工工作崗位=員工編號+工作崗位名稱+在職時間+薪水說明:每位員工職位情況數據流名稱:部門信息;定義:部門信息=部門號+部門經理+部門名稱+工作崗位名稱說明:部門的詳細信息3.2.2,由實體畫出ER圖由需求分析的結果可知,本系統設計的實體包括:1員工根本根本信息:員工號,姓名,性別,年齡,出生年月,民族。2婚姻狀況:未婚,已婚,再婚,配偶名字,配偶工作,所屬單位。 3員工學歷信息:員工號,學歷,專業,畢業時間,學校,外語水平
8、。4員工工作崗位信息:員工號,工作崗位名稱,在職時間,薪水。5部門信息表:部門號,部門經理,部門名稱,工作崗位名稱。這些實體間的聯系包括:每位學生可以學習多門課程,每門課程可供多位學生學習。由上述分析可得到系統的ER圖:1實體屬性圖實體屬性圖:員工信息出生年月性別姓名員工號名族員工實體屬性圖:婚姻情況配偶工作配偶姓名婚姻情況配偶單位婚姻狀況實體屬性圖:員工學歷外語水平畢業學校畢業時間專業學歷員工號員工學歷實體屬性圖:工作崗位信息薪水在職時間員工號工作崗位工作崗位信息實體屬性圖:部門信息工作崗位名稱部門名稱部門經理部門號部門信息2實體聯系圖:3完整的實體-聯系圖四,數據庫邏輯設計4.1數據表表S
9、taff_Information員工根本信息表FieldTypeNullKeyCommentSnovarchar(10)-Primary key員工號Snamevarchar20NOT-姓名Sbirthdayvarchar20NOT-出生年月Snationvarchar20NOT-民族Ssexvarchar(4)NOT性別 表Marital_StatusFieldTypeNullKeyCommentSnovarchar10-Foreign Key員工編號Mconditionvarchar(8)-check婚姻情況Mnamevarchar20-配偶名字Mjobvarchar20-配偶工作Mcom
10、panyvarchar50-所屬單位表Education_InformationFieldTypeNullKeyCommentSnovarchar10-Foreign Key員工編號Egraduationvarchar(50)-學歷Emajorvachar(50)-專業Etimevachar(20)-畢業時間Eschoolvarchar50-學校Efor_languagevarchar20-外語水平表PostFieldTypeNullKeyCommentSnovarchar(20)-Foreign Key員工號Pnamevarchar20NOT-工作崗位名稱Pexperienceint-在職時
11、間Psalaryint-薪水表DepartmentFieldTypeNullKeyCommentDnovarchar10-Primary Key部門號Dmanagervarchar10NOT-部門經理Dnamevarchar20NOT-部門名稱4.2由系統ER圖轉化而得到的關系模式如下:(1) 員工根本信息員工號,姓名,性別,出生年月,民族,其主關鍵字為員 工號;(2) 婚姻狀況員工號,未婚,已婚,再婚,配偶名字,配偶工作,所屬單位, 其中未婚,已婚,再婚做check約束,員工號為外鍵;(3) 學歷信息員工號,學歷,專業,畢業時間,學校,外語水平,其中外鍵 為員工號。(4) 工作崗位信息員工號
12、,工作崗位名稱,在職時間,薪水,其中外鍵為員 工號。 5部門信息部門號,部門經理,部門名稱,工作崗位名稱,其中部門號為 主鍵,工作崗位名稱為外鍵。4.3 確定關系模型的存取方法在將概念模型轉換成物理模型之后,我們可以對物理模型進行設計,雙擊物理模型的關系,可以對該關系的名稱、注釋等信息進行查詢。可對該關系的屬性列進行設計,可分別設置其名稱、碼、數據類型以及主碼、是否為空等。在實際設計中最常用的存取方法是索引發,使用索引可以大大減少數據的查詢時間,在建立索引時應遵循:在經常需要搜索的列上建立索引; 在主關鍵字上建立索引;在經常用于連接的列上建立索引,即在外鍵上建立索引;在經常需要根據
13、范圍進行搜索的列上創立索引,因為索引已經排序,其指定的范圍是連續的等規那么。才能充分利用索引的作用防止因索引引起的負面作用。4.4確定數據庫的存儲結構 確定數據庫的存儲結構主要指確定數據的存放位置和存儲結構,包括確定關系、索引、日志、備份等的存儲安排及存儲結構,以及確定系統存儲參數的配置。(1) 創立數據庫create database HR2創立員工信息表 create table Staff_Information (Sno varchar(10) primary key, Sname varchar(20) not null, Ssex varchar(4) check(Ssex in
14、('男','女'), Sbirthday varchar(20) not null, Snation varchar(20) not null);3創立婚姻情況表 create table Marital_Status ( Sno varchar(10), Mcondition varchar(8) check( Mcondition ='未婚' or Mcondition ='已婚' or Mcondition ='離異' or Mcondition ='再婚' ), Mname varchar(
15、20) , Mjob varchar(20) , Mcompany varchar(50), foreign key (Sno) references Staff_Information(Sno); 4創立學歷信息表 create table Education_Information ( Sno varchar(10), Egraduation varchar(50), Emajor varchar(50) , Etime varchar(20) , Eschool varchar(50) , Efor_language varchar(20) , foreign key (Sno) ref
16、erences Staff_Information(Sno)5創立工作崗位信息表 create table Post ( Sno varchar(10), Pname varchar(20) not null, Pexperience int , Psalary int , foreign key (Sno) references Staff_Information(Sno); 6創立部門信息表 create table Department ( Dno varchar(10) primary key, Dmanager varchar(10) not null, Dname varchar(
17、20) not null);五、 數據庫實施程序的調試,代碼詳見附件 5.1登陸界面 5.2操作界面5.2添加員工和部門5.2.1添加員工5.2.2員工和部門編號是自動生成5.2.3婚姻情況選擇時會提示是否為必填信息5.2.4添加部門信息5.3根據員工號或者部門號查詢信息5.3.1根據員工號搜索員工信息5.3.2根據員工號直接刪除某個員工的信息5.3.3根據部門號搜索部門信息5.3.4根據部門號直接刪除某個部門的信息六、 總結 經過三周的課程設計,我們不僅收獲了知識,更鍛煉了團隊合作的能力。這是我們第一次分組合作完成一個工程。從選題到最后完成課程設計,我們三個配合特別默契。在第一節課確定題目,
18、然后一起完成需求分析,需求分析是整個設計的根底,對于最耗時最困難的一步,我們選擇一起完成,效率很高。然后分配工作,在課后單獨完成應該完成的那局部任務,各自做自己擅長的那局部。在這個過程中我們也協作著完成任務,三個人的節奏是一樣的。在知識上我們更多的是學以致用。我們才學習了范式,在制表的時候,我們有嘗試去把表做成最優范式。但是由于練習得太少,對于我們所做的表,也不肯定到達了最優范式。在理論上我們能理解,運用在實際中還是存在問題。我們的課程設計功能還不完整,有很多地方還需要完善,也有還存在問題的地方。附件程序代碼:5.1登陸界面 Private Sub Button1_Click(sender A
19、s Object, e As EventArgs) Handles Button1.Click If Trim(TextBox3.Text) = Trim(con) Then Dim strconn As String = "data source=localhost;initial catalog=hr; integrated security=true" Dim sqlcon As New SqlConnection(strconn) Dim strsql As String = "select RTRIM(密碼) from ad_load where 登錄名
20、='" & TextBox1.Text & "' " Dim ds As New DataSet Dim tb As DataTable Dim drcon As DataRowCollection Dim drow As DataRow sqlcon.Open() Dim adp As New SqlDataAdapter(strsql, sqlcon) sqlcon.Close() adp.Fill(ds, "mima") tb = ds.Tables("mima") If tb.Rows
21、.Count = 0 Then MsgBox("你的密碼或登錄名錯誤!?") Else drcon = tb.Rows drow = drcon(0) If TextBox2.Text = drow(0) Then 員工信息管理.Show() Me.Hide() Else MsgBox("密碼或者登錄名錯誤!") End If End If Else MsgBox("請輸入正確的驗證碼") End If yzm() TextBox3.Text = "" End Sub5.2操作界面Public Class 員工信息
22、管理 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Hide() 添加.Show() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Me.Hide() 查看或更改.Show() End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button
23、3.Click Dim 登錄 As New 登錄 登錄.Show() Me.Close() End SubEnd Class5.2.1添加員工 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim ds As New DataSet Dim bc As BindingManagerBase Dim RadioButton_checked As String = "" Dim RadioButton_checked2 As String = "&qu
24、ot; Dim strEI As String = "insert into Education_Information(sno,egraduation,emajor,etime,eschool,efor_language)values('" & TextBox1.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & MaskedTe
25、xtBox2.Text & "','" & TextBox8.Text & "','" & TextBox9.Text & "')" Dim sqlcomEI As New SqlCommand(strEI, sqlcon) Dim strP As String = "insert into Post(sno,pname,pexperience,psalary)values('" & TextBox1.Text &
26、; "','" & TextBox13.Text & "','" & MaskedTextBox3.Text & "','" & Int(Val(TextBox15.Text) & "')" Dim sqlcomP As New SqlCommand(strP, sqlcon) If Button1.Text = "確定" Then yanz() If a = 0 Then sqlcon.Op
27、en() If RadioButton5.Checked Then RadioButton_checked2 = "男" Else RadioButton_checked2 = "女" End If Dim strST As String = "insert into Staff_Information(sno,sname,ssex,sbirthday,snation) values('" & TextBox1.Text & "','" & TextBox2.Text
28、 & "','" & RadioButton_checked2 & "','" & MaskedTextBox1.Text & "','" & TextBox.Text & "')" Dim sqlcomST As New SqlCommand(strST, sqlcon) sqlcomST.ExecuteNonQuery() sqlcon.Close() sqlcon.Open() sqlcomEI.E
29、xecuteNonQuery() sqlcon.Close() sqlcon.Open() If RadioButton1.Checked Then RadioButton_checked = "已婚" ElseIf RadioButton2.Checked Then RadioButton_checked = "未婚" ElseIf RadioButton3.Checked Then RadioButton_checked = "再婚" ElseIf RadioButton4.Checked Then RadioButton_che
30、cked = "離異" End If Dim strMS As String = "insert into Marital_Status(sno,Mcondition,mname,mjob,mcompany)values('" & TextBox1.Text & "','" & RadioButton_checked & "','" & TextBox10.Text & "','" &
31、 TextBox11.Text & "','" & TextBox12.Text & "')" Dim sqlcomMS As New SqlCommand(strMS, sqlcon) sqlcomMS.ExecuteNonQuery() sqlcon.Close() sqlcon.Open() sqlcomP.ExecuteNonQuery() sqlcon.Close() MsgBox("信息添加成功!") Button2.Enabled = True Button1.Text =
32、 "添加員工信息" Rload() Else MsgBox("信息尚未完善,可以點擊*號獲取幫助!") TX.Text = "請完善*號的" + a.ToString + "條信息" a = 0 End If Else sqlcon.Close() Dim strS As String = "select * from Staff_Information" sqlcon.Open() Dim adp As New SqlDataAdapter(strS, sqlcon) sqlcon.Close
33、() adp.Fill(ds, "info") bc = Me.BindingContext(ds, "info") Dim a3 As Integer a3 = ds.Tables("info").Rows.Count - 1 If ds.Tables("info").Rows.Count = 0 Then TextBox1.Text = "1" Else TextBox1.Text = ds.Tables("info").Rows(a3)(0) + 1 End If Te
34、xtBox2.Text = "" MaskedTextBox1.Text = "" : TextBox.Text = "" TextBox5.Text = "" : TextBox6.Text = "" MaskedTextBox2.Text = "" : TextBox8.Text = "" TextBox9.Text = "" : TextBox10.Text = "" TextBox11.Text = &quo
35、t;" : TextBox12.Text = "" TextBox13.Text = "" : MaskedTextBox3.Text = "" TextBox15.Text = "" Button1.Text = "確定" Button2.Enabled = False enabletextbox() disabletextbox2() TextBox1.Enabled = False End If End Sub5.2.4添加部門信息 Private Sub Button2_Cli
36、ck(sender As Object, e As EventArgs) Handles Button2.Click Dim strD As String = "insert into Department(dno,dmanager,dname)values('" & TextBox16.Text & "','" & TextBox17.Text & "','" & TextBox18.Text & "')" Dim s
37、qlcomD As New SqlCommand(strD, sqlcon) If Button2.Text = "確定" Then yanz2() If a = 0 Then sqlcon.Open() sqlcomD.ExecuteNonQuery() sqlcon.Close() MsgBox("添加成功!") Button2.Text = "添加部門信息" Button1.Enabled = True disabletextbox2() Rload1() Else MsgBox("信息尚未完善,可以點擊*號獲取幫助!
38、") TX.Text = "請完善*號的" + a.ToString + "條信息" a = 0 End If Else Rload1() jisuan() TextBox17.Text = "" : TextBox18.Text = "" disabletextbox() enabletextbox2() TextBox16.Enabled = False Button1.Enabled = False Button2.Text = "確定" End If End Sub5.3.1根
39、據員工號搜索員工信息 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click clear() If ComboBox1.Text = "員工號" Then Dim bc As BindingManagerBase Dim strsql As String = "select * from Staff_Information where sno='" & TextBox1.Text & "' " D
40、im ds As New DataSet sqlcon.Open() Dim adp As New SqlDataAdapter(strsql, sqlcon) sqlcon.Close() adp.Fill(ds, "info") bc = Me.BindingContext(ds, "info") If bc.Count > 0 Then TextBox2.Text = ds.Tables("info").Rows(0)(1) Dim sex1 As String sex1 = ds.Tables("info&qu
41、ot;).Rows(0)(2) If sex1 = "男" Then RadioButton5.Checked = True Else RadioButton6.Checked = True End If MaskedTextBox1.Text = ds.Tables("info").Rows(0)(3) TextBox.Text = ds.Tables("info").Rows(0)(4) Dim strsql1 As String = "select * from Education_Information where
42、sno='" & TextBox1.Text & "' " Dim ds1 As New DataSet sqlcon.Open() Dim adp1 As New SqlDataAdapter(strsql1, sqlcon) sqlcon.Close() adp1.Fill(ds1, "info1") TextBox5.Text = ds1.Tables("info1").Rows(0)(1) TextBox6.Text = ds1.Tables("info1").Ro
43、ws(0)(2) MaskedTextBox2.Text = ds1.Tables("info1").Rows(0)(3) TextBox8.Text = ds1.Tables("info1").Rows(0)(4) TextBox9.Text = ds1.Tables("info1").Rows(0)(5) Dim strsql2 As String = "select * from Marital_Status where sno='" & TextBox1.Text & "&
44、#39; " Dim ds2 As New DataSet sqlcon.Open() Dim adp2 As New SqlDataAdapter(strsql2, sqlcon) sqlcon.Close() adp2.Fill(ds2, "info") Dim sex2 As String sex2 = ds2.Tables("info").Rows(0)(1) If sex2 = "已婚" Then RadioButton1.Checked = True ElseIf sex2 = "再婚" Th
45、en RadioButton3.Checked = True ElseIf sex2 = "未婚" Then RadioButton2.Checked = True ElseIf sex2 = "離異" Then RadioButton4.Checked = True End If TextBox10.Text = ds2.Tables("info").Rows(0)(2) TextBox11.Text = ds2.Tables("info").Rows(0)(3) TextBox12.Text = ds2.Tab
46、les("info").Rows(0)(4) Dim strsql3 As String = "select * from Post where sno='" & TextBox1.Text & "' " Dim ds3 As New DataSet sqlcon.Open() Dim adp3 As New SqlDataAdapter(strsql3, sqlcon) sqlcon.Close() adp3.Fill(ds3, "info1") TextBox13.Text =
47、ds3.Tables("info1").Rows(0)(1) MaskedTextBox3.Text = ds3.Tables("info1").Rows(0)(2) TextBox15.Text = ds3.Tables("info1").Rows(0)(3) Button2.Enabled = True Button3.Enabled = True MsgBox("已找到該記錄") Else MsgBox("你查找的數據不存在,!可能已經刪除") End If Else Dim strsql
48、4 As String = "select * from Department where dno='" & TextBox1.Text & "' " Dim bc As BindingManagerBase Dim ds4 As New DataSet sqlcon.Open() Dim adp4 As New SqlDataAdapter(strsql4, sqlcon) sqlcon.Close() adp4.Fill(ds4, "info1") bc = Me.BindingContext(ds4, "info1") If bc.Count > 0 Then TextBox17.Text = ds4.Tables("info1").Rows(0)(1) TextBox1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 麥當勞值班管理制度
- 工業廢棄物資源化利用研究
- 工業智能化改造的路徑與策略
- 工業廢水處理技術解析
- 工業機器人設計與應用技術
- 工業生態園區建設與管理研究
- 工業機器人技術的進步與影響
- 工業生產中的危害識別與預防
- 工業自動化中的智能控制系統
- 工業自動化與智能制造的未來發展
- FFU龍骨吊頂防墜研究及應用-2023.12.11王國棟修
- 多層鋼結構廠房施工方案
- 知道網課智慧《藝術與科學理論基礎》測試答案
- 清拆勞務合同范本
- DL-T5366-2014發電廠汽水管道應力計算技術規程
- (高清版)JTST 273-2024 水運工程測量定額
- 《紙牌國》閱讀指導
- 公路工程設計設計的質量保證措施、進度保證措施
- 【同步訓練】《血液循環-體循環和肺循環》(解析版)
- 智能護理數字化驅動醫護智能管理
- 小學數學《比例》大單元教學設計
評論
0/150
提交評論