版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数数据据库库课课程程设设计计报报告告 设计题目:工资管理系统设计题目:工资管理系统 学学 院:数学与计算机学院院:数学与计算机学院 专专 业:计算机科学与技术(软件工程)业:计算机科学与技术(软件工程) 班班 级:软件级:软件 12 指导老师:李竹林指导老师:李竹林 组组 员:徐振国(员:徐振国(02) 张奇卫(张奇卫(03) 2 小组成员及分工小组成员及分工 目录目录1 1引言引言 .41.1 编写目的.41.2 项目背景.41.3 参考资料.42 2需求分析需求分析 .52.1 功能的分析、.52.2 顶层图.523 数据流程图.52.4 数据字典分析.63.数据库的概念设计数据库的概念
2、设计 .74.数据库的逻辑设计数据库的逻辑设计 .8组员组员分工分工编写代码及测试运行编写代码及测试运行概念设计概念设计物理结构设计物理结构设计需求分析需求分析需求分析需求分析需求分析需求分析需求分析需求分析35.数据库与数据表的设计数据库与数据表的设计物理结构设计物理结构设计 .95.1 数据库与数据表的设计.95.2 数据的完整性设计.126.数据库操作与实施结果数据库操作与实施结果数据库对象的设计数据库对象的设计 .136.1 建数据库工资管理库.136.2 建表.136.3 创建视图.166.4 触发器.166.5 建立索引.177.运行和维护运行和维护 .1871 简单查询.187.
3、2 复杂查询.197.3 数据库的用户与权限管理.207.4 数据库的备份.227.5 数据的导出与导入.228 总结总结 .23工资管理系统分析和设计工资管理系统分析和设计1 1引言引言1.11.1 编写目的编写目的 随着科学的进步,一些公司不断发展壮大急需一套完整的工资管理系统帮助企业的财务主管部门提高工作效率,实现企业工资管理的系统化、规范化4和自动化。本系统实现对人员信息、薪资福利、员工社保信息的维护和查询,并能迅速准确地完成考勤的分类汇总,生成工资报表等。能够使单位实现工资管理的自动化,无疑将给企业管理部门带来很大的方便。真正实现企业高效、科学、现代化的员工管理。有利于财务部门对员工
4、工资的管理,减轻人事部们的任务,提高公司效率,节约人力资源从而降低了企业成本。1.21.2 项目背景项目背景a. 我们对数据库技术有了初步的了解和具体的应用;因此,做此分析,由各小组成员合作做出一个项目。让我们对学到的知识系统的结合在一起;考察学生学以致用的能力。b. 由此考察学生的动手能力和合作的精神;以打分的形式作为一次考察记录。1.31.3 参考资料参考资料a. 老师发放的软件工程文档模板。b. 网络下载有关的资料说明和一些部门的工资管理系统范例。2 2需求分析需求分析2.12.1 功能的分析、功能的分析、工资管理系统主要完成的功能有:(1) 人员信息管理:企业员工信息(包括员工基本信息
5、、教育经历、个人简历、岗位变更、离职登记、离退休信息等)的维护和查询。(2) 考勤管理:管理员工的出勤情况(包括加班、请假、休假等) ,并提供查询和分类统计功能。(3) 薪资福利管理:管理员工的薪资和福利(包括当月工资、个人所得税、发放工资历史、员工奖励、员工惩罚等) 。(4) 社会保障管理:管理员工的社保信息(包括单位参保信息、养老保险、医疗保险、住房公积金等) ,生成社会保险台帐。(5) 系统管理:包括代码管理、参数设置、权限设置、更改密码等。52.22.2 顶层图顶层图工资管工资管理系统理系统员工员工系统管理员系统管理员工资查询工资查询注册登记注册登记信息维护信息维护打印报表打印报表2
6、23 3 数据流程图数据流程图2.42.4 数据字典分析数据字典分析数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数数据分析所获得的主要成果。名字:员工基本信息表描述:保存员工的基本信息定义:性别+姓名+年龄+部门+员工编号+毕业院校+所学专业+政治面貌名字:简历表描述:保存员工的求职信息定义:获奖情况+社会实践情况6名字:离职退休信息表描述:保存员工的离职相关信息定义:离职原因+离职日期+工龄名字;员工工资基本表描述:保存员工基本信息定义:包括员工 ID,工资发放日期,工资组成的各个方面名字:奖励绩效表描述:存储员工奖励信息定义:包括奖惩时间,奖惩原因,奖惩工资情况名字:员工考勤
7、表描述:记录员工的考勤情况定义:包括日期、员工编号、加班、休假、请假名字:社保信息描述:保存员工社保信息定义:参保信息+医疗保险+住房公积金+养老保险名字:部门表描述:部门信息定义:部门编号+部门名称+部门人数+部门负责人名字:岗位变更表描述:保存员工岗位变更的相关信息定义:变更日期+初始岗位+现在岗位名字:发放工资历史描述:发放工资情况信息定义:包括发放工资历史记录名字:员工考勤表描述:记录员工的考勤情况定义:包括日期、员工编号、加班、休假、请假名字:社保信息描述:保存员工社保信息定义:参保信息+医疗保险+住房公积金+养老保险73.数据库的概念设计数据库的概念设计分析前面的系统功能要求,需要
8、一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。员工是本系统的一个实体。为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。部门也是一个实体。工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据。工资也是一个实体。考勤管理是为了实现对员工考勤的管理,并实现对员工的进行查询和分类汇总的功能,因此,考勤也是一个实体。奖惩是以员工受到的奖励和惩罚所决定的,需建立一个表来记录各种奖励和惩罚。它主要是为各种查询提供数据。社保信息是为提供基本的查询功能而设定
9、的一个实体,岗位变更是为记录员工在本部门或不同部门的职位变化,并提供查询的功能。员工简历是为了提供员工在过去的情况而设定的一个实体。据此可以绘出工资管理系统数据库的 E-R 图如下:名字:部门表描述:保存部门信息定义:部门编号+部门名称+部门人数+部门负责人84.数据库的逻辑设计数据库的逻辑设计将数据库的概念模型转变为关系模型:9实体转变为关系模式的有:因为部门和员工 1:N 的关系,且员工和其他的实体也是 1:N 的关系,所以个关系模式为:部门(部门名称部门名称,部门人数,部门负责人)员工(员工编号员工编号,姓名,性别,年龄,学历,政治面貌,毕业学校,所学专业,出生日期,部门名称,退休信息,
10、 )工资(工资工资 ID,员工编号,基本工资,岗位工资,工龄工资,加班工资,个人所得税,缺勤扣款,其他应扣款,其他应加款,应发工资,实发工资,工资年月)考勤(考勤考勤 ID,员工编号,加班,请假,休假,日期,出勤天数)岗位变更(ID,员工编号,初始岗位,现在岗位,变更日期)离职信息(ID,员工编号,离职时间,离职原因,批准人)简历(ID,员工编号,,获奖情况,社会实践)奖惩(奖惩奖惩 ID,员工编号,奖罚日期,奖罚原因,解除日期) 工资历史(ID,员工编号,发放金额,发放日期)社保信息(ID,员工编号,养老保险,医疗保险,住房公积金,参保信息)用户信息(员工编号员工编号,密码,权限)带下划线的
11、属性为个关系模式的外码,字体为粗体粗体的属性为各关系模式的主码主码。5.数据库与数据表的设计数据库与数据表的设计物理结构设计物理结构设计5.15.1 数据库与数据表的设计数据库与数据表的设计员工信息数据表的定义字段字段名数据类型长度1姓名Varchar82性别char23年龄int4员工编号Varchar105部门名称Varchar156毕业院校Varchar 307政治面貌Varchar88所学专业Varchar40109学历Varchar1010出身日期Varchar1511退休信息Varchar30其中“员工编号”是表的主键,唯一标识。“部门名称”是外键。 “员工编号”将记录员工的编号,
12、在员工信息表中增加这一列时,虽然增加了数据冗余,但可以再查询每个员工信息是,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。此表取名为“员工” 。岗位变更数据表的定义:字段字段名称数据类型长度1员工编号varchar103初始岗位varchar204变更日期varchar205现在岗位varchar206IDint其中“员工编号”是主键,此表取名为岗位变更。简历表:字段字段名称数据类型长度1员工编号varchar102IDint3获奖情况varchar504社会实践情况varchar100此表取名为简历。离职信息
13、:字段字段名称数据类型长度1员工编号varchar102IDint3离职日期varchar204离职原因varchar405批准人varchar8此表取名为离职信息。奖惩表:字段名数据类型长度允许空主键奖惩 IDintNot null是员工编号varchar9No null 否奖惩日期varchar15Null否11奖惩原因varchar15Null否解除日期varchar15Null否 员工工资基本表字段名数据类型长度允许空主键工资 IDIntNot null是员工编号varchar9Not null否基本工资decimal5Not null否个人所得税decimal5Not null否缺勤
14、扣款工资decimal5Null否加班工资decimal5 null否工龄工资decimal5Not null否其他应减款decimal5Not null否其他应增款decimal5Not null否岗位工资decimal5Not null否应发工资decimal5否实发工资decimal5否日期varchar4No null否发放工资历史字段名数据类型长度允许空主键IDvarchar9Null 是员工编号varchar10Not null 否发放金额decimal9Not null否发放日期varchar15Not null否考勤表字段名数据类型长度允许空主键日期varchar12not n
15、ull否员工编号varchar25Not null否加班decimal40Null否休假decimal40Null否请假decimal40Null否出勤天数int4Not null否考勤 IDIntNot null 是社保信息字段名数据类型长度允许空主键12IDINTNOT NULL是员工编号varchar10Null否社保信息varchar20Null否参保信息varchar20Null否医疗保险varchar20Null否住房公积金varchar20Null否养老保险varchar20Null否用户信息表字段名数据类型长度允许空主键员工编号varchar10Not null 是密码Varc
16、har9Not null否权限Int2Not null否部门字段名数据类型长度允许空主键部门名称varchar10Not null 是部门人数int9Not null否部门负责人varchar15Not null否5.2 数据的完整性设计数据的完整性设计(1)给每个表实施主键约束。主键约束、非空约束员工:员工编号为主键,所以此项非空部门:部门编号为主键,所以此项非空其余的正如上面的设计(2)实施 CHECK 约束员工表中建立一个检查约束,即员工性别不是男的就是女的CHECK(性别 IN(男 , 女 ))考勤表中建立一个对于出勤天数天数的检查约束,即出勤天数在 0-20 之间CHECK(出勤天数
17、=0 and 出勤天数=0 and 出勤天数=20),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号);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(1
18、5);16Create table 用户信息(员工编号 varchar(10) primary key,密码 varchar(9) not null,权限 int notnull);6.3 创建视图创建视图查询员工工资情况建立一个视图,反映员工姓名及工资情况。Create view 员工_工资ASSELECT 员工.姓名,工资.* from 员工,工资 where 员工.员工编号=工资.员工编号;6.4 触发器触发器(1)当考勤表添加一条记录,工资表中的“加班工资” “考勤扣款”自动更新create trigger insert_考勤on 考勤after insert as begin dec
19、lare new_num intdeclare new_num1 intdeclare new_date varcharselect 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) 当考勤表添加一条记录,考勤表中的出勤天
20、数自动添加Create trigger insert_考勤 2On 考勤 For insertAs begin 17update 考勤 set 出勤天数=20-休假-请假 where 员工编号 in (select 员工编号 from inserted) end;(3)当工资表中添加一条新的记录, “应发工资”和“实发工资”自动填充create trigger insert_1on 工资 for insert,updateas beginupdate 工资 set 应发工资=基本工资+岗位工资+工龄工资+加班工资+其他应增款-缺勤扣款-其他应减款,实发工资=基本工资+岗位工资+工龄工资+加班工
21、资+其他应增款-缺勤扣款-其他应减款-个人所得税 where 员工编号 in (select 员工编号 from inserted)End;(4) 当工资表中添加一条新的记录,表“工资历史”的内容自动填充create trigger insert_2on 工资 after insertas begin declare bb varchar(10)declare cc decimal(12,4)declare dd varchar(15)select bb=员工编号 from insertedselect cc=实发工资 from 工资 select dd=工资年月 from insertedI
22、nsert into 工资历史 values( bb, cc, dd)End;(5)当考勤表的触发器触发工资表进行 update 时,工资表中的实发工资改变,使“工资历史” 表的发放金额自动改变create trigger insert_3on 工资 after update as begin declare new_aa decimaldeclare date varchar(15)set new_aa=(select 实发工资 from inserted)set date=(select 工资年月 from inserted)update 工资历史 set 发放金额= new_aa whe
23、re 员工编号 in (select 员工编号 from inserted) end;(6)当员工表删除或增加一个员工时,对应的部门人数相应变化Create trigger delete_员工on 员工 after delete18as beginupdate 部门 set 部门人数=部门人数-1 where 部门名称 in (select 部门名称 from deleted)end;create trigger insert_员工on 员工 after insertas beginupdate 部门 set 部门人数=部门人数+1 where 部门名称 in (select 部门名称 fro
24、m inserted)end;6.5 建立索引建立索引为提高检索性能,为表创建符合索引,其索引项为员工编号、姓名。Create index 员工编号_姓名_indOn 员工(员工编号,姓名);7.运行和维护运行和维护71 简单查询简单查询(1)员工基本信息情况,代码如下:(2)员工考勤情况,代码如下19(3)员工的基本工资设定,代码如下(4)按照基本工资和考勤,产生的工资,代码如下select * from 工资;7.2 复杂查询复杂查询(1)企业内部财务部的工资查询,代码如下:select 员工.员工编号,员工.姓名,实发工资 from 员工,工资 where 员工.员工编号=工资.员工编号 and 部门名称=财务部;20(2)企业工资报表,能查询单个员工的工资select 员工.员工编号,姓名,工资年月,基本工资,岗位工资,工龄工资,加班工资,缺勤
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵阳职业技术学院《房地产项目投资与融资》2023-2024学年第一学期期末试卷
- 2025年天津建筑安全员-C证考试(专职安全员)题库附答案
- 2025河南省安全员-C证考试(专职安全员)题库附答案
- 贵阳康养职业大学《社会危机管理》2023-2024学年第一学期期末试卷
- 广州中医药大学《普通化学及实验》2023-2024学年第一学期期末试卷
- 2025山西建筑安全员考试题库
- 广州医科大学《体育产业学》2023-2024学年第一学期期末试卷
- 广州现代信息工程职业技术学院《汽车拖拉机构造学》2023-2024学年第一学期期末试卷
- 2025云南省安全员-C证考试题库
- 2025江西省安全员A证考试题库
- 管束干燥机使用说明书
- 三轴试验报告(共12页)
- 学校及周边环境集中整治工作台帐
- 江苏省城市设计编制导则
- 糖尿病随访表(模板)
- 沥青搅拌站建设方案(完整版)
- 监控系统自检报告
- 贝多芬《f小调第一钢琴奏鸣曲》第一乐章曲士分析
- 中南财经政法大学工商管理硕士(MBA)
- JOWA CLEANTOIL 9000 ODME说明书
- 最新物业公司工程维修项目及收费标准
评论
0/150
提交评论