河南城建学院《数据库技术及其应用》课程设计报告书题目:工资管理系统系部:数理系专业:数学与应用数学班级:姓名:学号:指导教师:--------------河南城建学院2013年 1 月11日目录第一章选题的背景和意义 (1)1 选题的背景 (1)1.2选题的意义 (1)第二章数据库结构设计 (2)2.2 概念结构设计 (3)2.3逻辑结构设计 (4)第三章程序代码实现 (7)3.1创建表: (7)3.2数据导入: (9)3.3查询功能的实现: (9)3.4其他实现: (14)第四章课程设计总结 (15)刘保朋小结: (15)参考文献: (16)第一章选题的背景和意义1选题的背景随着公司业务的扩展,人员的增多,传统的手工作业已经不再适合公司发展的需要所以引进计算机技术对企业内部员工进行方便的管理,这样有诸多好处,各层管理人员可以对企业众多的员工信息进行动态的管理,例如基本资料的修改,添加,删除,查询等。
有利于减少错误,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本。
1.2选题的意义随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。
在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。
如何设计一个小型企业工资的数据库管理系统,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操作。
这样就使办公人员可以轻松快捷地完成工资管理的任务。
对于企、事业单位的工资发放来说,不需要太大型的数据库系统。
只需要一个操作方便,功能实用,能同时满足财务部门、单位其他相关部门及代发单位三方对数据的管理及需求的系统。
企业的目标就是在于利用数据库编程设计一个操作方便、简单实用的工资管理系统。
实现工资的集中管理。
可供管理人员对本单位的人员以及工资进行增加、删除、修改、查询,对人事的管理及工资发放中的应发工资合计等项目由系统自动进行计算;同时系统还可对人事及工资管理情况进行多角度查询。
利用数据库对小型企业的工资进行管理,不仅可以节省开支,而且还可以节省时间,充分发挥了其小却精的特点,通过对这个数据库的编程,也是企业认识到了自己在很多方面的不足,也掌握了很多应用方面的技巧。
第二章数据库结构设计2.1需求分析本系统开发的主要目标是要企事业单位工资管理实现计算机管理,使管理员能够有序的管理每一位职工的各项工资条款的发放,以及企业工资的统计,使企业运用现代化技术创造更多更高的经济效益,在此基础上开发一个工资管理系统。
实现本单位财务部门对工资发放的集中管理。
可供财务人员对本单位的人员进行增加、修改、删除、更新、查询,对工资发放中的应发工资合计,同时本系统还可以对工资发放情况进行多角度查询,能够按不同的条件进行查询。
2.1.1总体需求(1).建立对企业员工工资全面管理的信息系统;(2).对所有的职工提供全面管理;(3).对系统的安全提供全面管理;(4).对职工信息的添加、删除提供全面管理;2.1.2 功能需求(1)对工资记录进行录入。
(2)对工资信息进行查找。
(3)对多个工资记录进行浏览。
(4)对记录进行满足各种实际需要的修改。
(5)对各项工资的总和和总的人数进行统计。
数据介绍静态数据:职工基本信息,职工出缺勤信息。
动态数据:职工基本信息,职工工资信息,奖金,职工出缺勤信息。
数据库介绍职工基本信息数据库:包括职工的工号,姓名,所属部门职工出缺勤信息数据库:包括职工的工号,姓名,缺勤次数职工工资信息数据库:包括职工的工号,姓名,基本工资,原始奖金,缺勤金,实际工资功能描述职工基本信息管理系统:采集职工的工号,姓名,所属部门,并可以进行查询和修改。
职工出勤管理系统:采集职工的工号,姓名,缺勤次数,并可以进行查询职工工资管理系统:为实际工资及奖金计算提供数据源,向各部门传输标准工资信息安全性分析采用严格的用户验证与权限控制,用户需要通过身份验证才能进入本系统,没用权限的用户不能使用本系统,每个用户只能修改自己的密码,保密性良好,确保系统安全可靠。
2.2 概念结构设计图2-1员工工资管理系统关系图11n1图2-2 ER关系图2.3逻辑结构设计将管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:(1)员工档案(姓名,性别,职位,电话,状态,部门号),其中员工编号为主键,部门号为外键;(2)出勤记录(出勤编号,员工号,签到时间,签出时间),出勤编号为主键,员工号为外键;(3)工资记录(员工号,基本工资,岗位津贴,加班补贴,出差补贴,违纪扣除,发薪日期),工资编号为主键,员工号为外键。
(4)部门记录(部门编号,名称,领导人号),部门编号为主键。
将工资管理系统定名为“工资管理系统”。
2.4物理结构设计由于该系统主要用于员工的工资增加、删除、更改和查询,所以应用程序这要就是这几个功能。
我们建立数据库的存储模式,文件结构,指定数据库文件的名称,并为设计好的关系模型设计表结构。
员工(姓名,工号,部门,工种,性别,生日,电话)工种(工种号,基本工资,时加班津贴)月工作时间(工号,每日上班时间,每日下班时间)部门(部门号,负责人,负责人电话)表2-1员工表2-2部门表2-3工种表2-4月工作时间(每个月生成一个表)(1)给每个表实施主键约束:主键约束、非空值约束;员工:工号为主键,所以此项非空;部门:部门名称为主键,所以此项非空;工资:工号为主键,所以此项非空。
(2)外键约束员工表中,工号、部门名称为外键。
(3)惟一约束每个表的主键需定义为惟一性:对于工资表,因为工号是主键,联系着员工表,所以建立唯一性。
图2-3数据关系图第三章程序代码实现3.1创建表:表一:departmentCreate table dbo.departmentdp nchar(20)collate Chinese_prc_ci_as null,dp snchar(10)collate Chinese_prc_ci_as not null,rs nchar(8)collate Chinese_prc_ci_as not null,rt nchar(11)collate Chinese_prc_ci_as not null,Constrant pk_部门表primary key clustered[dps] ascwith(ignore_dup_key =off) on primaryon primary表二:monthtimeCREATE TABLE [dbo].[monthtime]([id] [nchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[st1] [datetime] NULL,[dt1] [datetime] NULL,[st2] [datetime] NULL,[dt2] [datetime] NULL,[st3] [datetime] NULL,[dt3] [datetime] NULL,[st4] [datetime] NULL,[dt4] [datetime] NULL,[st5] [datetime] NULL,[dt5] [datetime] NULL,[st6] [datetime] NULL,[dt6] [datetime] NULL,[st7] [datetime] NULL,[dt7] [datetime] NULL,[st8] [datetime] NULL,[dt8] [datetime] NULL,[st9] [datetime] NULL,[dt9] [datetime] NULL,[st10] [datetime] NULL,[dt10] [datetime] NULL,[st11] [datetime] NULL,[dt11] [datetime] NULL,[st12] [datetime] NULL,[dt12] [datetime] NULL,[st13][datetime] NULL,[dt13] [datetime] NULL,[st14] [datetime] NULL,[dt14] [datetime] NULL,[st15] [datetime] NULL,[dt15] [datetime] NULL,[st16] [datetime] NULL,[dt16] [datetime] NULL,[st17] [datetime] NULL,[dt17] [datetime] NULL,[st18] [datetime] NULL,[dt18] [datetime] NULL,[st19] [datetime] NULL,[dt19] [datetime] NULL,[st20] [datetime] NULL,[dt20] [datetime] NULL,[st21] [datetime] NULL,[dt21] [datetime] NULL,[st22] [datetime] NULL,[dt22] [datetime] NULL,[st23] [datetime] NULL,[dt23] [datetime] NULL,[st24] [datetime] NULL,[dt24] [datetime] NULL,[st25] [datetime] NULL,[dt25] [datetime] NULL,[st26] [datetime] NULL,[dt26] [datetime] NULL,[st27] [datetime] NULL,[dt27] [datetime] NULL,[st28] [datetime] NULL,[dt28] [datetime] NULL,[st29] [datetime] NULL,[dt29] [datetime] NULL,[st30] [datetime] NULL,[dt30] [datetime] NULL,CONSTRAINT [PK_月工作时间表] PRIMARY KEY CLUSTERED([id] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]表三:professionCREATE TABLE [dbo].[profession]([ws] [nchar](12)COLLATE Chinese_PRC_CI_AS NOT NULL,[dp] [nchar](20)COLLATE Chinese_PRC_CI_AS NULL,[sub] [int] NULL,[fs] [int] NULL,CONSTRAINT [PK_工种表] PRIMARY KEY CLUSTERED([ws] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]表四:workerCREATE TABLE [dbo].[worker]([sn] [nchar](10)COLLATE Chinese_PRC_CI_AS NULL,[id] [nchar](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[dps] [nchar](10)COLLATE Chinese_PRC_CI_AS NULL,[ws] [nchar](12)COLLATE Chinese_PRC_CI_AS NULL,[sex] [nchar](2)COLLATE Chinese_PRC_CI_AS NULL,[birth] [datetime] NULL,[tele] [nchar](11)COLLATE Chinese_PRC_CI_AS NULL,CONSTRAINT [PK_员工表] PRIMARY KEY CLUSTERED([id] ASC)WITH(IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]GO3.2数据导入:表3-1department部门(dp)部门号(dps)负责人(rs)负责人电话(rt)研发部1000张鹏程稽核部1001李晨宣传部1002魏晨表3-2monthtime表3-3profession工种(ws)部门(dp)时加班津贴(sub)基本工资(fs)干事宣传部1003500经理稽核部1004500文书稽核部903000表3-4worker3.3查询功能的实现:考勤信息记录作为一种原始的数据资料,作为核算员工工资的根本依据,一般不允许用户对其进行编辑和删除。