ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:432.75KB ,
资源ID:17266522      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17266522.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(工资管理系统数据库设计报告数据库课程设计Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

工资管理系统数据库设计报告数据库课程设计Word文档格式.docx

1、考察学生学以致用的能力。b. 由此考察学生的动手能力和合作的精神;以打分的形式作为一次考察记录。1.3参考资料a. 老师发放的软件工程文档模板。b. 网络下载有关的资料说明和一些部门的工资管理系统范例。2需求分析2.1功能的分析、工资管理系统主要完成的功能有:(1) 人员信息管理:企业员工信息(包括员工基本信息、教育经历、个人简历、岗位变更、离职登记、离退休信息等)的维护和查询。(2) 考勤管理:管理员工的出勤情况(包括加班、请假、休假等),并提供查询和分类统计功能。(3) 薪资福利管理:管理员工的薪资和福利(包括当月工资、个人所得税、发放工资历史、员工奖励、员工惩罚等)。(4) 社会保障管理

2、:管理员工的社保信息(包括单位参保信息、养老保险、医疗保险、住房公积金等),生成社会保险台帐。(5) 系统管理:包括代码管理、参数设置、权限设置、更改密码等。2.2 顶层图23数据流程图2.4 数据字典分析数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数数据分析所获得的主要成果。名字:简历表描述:保存员工的求职信息定义:获奖情况+社会实践情况离职退休信息表保存员工的离职相关信息离职原因+离职日期+工龄部门表部门信息部门编号+部门名称+部门人数+部门负责人员工考勤表记录员工的考勤情况包括日期、员工编号、加班、休假、请假发放工资历史发放工资情况信息包括发放工资历史记录社保信息保存员工社

3、保信息参保信息+医疗保险+住房公积金+养老保险3.数据库的概念设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。员工是本系统的一个实体。保存部门信息为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。部门也是一个实体。工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据。工资也是一个实体。考勤管理是为了实现对员工考勤的管理,并实现对员工的进行查询和分类汇总的功能,因此,考勤也是一个实体。奖惩是以员工受到的奖励和惩罚所

4、决定的,需建立一个表来记录各种奖励和惩罚。它主要是为各种查询提供数据。社保信息是为提供基本的查询功能而设定的一个实体,岗位变更是为记录员工在本部门或不同部门的职位变化,并提供查询的功能。员工简历是为了提供员工在过去的情况而设定的一个实体。据此可以绘出工资管理系统数据库的E-R图如下:4.数据库的逻辑设计将数据库的概念模型转变为关系模型:实体转变为关系模式的有:因为部门和员工1:N的关系,且员工和其他的实体也是1:N的关系,所以个关系模式为:部门(部门名称,部门人数,部门负责人)员工(员工编号,姓名,性别,年龄,学历,政治面貌,毕业学校,所学专业,出生日期,部门名称,退休信息,)工资(工资ID,

5、员工编号,基本工资,岗位工资,工龄工资,加班工资,个人所得税,缺勤扣款,其他应扣款,其他应加款,应发工资,实发工资,工资年月)考勤(考勤ID,员工编号,加班,请假,休假,日期,出勤天数)岗位变更(ID,员工编号,初始岗位,现在岗位,变更日期)离职信息(ID,员工编号,离职时间,离职原因,批准人)简历(ID,员工编号,,获奖情况,社会实践)奖惩(奖惩ID,员工编号,奖罚日期,奖罚原因,解除日期) 工资历史(ID,员工编号,发放金额,发放日期)社保信息(ID,员工编号,养老保险,医疗保险,住房公积金,参保信息)用户信息(员工编号,密码,权限)带下划线的属性为个关系模式的外码,字体为粗体的属性为各关

6、系模式的主码。5.数据库与数据表的设计物理结构设计5.1数据库与数据表的设计员工信息数据表的定义字段字段名数据类型长度1姓名Varchar82性别char3年龄int4员工编号105部门名称156毕业院校Varchar 307政治面貌所学专业409学历出身日期11退休信息其中“员工编号”是表的主键,唯一标识。“部门名称”是外键。“员工编号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以再查询每个员工信息是,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。此表取名为“员工”。岗位变更数据表

7、的定义:字段名称varchar初始岗位20变更日期现在岗位ID其中“员工编号”是主键,此表取名为岗位变更。简历表:获奖情况50社会实践情况100此表取名为简历。离职信息:离职日期离职原因批准人此表取名为离职信息。奖惩表:允许空主键奖惩IDNot null是No null否奖惩日期Null奖惩原因解除日期员工工资基本表工资IDInt基本工资decimal个人所得税缺勤扣款工资加班工资 null工龄工资其他应减款其他应增款岗位工资应发工资实发工资日期 是 否发放金额发放日期考勤表12not null25加班休假请假出勤天数考勤IDNot null INTNOT NULL参保信息医疗保险住房公积金养

8、老保险用户信息表密码权限部门部门人数部门负责人5.2数据的完整性设计(1) 给每个表实施主键约束。主键约束、非空约束员工:员工编号为主键,所以此项非空部门:部门编号为主键,所以此项非空其余的正如上面的设计(2) 实施CHECK约束 员工表中建立一个检查约束,即员工性别不是男的就是女的CHECK(性别IN(男,女) 考勤表中建立一个对于出勤天数天数的检查约束,即出勤天数在0-20之间CHECK(出勤天数=0 and 出勤天数=20),Create table 社保参保信息 varchar(20) ,医疗保险 decimal, 住房公积金 decimal,养老保险 decimal,Create t

9、able 部门(部门名称 varchar(15) primary key, 部门人数 int, 部门负责人 varchar(15)Create table 用户信息(员工编号 varchar(10) primary key,密码 varchar(9) not null,权限 int notnull6.3创建视图查询员工工资情况建立一个视图,反映员工姓名及工资情况。Create view员工_工资ASSELECT 员工.姓名,工资.* from 员工,工资 where 员工.员工编号=工资.员工编号;6.4 触发器(1)当考勤表添加一条记录,工资表中的“加班工资”“考勤扣款”自动更新create

10、 trigger insert_考勤on 考勤after insert as begin declare 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

11、 员工编号 from inserted) End;(2) 当考勤表添加一条记录,考勤表中的出勤天数自动添加Create trigger insert_考勤2On 考勤 For insertAs begin update 考勤 set 出勤天数=20-休假-请假 where 员工编号 in (select 员工编号 from inserted) end;(3)当工资表中添加一条新的记录,“应发工资”和“实发工资”自动填充create trigger insert_1on 工资 for insert,updateas beginupdate 工资 set 应发工资=基本工资+岗位工资+工龄工资+加

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

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

14、发放金额= new_aa where 员工编号 in (select 员工编号 from inserted) (6)当员工表删除或增加一个员工时,对应的部门人数相应变化Create trigger delete_员工on 员工 after deleteupdate 部门 set 部门人数=部门人数-1 where 部门名称 in (select 部门名称 from deleted)create trigger insert_员工on 员工 after insertupdate 部门 set 部门人数=部门人数+1 where 部门名称 in (select 部门名称 from inserted

15、)6.5 建立索引为提高检索性能,为表创建符合索引,其索引项为员工编号、姓名。Create index 员工编号_姓名_indOn 员工(员工编号,姓名);7.运行和维护71简单查询(1)员工基本信息情况,代码如下:(2)员工考勤情况,代码如下(3)员工的基本工资设定,代码如下(4)按照基本工资和考勤,产生的工资,代码如下select * from 工资;7.2复杂查询(1)企业内部财务部的工资查询,代码如下:select 员工.员工编号,员工.姓名,实发工资 from 员工,工资 where 员工.员工编号=工资.员工编号 and 部门名称=财务部;(2)企业工资报表,能查询单个员工的工资select 员工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1