数据库系统原理课程设计--人事管理系统数据库.doc

上传人:doc321 文档编号:14863097 上传时间:2022-02-22 格式:DOC 页数:33 大小:543.50KB
返回 下载 相关 举报
数据库系统原理课程设计--人事管理系统数据库.doc_第1页
第1页 / 共33页
数据库系统原理课程设计--人事管理系统数据库.doc_第2页
第2页 / 共33页
数据库系统原理课程设计--人事管理系统数据库.doc_第3页
第3页 / 共33页
数据库系统原理课程设计--人事管理系统数据库.doc_第4页
第4页 / 共33页
数据库系统原理课程设计--人事管理系统数据库.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数据库系统原理课程设计--人事管理系统数据库.doc》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计--人事管理系统数据库.doc(33页珍藏版)》请在三一文库上搜索。

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员工档案管理 对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。2对新聘用的员工,将其信息参加

4、到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。3当员工的信息发生变动时,修改员工档案记录中相应的属性。4员工职务调动管理对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。5部门管理对公司所有的部门进行编号,建立部门记录。2.2 系统模块设计(1) 员工根本信息表的添加、删除、修改、查询。(2) 员工婚姻情况表的添加、删除、修改、查询,反映员工的配偶信息。(3) 员工学历信息表的添加、删除、修改、查询反映员工的学历、专业、毕业时间、学校、外语情况等。(4) 企业工作岗位表的添加、删除、修改、查询。5企业部门信息表的添加、删除、修改、查询。三、概念

5、结构设计3.1根据以上模块,可以得到系统流程图。用户登陆验证用户表选择操作成功不成功添加操作删除操作修改操作员工信息婚姻状况学历信息工作岗位部门信息验证录入数据库符合要求不符合要求用户登录用户验证员工信息婚姻状况学历信息工作岗位添加信息修改信息删除信息添加信息修改信息删除信息添加信息修改信息删除信息部门信息添加信息修改信息删除信息添加信息修改信息删除信息验证失败3.2系统数据字典数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个局部。人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。3.

6、2.1,主要的数据流定义数据流名称:员工信息;定义:员工根本信息=员工号+姓名+出生年月+民族+性别。数据流量:根据公司的员工具体录用情况来确定。说明:要对每一位被聘用的新员工进行唯一编号。数据流名称:婚姻情况;定义:婚姻情况=已婚|未婚+配偶数据流量:根据公司员工的具体情况来确定。说明:员工婚姻情况确定一个调动情况。数据流名称:员工学历信息;定义:员工学历=员工号+学历+专业+毕业时间+学校+外语水平。数据流量:根据员工学历信息变动情况来确定。说明:更新员工学历信息。数据流名称:员工工作岗位信息;定义:员工工作岗位=员工编号+工作岗位名称+在职时间+薪水说明:每位员工职位情况数据流名称:部门

7、信息;定义:部门信息=部门号+部门经理+部门名称+工作岗位名称说明:部门的详细信息3.2.2,由实体画出ER图由需求分析的结果可知,本系统设计的实体包括:1员工根本根本信息:员工号,姓名,性别,年龄,出生年月,民族。2婚姻状况:未婚,已婚,再婚,配偶名字,配偶工作,所属单位。3员工学历信息:员工号,学历,专业,毕业时间,学校,外语水平。4员工工作岗位信息:员工号,工作岗位名称,在职时间,薪水。5部门信息表:部门号,部门经理,部门名称,工作岗位名称。这些实体间的联系包括:每位学生可以学习多门课程,每门课程可供多位学生学习。由上述分析可得到系统的ER图:1实体属性图实体属性图:员工信息出生年月性别

8、姓名员工号名族员工实体属性图:婚姻情况配偶工作配偶姓名婚姻情况配偶单位婚姻状况实体属性图:员工学历外语水平毕业学校毕业时间专业学历员工号员工学历实体属性图:工作岗位信息薪水在职时间员工号工作岗位工作岗位信息实体属性图:部门信息工作岗位名称部门名称部门经理部门号部门信息2实体联系图:3完整的实体-联系图四,数据库逻辑设计4.1数据表表Staff_Information员工根本信息表FieldTypeNullKeyCommentSnovarchar(10)-Primary key员工号Snamevarchar20NOT-姓名Sbirthdayvarchar20NOT-出生年月Snationvarc

9、har20NOT-民族Ssexvarchar(4)NOT性别 表Marital_StatusFieldTypeNullKeyCommentSnovarchar10-Foreign Key员工编号Mconditionvarchar(8)-check婚姻情况Mnamevarchar20-配偶名字Mjobvarchar20-配偶工作Mcompanyvarchar50-所属单位表Education_InformationFieldTypeNullKeyCommentSnovarchar10-Foreign Key员工编号Egraduationvarchar(50)-学历Emajorvachar(50)

10、-专业Etimevachar(20)-毕业时间Eschoolvarchar50-学校Efor_languagevarchar20-外语水平表PostFieldTypeNullKeyCommentSnovarchar(20)-Foreign Key员工号Pnamevarchar20NOT-工作岗位名称Pexperienceint-在职时间Psalaryint-薪水表DepartmentFieldTypeNullKeyCommentDnovarchar10-Primary Key部门号Dmanagervarchar10NOT-部门经理Dnamevarchar20NOT-部门名称4.2由系统ER图转

11、化而得到的关系模式如下:(1) 员工根本信息员工号,姓名,性别,出生年月,民族,其主关键字为员 工号;(2) 婚姻状况员工号,未婚,已婚,再婚,配偶名字,配偶工作,所属单位, 其中未婚,已婚,再婚做check约束,员工号为外键;(3) 学历信息员工号,学历,专业,毕业时间,学校,外语水平,其中外键 为员工号。(4) 工作岗位信息员工号,工作岗位名称,在职时间,薪水,其中外键为员 工号。 5部门信息部门号,部门经理,部门名称,工作岗位名称,其中部门号为 主键,工作岗位名称为外键。4.3 确定关系模型的存取方法在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该

12、关系的名称、注释等信息进行查询。可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创立索引,因为索引已经排序,其指定的范围是连续的等规那么。才能充分利用索引的作用防止因索引引起的负面作用。4.4确定数据库的存储结构 确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存

13、储参数的配置。(1) 创立数据库create database HR2创立员工信息表 create table Staff_Information (Sno varchar(10) primary key, Sname varchar(20) not null, Ssex varchar(4) check(Ssex in (男,女), Sbirthday varchar(20) not null, Snation varchar(20) not null);3创立婚姻情况表 create table Marital_Status ( Sno varchar(10), Mcondition va

14、rchar(8) check( Mcondition =未婚 or Mcondition =已婚 or Mcondition =离异 or Mcondition =再婚 ), Mname varchar(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 var

15、char(50) , Etime varchar(20) , Eschool varchar(50) , Efor_language varchar(20) , foreign key (Sno) references 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创立部门信息

16、表 create table Department ( Dno varchar(10) primary key, Dmanager varchar(10) not null, Dname varchar(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根据部门

17、号直接删除某个部门的信息六、 总结 经过三周的课程设计,我们不仅收获了知识,更锻炼了团队合作的能力。这是我们第一次分组合作完成一个工程。从选题到最后完成课程设计,我们三个配合特别默契。在第一节课确定题目,然后一起完成需求分析,需求分析是整个设计的根底,对于最耗时最困难的一步,我们选择一起完成,效率很高。然后分配工作,在课后单独完成应该完成的那局部任务,各自做自己擅长的那局部。在这个过程中我们也协作着完成任务,三个人的节奏是一样的。在知识上我们更多的是学以致用。我们才学习了范式,在制表的时候,我们有尝试去把表做成最优范式。但是由于练习得太少,对于我们所做的表,也不肯定到达了最优范式。在理论上我们

18、能理解,运用在实际中还是存在问题。我们的课程设计功能还不完整,有很多地方还需要完善,也有还存在问题的地方。附件程序代码:5.1登陆界面 Private Sub Button1_Click(sender As 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 S

19、qlConnection(strconn) Dim strsql As String = select RTRIM(密码) from ad_load where 登录名= & 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.T

20、ables(mima) If tb.Rows.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 员工信息管理 Private Sub Button1_Clic

21、k(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 Button3.Click Dim 登录 As New 登录 登录

22、.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 = Dim strEI As String = insert into Education_Infor

23、mation(sno,egraduation,emajor,etime,eschool,efor_language)values( & TextBox1.Text & , & TextBox5.Text & , & TextBox6.Text & , & MaskedTextBox2.Text & , & TextBox8.Text & , & TextBox9.Text & ) Dim sqlcomEI As New SqlCommand(strEI, sqlcon) Dim strP As String = insert into Post(sno,pname,pexperience,ps

24、alary)values( & TextBox1.Text & , & 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.Open() If RadioButton5.Checked Then RadioButton_checked2 = 男 Else RadioButton_checked2 = 女

25、End If Dim strST As String = insert into Staff_Information(sno,sname,ssex,sbirthday,snation) values( & TextBox1.Text & , & TextBox2.Text & , & RadioButton_checked2 & , & MaskedTextBox1.Text & , & TextBox.Text & ) Dim sqlcomST As New SqlCommand(strST, sqlcon) sqlcomST.ExecuteNonQuery() sqlcon.Close()

26、 sqlcon.Open() sqlcomEI.ExecuteNonQuery() 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_checked = 离异 E

27、nd If Dim strMS As String = insert into Marital_Status(sno,Mcondition,mname,mjob,mcompany)values( & TextBox1.Text & , & RadioButton_checked & , & TextBox10.Text & , & TextBox11.Text & , & TextBox12.Text & ) Dim sqlcomMS As New SqlCommand(strMS, sqlcon) sqlcomMS.ExecuteNonQuery() sqlcon.Close() sqlco

28、n.Open() sqlcomP.ExecuteNonQuery() sqlcon.Close() MsgBox(信息添加成功!) Button2.Enabled = True Button1.Text = 添加员工信息 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 Ne

29、w SqlDataAdapter(strS, sqlcon) sqlcon.Close() 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 TextBox2.Text = MaskedTextBox1.

30、Text = : TextBox.Text = TextBox5.Text = : TextBox6.Text = MaskedTextBox2.Text = : TextBox8.Text = TextBox9.Text = : TextBox10.Text = TextBox11.Text = : TextBox12.Text = TextBox13.Text = : MaskedTextBox3.Text = TextBox15.Text = Button1.Text = 确定 Button2.Enabled = False enabletextbox() disabletextbox2

31、() TextBox1.Enabled = False End If End Sub5.2.4添加部门信息 Private Sub Button2_Click(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 sqlcomD As New SqlCommand(

32、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(信息尚未完善,可以点击*号获取帮助!) TX.Text = 请完善*号的 + a.ToString + 条信息 a = 0 End If Else Rload1() ji

33、suan() TextBox17.Text = : TextBox18.Text = disabletextbox() enabletextbox2() TextBox16.Enabled = False Button1.Enabled = False Button2.Text = 确定 End If End Sub5.3.1根据员工号搜索员工信息 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 & Dim 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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1