ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:152.04KB ,
资源ID:3888787      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(工资管理系统数据库设计报告(数据库课程设计).doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

工资管理系统数据库设计报告(数据库课程设计).doc

1、数据库课程设计报告工资管理系统数据库设计报告设计题目:工资管理系统学 院:信息技术学院 专 业:信息管理与信息系统小组成员及分工组员分工分数编写代码及测试运行概念设计物理结构设计需求分析需求分析需求分析需求分析目录1引言41。1编写目的41。2项目背景41。3参考资料42需求分析52.1功能的分析、52。2 顶层图523数据流程图52。4 数据字典分析63。数据库的概念设计74。数据库的逻辑设计85.数据库与数据表的设计物理结构设计95。1数据库与数据表的设计95。2数据的完整性设计126。数据库操作与实施结果数据库对象的设计136.1建数据库工资管理库136。2 建表136。3创建视图166

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

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

4、和查询.(2) 考勤管理:管理员工的出勤情况(包括加班、请假、休假等),并提供查询和分类统计功能。(3) 薪资福利管理:管理员工的薪资和福利(包括当月工资、个人所得税、发放工资历史、员工奖励、员工惩罚等)。(4) 社会保障管理:管理员工的社保信息(包括单位参保信息、养老保险、医疗保险、住房公积金等),生成社会保险台帐。(5) 系统管理:包括代码管理、参数设置、权限设置、更改密码等.2.2 顶层图工资管理系统员工系统管理员工资查询注册登记信息维护打印报表23数据流程图2。4 数据字典分析数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数数据分析所获得的主要成果。名字:员工基本信息表描述

5、:保存员工的基本信息定义:性别+姓名+年龄+部门+员工编号+毕业院校+所学专业+政治面貌名字:简历表描述:保存员工的求职信息定义:获奖情况+社会实践情况名字:离职退休信息表描述:保存员工的离职相关信息定义:离职原因+离职日期+工龄名字:部门表描述:部门信息定义:部门编号+部门名称+部门人数+部门负责人名字:社保信息描述:保存员工社保信息定义:参保信息+医疗保险+住房公积金+养老保险名字:员工考勤表描述:记录员工的考勤情况定义:包括日期、员工编号、加班、休假、请假名字:岗位变更表描述:保存员工岗位变更的相关信息定义:变更日期+初始岗位+现在岗位名字;员工工资基本表描述:保存员工基本信息定义:包括

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

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

8、个实体。据此可以绘出工资管理系统数据库的E-R图如下:4。数据库的逻辑设计将数据库的概念模型转变为关系模型:实体转变为关系模式的有:因为部门和员工1:N的关系,且员工和其他的实体也是1:N的关系,所以个关系模式为:部门(部门名称,部门人数,部门负责人)员工(员工编号,姓名,性别,年龄,学历,政治面貌,毕业学校,所学专业,出生日期,部门名称,退休信息,)工资(工资ID,员工编号,基本工资,岗位工资,工龄工资,加班工资,个人所得税,缺勤扣款,其他应扣款,其他应加款,应发工资,实发工资,工资年月)考勤(考勤ID,员工编号,加班,请假,休假,日期,出勤天数)岗位变更(ID,员工编号,初始岗位,现在岗位

9、,变更日期)离职信息(ID,员工编号,离职时间,离职原因,批准人)简历(ID,员工编号,获奖情况,社会实践)奖惩(奖惩ID,员工编号,奖罚日期,奖罚原因,解除日期) 工资历史(ID,员工编号,发放金额,发放日期)社保信息(ID,员工编号,养老保险,医疗保险,住房公积金,参保信息)用户信息(员工编号,密码,权限)带下划线的属性为个关系模式的外码,字体为粗体的属性为各关系模式的主码。5。数据库与数据表的设计-物理结构设计5。1数据库与数据表的设计员工信息数据表的定义字段字段名数据类型长度1姓名Varchar82性别char23年龄int4员工编号Varchar105部门名称Varchar156毕业

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

11、现在岗位varchar206IDint其中“员工编号”是主键,此表取名为岗位变更。简历表:字段字段名称数据类型长度1员工编号varchar102IDint3获奖情况varchar504社会实践情况varchar100此表取名为简历。离职信息:字段字段名称数据类型长度1员工编号varchar102IDint3离职日期varchar204离职原因varchar405批准人varchar8此表取名为离职信息。奖惩表:字段名数据类型长度允许空主键奖惩IDintNot null是员工编号varchar9No null否奖惩日期varchar15Null否奖惩原因varchar15Null否解除日期var

12、char15Null否员工工资基本表字段名数据类型长度允许空主键工资IDIntNot null是员工编号varchar9Not null否基本工资decimal5Not null否个人所得税decimal5Not null否缺勤扣款工资decimal5Null否加班工资decimal5 null否工龄工资decimal5Not null否其他应减款decimal5Not null否其他应增款decimal5Not null否岗位工资decimal5Not null否应发工资decimal5否实发工资decimal5否日期varchar4No null否发放工资历史字段名数据类型长度允许空主键I

13、Dvarchar9Null 是员工编号varchar10Not null 否发放金额decimal9Not null否发放日期varchar15Not null否考勤表字段名数据类型长度允许空主键日期varchar12not null否员工编号varchar25Not null否加班decimal40Null否休假decimal40Null否请假decimal40Null否出勤天数int4Not null否考勤IDIntNot null 是社保信息字段名数据类型长度允许空主键IDINTNOT NULL是员工编号varchar10Null否社保信息varchar20Null否参保信息varcha

14、r20Null否医疗保险varchar20Null否住房公积金varchar20Null否养老保险varchar20Null否用户信息表字段名数据类型长度允许空主键员工编号varchar10Not null 是密码Varchar9Not null否权限Int2Not null否部门字段名数据类型长度允许空主键部门名称varchar10Not null是部门人数int9Not null否部门负责人varchar15Not null否5。2数据的完整性设计(1) 给每个表实施主键约束.主键约束、非空约束员工:员工编号为主键,所以此项非空部门:部门编号为主键,所以此项非空其余的正如上面的设计(2)

15、实施CHECK约束 员工表中建立一个检查约束,即员工性别不是男的就是女的CHECK(性别IN(男,女)) 考勤表中建立一个对于出勤天数天数的检查约束,即出勤天数在020之间CHECK(出勤天数=0 and 出勤天数=20)(3) 外键约束 FK_员工_部门 FOREIGN KEY (部门名称) REFERENCES 部门(部门名称) FK_工资_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) FK_岗位变更_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) FK_简历_员工 FOREIGN KEY(员工编号)REFERENCES 员

16、工(员工编号) FK_离职_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) FK_奖惩_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) FK_工资历史_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) FK_考勤_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) FK_社保_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)(4) 惟一约束每一个表的主键都需要定义为惟一性: 对于工资历史表员工编号也要惟一约束。(5)强制约束 对INSERT和U

17、PDATE操作强制约束,表明以后对员工表中的部门名称的添加和更新操作都会检查部门表中是否存在与此相应的内容.6。数据库操作与实施结果-数据库对象的设计6.1建数据库工资管理库Create database GZGL;6。2 建表Create table 员工(员工编号 varchar(10)not null primary key, 姓名 char(8)not null, 性别 char(2) not null check(性别 in (男,女), 年龄 intnot null, 学历 varchar(10)not null, 部门名称 varchar(15)not null, 毕业院校 va

18、rchar(30)not null, 政治面貌 varchar(8)not null, 所学专业 varchar(40)not null, 出生日期 varchar(15)not null, 退休信息 varchar(4)not null, FOREIGN KEY (部门名称) REFERENCES 部门(部门名称) );Create table 简历(ID int primary key identity, 员工编号 varchar(10)not null, 获奖情况 varchar(50), 社会实践情况 varchar(100), FOREIGN KEY(员工编号)REFERENCES

19、员工(员工编号));Create table 离职(ID int primary key identity,员工编号 varchar(10)not null,离职原因 varchar(40),离职时间 varchar(20),批准人 varchar(8),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号);Create table 岗位变更( ID int primary key identity,员工编号 varchar(10)not null ,初始岗位 varchar(20),变更日期 varchar(20),现在岗位 varchar(20),FOREIGN KEY

20、(员工编号)REFERENCES 员工(员工编号) );CREATE TABLE 工资(工资ID int primary key identity,员工编号 varchar(10)not null,基本工资 decimalnot null,个人所得税 decimalnot null,缺勤扣款decimal,加班工资 decimal,工龄工资 decimalnot null,其他应减款 decimal,其他应增款 decimal,岗位工资 decimalnot null,应发工资 decimal,实发工资 decimal,工资年月 varchar (15),FOREIGN KEY(员工编号)RE

21、FERENCES 员工(员工编号);CREATE TABLE 奖惩(奖惩ID int primary key identity,员工编号 varchar (10)not null,奖惩日期varchar(15),奖惩原因 varchar (15),解除日期 varchar(15)FOREIGN KEY(员工编号)REFERENCES 员工(员工编号));CREATE TABLE工资历史( ID int primary key identity,员工编号varchar(10),发放金额 decimal,发放日期 varchar(20),FOREIGN KEY(员工编号)REFERENCES 员工

22、(员工编号);Create table 考勤(考勤ID int primary key identity ,员工编号 varchar(10)not null,加班 int,休假 int,请假int,日期 varchar(15),出勤天数 20-请假休假 intCHECK(出勤天数=0 and 出勤天数=20),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号));Create table 社保(ID int primary key identity,员工编号 varchar(10)not null,参保信息 varchar(20) ,医疗保险 decimal, 住房公积金

23、 decimal,养老保险 decimal,FOREIGN KEY(员工编号)REFERENCES 员工(员工编号);Create table 部门(部门名称 varchar(15)primary key, 部门人数 int, 部门负责人 varchar(15);Create table 用户信息(员工编号 varchar(10)primary key,密码 varchar(9) not null,权限 int notnull);6.3创建视图查询员工工资情况建立一个视图,反映员工姓名及工资情况。Create view员工_工资ASSELECT 员工.姓名,工资。 from 员工,工资 whe

24、re 员工。员工编号=工资。员工编号;6.4 触发器(1)当考勤表添加一条记录,工资表中的“加班工资”“考勤扣款”自动更新create trigger insert_考勤on 考勤after insert as begindeclare 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)upda

25、te 工资 set 加班工资=new_num*100,缺勤扣款=new_num1*100 where 员工编号in (select员工编号 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 工资

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

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

28、select 实发工资 from inserted)set date=(select 工资年月 from inserted)update 工资历史 set 发放金额= new_aa where 员工编号 in (select 员工编号 from inserted)end;(6)当员工表删除或增加一个员工时,对应的部门人数相应变化Create trigger delete_员工on 员工 after deleteas beginupdate 部门 set 部门人数=部门人数1 where 部门名称 in (select 部门名称 from deleted)end;create trigger i

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

30、的工资查询,代码如下:select 员工。员工编号,员工.姓名,实发工资 from 员工,工资 where 员工。员工编号=工资.员工编号 and 部门名称=财务部;(2)企业工资报表,能查询单个员工的工资select 员工。员工编号,姓名,工资年月,基本工资,岗位工资,工龄工资,加班工资,缺勤扣款,其他应减款,其他应增款,应发工资,实发工资from 工资,员工 where 员工。员工编号=工资.员工编号 and 姓名 like 张%;(3)每个部门的工资情况,按月统计select 部门名称,avg(实发工资) from 工资,员工 where 员工。员工编号=工资。员工编号 group by

31、 部门名称;7。3数据库的用户与权限管理(1)数据库的用户管理GZGL库的用户dbo用户属性数据库登陆文件夹Sa登陆属性建立新用户:用户名U1,密码 1234(登陆名login1)Create login login1 with password=1234;Use GZGL;Create user U1 for login1;(2)用户权限管理系统权限管理对象权限管理,设置权限将员工表的录入、查询授予给U1用户GRANT SELECT,INSERT ON TABLE 员工 TO U1;7。4数据库的备份对GZGL库进行备份单击备份右键进行备份7.5数据的导出与导入1)数据的导出8 总结经过这段

32、时间的努力,我们组在老师的帮助下,基本完成本次的课程设计,基本达到了工资管理系统的要求。经过这次数据库课程设计给我们留下了很大的印象,明白了流程是一切的根本,架构是骨骼。实践比一切的空谈和理论更能学到东西。在做这个数据库开始无论遇到什么困难,我们都没有一丝的放弃念头。也体会到,在设计过程中一定要慎重,仔细,来不得半点马虎.需求分析是整个课程设计的中心,考虑全面,分析彻底。才会为后来的设计打下良好的基础。否则,前功尽弃,甚至不能完成任务。做实例过程中要注意一说明书中数据项类型,数据长度等一致,不能像平时在纸上作业。最后,通过这次课程设计让我们学到了很多,强化了动手能力,加强了合作意识,为以后找工作奠定了一定的基础。15

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服