工资管理系统数据库设计报告(数据库课程设计)_第1页
工资管理系统数据库设计报告(数据库课程设计)_第2页
工资管理系统数据库设计报告(数据库课程设计)_第3页
工资管理系统数据库设计报告(数据库课程设计)_第4页
工资管理系统数据库设计报告(数据库课程设计)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库课程设计报告数据库课程设计报告 工资管理系统数据库设计报告工资管理系统数据库设计报告 设计题目:工资管理系统设计题目:工资管理系统 学学 院:信息技术学院院:信息技术学院 专专 业:信息管理与信息系统业:信息管理与信息系统 . ;. 小组成员及分工小组成员及分工 组员组员分工分工分数分数 编写代码及测试运行编写代码及测试运行 概念设计概念设计 物理结构设计物理结构设计 需求分析需求分析 需求分析需求分析 需求分析需求分析 需求分析需求分析 . ;. 目录目录 1 1引言引言 .4 1.1 编写目的.4 1.2 项目背景.4 1.3 参考资料.4 2 2需求分析需求分析 .5 2.1 功能

2、的分析、.5 2.2 顶层图.5 23 数据流程图.5 2.4 数据字典分析.6 3.数据库的概念设计数据库的概念设计 .7 4.数据库的逻辑设计数据库的逻辑设计 .8 5.数据库与数据表的设计数据库与数据表的设计物理结构设计物理结构设计 .9 5.1 数据库与数据表的设计.9 5.2 数据的完整性设计.12 6.数据库操作与实施结果数据库操作与实施结果数据库对象的设计数据库对象的设计 .13 6.1 建数据库工资管理库.13 6.2 建表.13 6.3 创建视图.16 6.4 触发器.16 6.5 建立索引.17 7.运行和维护运行和维护 .18 71 简单查询.18 7.2 复杂查询.19

3、 7.3 数据库的用户与权限管理.20 7.4 数据库的备份.22 7.5 数据的导出与导入.22 8 总结总结 .23 . ;. 工资管理系统分析和设计工资管理系统分析和设计 1 1引言引言 1.11.1 编写目的编写目的 随着科学的进步,一些公司不断发展壮大急需一套完整的工资管理系统 帮助企业的财务主管部门提高工作效率,实现企业工资管理的系统化、规范化 和自动化。本系统实现对人员信息、薪资福利、员工社保信息的维护和查询, 并能迅速准确地完成考勤的分类汇总,生成工资报表等。能够使单位实现工资 管理的自动化,无疑将给企业管理部门带来很大的方便。真正实现企业高效、 科学、现代化的员工管理。有利于

4、财务部门对员工工资的管理,减轻人事部们 的任务,提高公司效率,节约人力资源从而降低了企业成本。 1.21.2 项目背景项目背景 a. 我们对数据库技术有了初步的了解和具体的应用;因此,做此分析,由各小 组成员合作做出一个项目。让我们对学到的知识系统的结合在一起;考察学 生学以致用的能力。 b. 由此考察学生的动手能力和合作的精神;以打分的形式作为一次考察记录。 1.31.3 参考资料参考资料 a. 老师发放的软件工程文档模板。 b. 网络下载有关的资料说明和一些部门的工资管理系统范例。 . ;. 2 2需求分析需求分析 2.12.1 功能的分析、功能的分析、 工资管理系统主要完成的功能有: (

5、1) 人员信息管理:企业员工信息(包括员工基本信息、教育经历、个人简 历、岗位变更、离职登记、离退休信息等)的维护和查询。 (2) 考勤管理:管理员工的出勤情况(包括加班、请假、休假等) ,并提供 查询和分类统计功能。 (3) 薪资福利管理:管理员工的薪资和福利(包括当月工资、个人所得税、 发放工资历史、员工奖励、员工惩罚等) 。 (4) 社会保障管理:管理员工的社保信息(包括单位参保信息、养老保险、 医疗保险、住房公积金等) ,生成社会保险台帐。 (5) 系统管理:包括代码管理、参数设置、权限设置、更改密码等。 2.22.2 顶层图顶层图 工资管工资管 理系统理系统 员工员工系统管理员系统管

6、理员 工资查询工资查询 注册登记注册登记 信息维护信息维护 打印报表打印报表 2 23 3 数据流程图数据流程图 . ;. 2.42.4 数据字典分析数据字典分析 数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数数据分析所获得的主 要成果。 名字:员工基本信息表 描述:保存员工的基本信息 定义:性别+姓名+年龄+部门+员工编号+毕业院校+所学专业+政治面貌 名字:简历表 描述:保存员工的求职信息 定义:获奖情况+社会实践情况 名字:离职退休信息表 描述:保存员工的离职相关信息 定义:离职原因+离职日期+工龄 名字;员工工资基本表 描述:保存员工基本信息 定义:包括员工 ID,工资发

7、放日期,工资组成的各个方面 名字:奖励绩效表 描述:存储员工奖励信息 定义:包括奖惩时间,奖惩原因,奖惩工资情况 名字:员工考勤表 描述:记录员工的考勤情况 定义:包括日期、员工编号、加班、休假、请假 名字:社保信息 描述:保存员工社保信息 定义:参保信息+医疗保险+住房公积金+养老保险 名字:部门表 描述:部门信息 定义:部门编号+部门名称+部门人数+部门负责人 名字:岗位变更表 描述:保存员工岗位变更的相关信息 定义:变更日期+初始岗位+现在岗位 . ;. 3.数据库的概念设计数据库的概念设计 分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工 原始的各项数据,以实

8、现数据录入、查询或统计员工信息等功能。员工是本系统的一个实 体。 为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门 的信息。部门也是一个实体。 工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信 息。它主要为各种查询和统计功能提供工资数据。工资也是一个实体。 考勤管理是为了实现对员工考勤的管理,并实现对员工的进行查询和分类汇总的功能, 因此,考勤也是一个实体。 奖惩是以员工受到的奖励和惩罚所决定的,需建立一个表来记录各种奖励和惩罚。它 主要是为各种查询提供数据。 社保信息是为提供基本的查询功能而设定的一个实体,岗位变更是为记录员工在本部 门或不

9、同部门的职位变化,并提供查询的功能。 员工简历是为了提供员工在过去的情况而设定的一个实体。 据此可以绘出工资管理系统数据库的 E-R 图如下: 名字:发放工资历史 描述:发放工资情况信息 定义:包括发放工资历史记录 名字:员工考勤表 描述:记录员工的考勤情况 定义:包括日期、员工编号、加班、休假、请假 名字:社保信息 描述:保存员工社保信息 定义:参保信息+医疗保险+住房公积金+养老保险 名字:部门表 描述:保存部门信息 定义:部门编号+部门名称+部门人数+部门负责人 . ;. 4.数据库的逻辑设计数据库的逻辑设计 将数据库的概念模型转变为关系模型: . ;. 实体转变为关系模式的有: 因为部

10、门和员工 1:N 的关系,且员工和其他的实体也是 1:N 的关系,所以个关系模式为: 部门(部门名称部门名称,部门人数,部门负责人) 员工(员工编号员工编号,姓名,性别,年龄,学历,政治面貌,毕业学校,所学专业,出生 日期,部门名称,退休信息, ) 工资(工资工资 ID,员工编号,基本工资,岗位工资,工龄工资,加班工资,个人所得税, 缺勤扣款,其他应扣款,其他应加款,应发工资,实发工资,工资年月) 考勤(考勤考勤 ID,员工编号,加班,请假,休假,日期,出勤天数) 岗位变更(ID,员工编号,初始岗位,现在岗位,变更日期) 离职信息(ID,员工编号,离职时间,离职原因,批准人) 简历(ID,员工

11、编号,,获奖情况,社会实践) 奖惩(奖惩奖惩 ID,员工编号,奖罚日期,奖罚原因,解除日期) 工资历史(ID,员工编号,发放金额,发放日期) 社保信息(ID,员工编号,养老保险,医疗保险,住房公积金,参保信息) 用户信息(员工编号员工编号,密码,权限) 带下划线的属性为个关系模式的外码,字体为粗体粗体的属性为各关系模式的主码主码。 5.数据库与数据表的设计数据库与数据表的设计物理结构设计物理结构设计 5.15.1 数据库与数据表的设计数据库与数据表的设计 员工信息数据表的定义 字段字段名数据类型长度 1姓名Varchar8 2性别char2 3年龄int 4员工编号Varchar10 5部门名

12、称Varchar15 6毕业院校Varchar 30 7政治面貌Varchar8 8所学专业Varchar40 . ;. 9学历Varchar10 10出身日期Varchar15 11退休信息Varchar30 其中“员工编号”是表的主键,唯一标识。 “部门名称”是外键。 “员工编号”将记录员工的编号,在员工信息表中增加这一列时, 虽然增加了数据冗余,但可以再查询每个员工信息是,提高系统的性能。因为员工信息表 的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它, 系统将引用到工资信息。 此表取名为“员工” 。 岗位变更数据表的定义: 字段字段名称数据类型长度 1员工编

13、号varchar10 3初始岗位varchar20 4变更日期varchar20 5现在岗位varchar20 6IDint 其中“员工编号”是主键,此表取名为岗位变更。 简历表: 字段字段名称数据类型长度 1员工编号varchar10 2IDint 3获奖情况varchar50 4社会实践情况varchar100 此表取名为简历。 离职信息: 字段字段名称数据类型长度 1员工编号varchar10 2IDint 3离职日期varchar20 4离职原因varchar40 5批准人varchar8 此表取名为离职信息。 奖惩表: 字段名数据类型长度允许空主键 奖惩 IDintNot null是

14、 员工编号varchar9No null 否 奖惩日期varchar15Null否 . ;. 奖惩原因varchar15Null否 解除日期varchar15Null否 员工工资基本表 字段名数据类型长度允许空主键 工资 IDIntNot null是 员工编号varchar9Not null否 基本工资decimal5Not null否 个人所得税decimal5Not null否 缺勤扣款工资decimal5Null否 加班工资decimal5 null否 工龄工资decimal5Not null否 其他应减款decimal5Not null否 其他应增款decimal5Not null否

15、岗位工资decimal5Not null否 应发工资decimal5否 实发工资decimal5否 日期varchar4No null否 发放工资历史 字段名数据类型长度允许空主键 IDvarchar9Null 是 员工编号varchar10Not null 否 发放金额decimal9Not null否 发放日期varchar15Not null否 考勤表 字段名数据类型长度允许空主键 日期varchar12not null否 员工编号varchar25Not null否 加班decimal40Null否 休假decimal40Null否 请假decimal40Null否 出勤天数int4N

16、ot null否 考勤 IDIntNot null 是 社保信息 字段名数据类型长度允许空主键 . ;. IDINTNOT NULL是 员工编号varchar10Null否 社保信息varchar20Null否 参保信息varchar20Null否 医疗保险varchar20Null否 住房公积金varchar20Null否 养老保险varchar20Null否 用户信息表 字段名数据类型长度允许空主键 员工编号varchar10Not null 是 密码Varchar9Not null否 权限Int2Not null否 部门 字段名数据类型长度允许空主键 部门名称varchar10Not n

17、ull 是 部门人数int9Not null否 部门负责人varchar15Not null否 5.2 数据的完整性设计数据的完整性设计 (1)给每个表实施主键约束。 主键约束、非空约束 员工:员工编号为主键,所以此项非空 部门:部门编号为主键,所以此项非空 其余的正如上面的设计 (2)实施 CHECK 约束 员工表中建立一个检查约束,即员工性别不是男的就是女的 CHECK(性别 IN(男 , 女 )) 考勤表中建立一个对于出勤天数天数的检查约束,即出勤天数在 0-20 之间 CHECK(出勤天数=0 and 出勤天数=0 and 出勤天数=20), FOREIGN KEY(员工编号)REFE

18、RENCES 员工(员工编号) ); Create table 社保 (ID int primary key identity, 员工编号 varchar(10)not null, 参保信息 varchar(20) , 医疗保险 decimal, 住房公积金 decimal, 养老保险 decimal, FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) ); Create table 部门 (部门名称 varchar(15) primary key, 部门人数 int, 部门负责人 varchar(15) ); . ;. Create table 用户信息 (员工编号

19、varchar(10) primary key, 密码 varchar(9) not null, 权限 int notnull ); 6.3 创建视图创建视图 查询员工工资情况 建立一个视图,反映员工姓名及工资情况。 Create view 员工_工资 AS SELECT 员工.姓名,工资.* from 员工,工资 where 员工.员工编号=工资.员工编号; 6.4 触发器触发器 (1)当考勤表添加一条记录,工资表中的“加班工资” “考勤扣款”自动更新 create trigger insert_考勤 on 考勤 after insert as begin declare new_num i

20、nt declare new_num1 int declare new_date varchar select new_num=(select 加班 from inserted) select new_num1=(select 请假 from inserted) select new_date=(select 日期 from inserted) update 工资 set 加班工资=new_num*100, 缺勤扣款=new_num1*100 where 员工编号 in (select 员工编号 from inserted) End; (2) 当考勤表添加一条记录,考勤表中的出勤天数自动添加

21、Create trigger insert_考勤 2 On 考勤 For insert As begin . ;. update 考勤 set 出勤天数=20-休假-请假 where 员工编号 in (select 员工编号 from inserted) end; (3)当工资表中添加一条新的记录, “应发工资”和“实发工资”自动填充 create trigger insert_1 on 工资 for insert,update as begin update 工资 set 应发工资=基本工资+岗位工资+工龄工资+加班工资+其他应增款-缺勤扣 款-其他应减款, 实发工资=基本工资+岗位工资+工

22、龄工资+加班工资+其他应增款-缺勤扣款-其他应减款-个 人所得税 where 员工编号 in (select 员工编号 from inserted) End; (4) 当工资表中添加一条新的记录,表“工资历史”的内容自动填充 create trigger insert_2 on 工资 after insert as begin declare bb varchar(10) declare cc decimal(12,4) declare dd varchar(15) select bb=员工编号 from inserted select cc=实发工资 from 工资 select dd=工资

23、年月 from inserted Insert into 工资历史 values( bb, cc, dd) End; (5)当考勤表的触发器触发工资表进行 update 时,工资表中的实发工资改变,使“工资历史” 表的发放金额自动改变 create trigger insert_3 on 工资 after update as begin declare new_aa decimal declare date varchar(15) set new_aa=(select 实发工资 from inserted) set date=(select 工资年月 from inserted) update

24、 工资历史 set 发放金额= new_aa where 员工编号 in (select 员工编号 from inserted) end; (6)当员工表删除或增加一个员工时,对应的部门人数相应变化 Create trigger delete_员工 on 员工 after delete . ;. as begin update 部门 set 部门人数=部门人数-1 where 部门名称 in (select 部门名称 from deleted) end; create trigger insert_员工 on 员工 after insert as begin update 部门 set 部门人

25、数=部门人数+1 where 部门名称 in (select 部门名称 from inserted) end; 6.5 建立索引建立索引 为提高检索性能,为表创建符合索引,其索引项为员工编号、姓名。 Create index 员工编号_姓名_ind On 员工(员工编号,姓名); 7.运行和维护运行和维护 71 简单查询简单查询 (1)员工基本信息情况,代码如下: (2)员工考勤情况,代码如下 . ;. (3)员工的基本工资设定,代码如下 (4)按照基本工资和考勤,产生的工资,代码如下 select * from 工资; 7.2 复杂查询复杂查询 (1)企业内部财务部的工资查询,代码如下: select 员工.员工编号,员工.姓名,实发工资 from 员工,工资 where 员工.员工编号=工资.员工编号 and 部门名称=财务部; . ;. (2)企业工资报表,能查询单个员工的工资 select 员工.员工编号,姓名,工资年月,基本工资,岗位工资,工龄工资,加班工资,缺勤扣款,其他 应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论