还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库课程设计报告人事管理系统班级 序号 姓名 地球科学学院地信系 2013-06-28
一、概述
1.1项目背景90年代中期,由于Internet的迅速普及,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件随着企业的不断发展,企业的员工数量不断增加,纯文本手工的管理方式已经不能满足企业管理者的需求与此同时,人事管理系统,属于ERP的一个部分它单指汇集成功企业先进的人力资源管理理念、人力资源管理实践、人力资源信息化系统建设的经验,以信息技术实现对企业人力资源信息的高度集成化管理,为中国企业使用的人力资源管理解决方案
1.2项目目的核心目的在于将人力资源工__从繁重的日常琐碎事务中解放出来,将更多地精力用于企业的人力资源职能管理和管理决策,保持企业的持续高效运营集中记录、监测和分析所有劳动力的技能和资格,提供决策分析提高企业整体的科技含量与管理效率,加快企业的信息化建设此系统是专门为中小型企业管理人事信息所__的,以方便对员工进行管理
二、需求分析
2.
1、业务需求a.系统操作简单,界面友好B.支持多人操作,要求有权限分配功能
2.
2、用户需求
2.
2.
1、员工可以实现的功能a.用户登录登陆应用程序查看自己的信息b.修改__修改用户自己的__
2.
2.
2、___实现的功能a.用户注册实现员工的注册,分配默认的帐户__b.基本信息统计与查询员工基本信息c.信息修改调动调动修改员工的信息和部门信息d.系统管理主要对用户的__、管理权限的设置等
2.3功能模块
(1)登陆模块通过该模块员工输入用户名__登录到软件界面,登陆有两种权限,一种是普通员工,一种是___,不同的权限,能操作的模块不同
(2)信息查询模块这个查询模块员工与___都可以使用,查询信息包括员工信息查询与调动信息查询员工信息查询包括查询所有员工信息,用姓名查询单个员工信息以及查询根据部门查询部门中包含哪些员工
(3)信息管理模块这个信息管理模块只有___能使用对新聘用的员工,将其信息加入员工信息表中;对于解聘的员工,将其信息从员工信息表中删除当员工的信息发生变动时,修改员工信息表中相应的属性部门的增加,删除与编辑也属于这个模块
(4)用户管理模块这个查询模块员工与___都可以使用,用来更改_____还可以用来设置用户权限和新增用户并为用户设置初始__
三、概念结构设计
3.
1、各实体的E-R图图
1.用户权限表E-R图图
2.员工基本信息表的实体E-R图图
3.部门表E-R图图
4.职务表E-R图图
5.调动信息表E-R图图
6.总的员工实体图
四、数据库逻辑设计
4.
1.数据字典主要的数据流定义
(1)数据流名称员工情况定义员工情况=员工编号+员工姓名+性别+出生日期+年龄+民族+籍贯+__面貌+学历+____+入职时间+部门号+职位号数据来源员工的信息数据去向员工信息表数据流量根据公司的具体情况来定说明要对每一位被聘用的新员工进行唯一编号
(2)数据流名称调动情况定义调动情况=员工编号+员工姓名+调动编号+员工编号+原部门号+现部门号+原职位号+现职位号+调动日期+调动原因数据来源员工的部门调动,职位调动来源于员工信息表的更新数据去向调动信息表数据流量根据公司的具体情况来定说明员工编号、调动日期和调动编号可以唯一确定一个调动情况
(3)数据流名称部门情况定义部门情况=部门编号+部门名数据来源部门的编号与名称数据去向部门表数据流量根据公司的具体情况来定说明部门编号是主码
(4)数据流名称职位情况定义职位情况=职位编号+职位名数据来源职位的标号与名称数据去向职位表数据流量根据公司的具体情况来定说明职位编号是主码
(5)数据流名称用户登陆定义用户登陆=员工编号+__+权限名(一般员工/___)数据来源___录入员工编号、__和权限数据去向登录表数据流量根据公司的具体情况来定说明不同的用户身份对应不同的操作权限,对应着不同的安全级别
4.
2.将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为1.员工资料(员工编号+姓名+性别+出生日期+民族+籍贯+学历+__面貌+__+入职时间+部门号+职位号),其中员工编号为主键2.职位(职位编号+职位名),其中职位编号为主键3.部门(部门编号+部门名),其中部门编号为主键4.调动记录(调动编号+原来部门+现在部门+原来职位+现在职位+调动日期+员工编号+调动原因),其中调动编号为主键,员工编号为外键5.员工拥有(员工编号+部门编号+职位编号+调动编号)6.员工从属(员工编号+部门编号+职位编号)7.调动生成(调动编号+员工编号+岗位编号+部门编号)
五、物理设计数据库物理设计阶段的任务是根据具体计算机系统DBMS和硬件等的特点,为给定的数据库系统确定合理的存储结构和存取方法所谓的“合理”主要有两个含义一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度主要体现在后者
4.
1.建立视图为员工信息和调动信息创建视图,方便提取信息
4.2.建立存储结构
4.
3.建立触发器;
六、用T-SQL实现数据库设计部分createtable登录表员工编号Char4pri__rykey__varchar20notnull权限名char12notnullforeignkey员工编号referen__s员工员工编号ondeletecascadecreatetable员工员工编号Char4pri__rykey姓名Char10notnull性别Char2check性别in男女出生日期datetime年龄intnotnull民族VarChar16notnull籍贯VarChar16notnull学历VarChar32notnull__面貌char10notnull____VarChar11notnull入职时间datetimenotnull职位号Char4部门号char4createtable部门部门号Char4pri__rykey部门名Char10notnullcreatetable职位职位号char4NOTNULLPRI__RYKEY职位名char10NOTNULLcreatetable职务调动调动编号Char4notnullpri__rykey员工编号Char4notnull原部门号Char4现部门号Char4原职位号Char4现职位号Char4调动日期datetimenotnull调动原因VarChar50foreignkey员工编号referen__s员工员工编号ondeletecascade--*****视图的创建*****----
1.创建用于查询员工信息的视图--use人事管理系统gocreateview员工信息表asselect员工编号姓名性别出生日期年龄民族籍贯学历__面貌____入职时间部门名职位名from员工部门职位where员工.部门号=部门.部门号and员工.职位号=职位.职位号--
2.创建用于查询员工调动情况的视图--use人事管理系统gocreateview员工调动情况图asselecta.部门名as前部门名称b.部门名as后部门名称员工.员工编号as员工编号员工.姓名as员工姓名x.职位名as前岗位名称y.职位名as后岗位名称调动日期调动原因from职务调动职位x职位y部门a部门b员工where原部门号=a.部门号and现部门号=b.部门号and原职位号=x.职位号and现职位号=y.职位号and职务调动.员工编号=员工.员工编号--*****存储过程的创建*****----
1.指定了员工号的员工信息查询--createprocem_info@numchar4asselect*from员工信息表where姓名=select姓名from员工where@num=员工.员工编号--
2.指定了部门号的部门内部情况信息查询--createprocbm_info@bnumchar4asselect部门名职位名姓名性别出生日期年龄民族籍贯学历__面貌____入职时间from员工信息表where部门名=select部门名from部门where@bnum=部门.部门号--*****触发器的创建*****----
1.员工信息表中的调职--createtriggerstaff_updateon员工forupdateasbegindeclare@bhint@rqdatetimeset@bh=selectcount*from职务调动+1set@rq=GETDATEinsertinto职务调动调动编号员工编号原部门号现部门号原职位号现职位号调动日期select@bha.员工编号a.部门号b.部门号a.职位号b.职位号@rqfromdeletedainsertedbwherea.员工编号=b.员工编号end--droptriggerstaff_update--
2.新员工加入--createtriggerreminderon员工forinsertasbegindeclare@strchar15set@str=新员工加入!print@strend--
3.旧员工离职----droptriggerreminder2createtriggerreminder2on员工fordeleteasbegindeclare@strchar15set@str=旧员工离职!print@strend
七、软件设计
7.1.界面设计图
7.登陆界面图
8.主界面
7.
2.功能设计图
9.信息查询模块图
10.信息管理模块图
11.用户管理模块图
12.员工信息查询图
13.调动信息查询图
14.员工信息管理图
15.__更改
7.
3.核心代码这个软件是用C#写的,也没有什么算法,只是较多的用到了窗体的控件,比如treeview控件,比如gridview控件连接数据库是这里面比较复杂的我创建了一个类用于连接数据库和引用数据库中的数据namespa__人事管理系统.人事管理class{classdboperate{SqlConnectionconn=newSqlConnectionserver=YTYL8KHHRGEC5JY;database=人事管理系统;uid=ryc;pwd=ryc55;publicintOperateDatastringstrSql{conn.Open;//打开数据库连接SqlCom__ndcmd=newSqlCom__ndstrSqlconn;//创建命令对象inti=intcmd.ExecuteNonQuery;//执行SQL命令conn.Close;//关闭数据库连接returni;//返回数值}publicvoidBindDataGridViewDataGridViewdgvstringsql{SqlDataAdaptersda=newSqlDataAdaptersqlconn;//创建数据适配器对象DataSetds=newDataSet;//创建数据集对象sda.Fillds;//填充数据集dgv.DataSour__=ds.Tables
[0];//绑定到数据表ds.Dispose;//释放资源}publicDataSetGetTablestringsql{SqlDataAdaptersda=newSqlDataAdaptersqlconn;DataSetds=newDataSet;sda.Fillds;ds.Dispose;returnds;}}}
八、实验心得这次数据库实习是自己一个人做的,选择这个课题也是因为对这个人事管理系统比较感兴趣,在网上搜了很多的资料,包括一个公司有哪些部门职位等等也明白了一个人事管理系统可以做什么搜完资料就是开始编数据库了,创建了五个表,登录表刚开始比较头疼,因为权限问题我学的不太明,但涉及到这个系统,权限是必须的,所以后来我只是使用了C#中的语言给用户赋予权限,而不是使用数据库语言而且写触发器也给我造成了很大的难题,更改员工信息的部门职位信息可以在部门调动表中形成相应的记录,老师原来有在课堂上讲过,在这里就用到了,觉得非常的方便总之学到了很多东西。