工资管理系统数据库设计报告(数据库课程设计)模板
- 格式:doc
- 大小:656.00 KB
- 文档页数:25
企业员工工资管理系统设计1一、背景 .........................................................1二、员工工资系统设计 ............................................12.1系统功能分析 ...............................................22.2系统物理模块设计 ...........................................2三、 数据库设计 .................................................23.1数据流需求分析 ............................................23.2概念模型设计 ...............................................53.3逻辑结构设计 ...............................................6四、数据库程序设计 ...............................................4.1用户登录模块 ...............................................674.2 主窗体模块 ...............................................4.3员工信息模块 ...............................................894.4工资信息模块 ...............................................9附录 .............................................................一、背景S家具企业始建于1954年,是一家有着40多年历史的老厂。
数据库设计报告——工资管理系统一、引言工资是公司和员工之间的一种交换方式,是员工为公司所做的工作得到相应报酬的一种形式。
在一个公司或组织中,工资管理系统是一项重要的任务,它涉及到员工信息、薪资核算、工资发放、工资统计等内容。
为了提高工资管理的效率和准确性,设计一个合理的数据库是非常重要的。
二、数据库设计目标1.提供员工信息的录入和管理功能;2.提供员工工资的计算和发放功能;3.提供工资统计和报表生成功能;4.提供数据的安全和备份功能。
三、数据库设计方案1.员工信息表设计2.薪资核算表设计薪资核算表是根据员工的职位和工作时长计算薪资的依据。
薪资核算表包含员工ID、员工姓名、职位、工作时长、基本工资、加班工资、补贴等字段。
根据这些字段进行合理的计算,得出员工的最终工资。
3.工资发放表设计工资发放表记录了每一次工资的发放情况,包括员工ID、员工姓名、发放时间、工资金额等字段。
可以根据这些字段进行工资的发放和工资单的打印。
4.工资统计表设计工资统计表主要用于统计和分析公司员工的工资情况,如平均工资、最高工资、最低工资等。
可以根据职位、部门等维度进行统计,生成相应的报表和图表。
5.数据库安全与备份方案为了保障数据的安全和完整性,需要对数据库进行安全设置。
可以设置访问权限,只允许授权人员进行数据的录入、修改和查询。
此外,还需要定期备份数据库,以防止数据丢失。
四、数据库设计实施1. 选取合适的数据库软件,如MySQL、Oracle等;2.创建数据库,并创建员工信息表、薪资核算表、工资发放表、工资统计表等表结构;3.设计合适的数据录入界面,用于员工信息的录入和管理;4.设计薪资计算和发放功能,确保工资的准确性和及时性;5.设计工资统计和报表生成功能,方便管理层进行分析和决策;6.设置数据库的安全权限,并定期备份数据库。
五、数据库设计总结工资管理系统是一个关键的人力资源管理系统,数据库设计的合理性和准确性直接影响到工资管理的效率和准确性。
工资管理系统数据库课程设计报告姓名:* *班级:计科 0613学号:0902061307指导老师:刘嫔时间:2010年1月目录第一章概述1.1项目背景 (3)1.2编写目的 (3)1.3软件定义 (3)第二章需求分析2.1 数据库需求分析 (4)2.2 功能陈述 (4)2.3 数据流图 (4)2.4功能流程图 (6)2.5 E-R模型图 (7)第三章数据库逻辑设计3.1 表的定义 (10)第四章系统模块的具体实现 (12)第五章结束语5.1系统运行与测试 (25)5.2 心得体会 (25)参考文献 (26)第一章概述1.1项目背景随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。
工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。
1.2编写目的巩固课堂知识,加深对数据库系统的了解领会数据库理论与软件开发实践的关系培养良好的编程习惯,熟悉软件开发的基本流程1.3软件定义1.3.1软件名称工资管理系统1.3.2 系统的主要功能此工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。
延安大学计算机学院实验报告专用纸实验室:软件工程实验室学号:实验日期:2013年11月日(1)。
需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等.在做这个管理系统时,我们既咨询了父母又结合了教师等不同行业人士的工资情况,发现该系统受些许因素牵制比如说:公司大小,人员流动性,员工学历等通过我们的了解调查最终总结出系统功能如下:a。
整体结构合理, 模块化结构利于操作。
b。
完整的数据输入,输出,维护.c。
拥有不错的自检性,用户输错或误输均有提示。
d. 拥有较强的容错性,某个用户的错误操作不会引起系统的瘫痪。
e. 程序接口灵活,以便日后操作与维护。
f. 在不影响系统功能的前提下,美化操作界面.(2)。
概念设计○1E-R图错误!数据流图(3).逻辑设计基本信息(员工编号号,姓名,性别,毕业学校,所学专业,学历,电话,住址,从事岗位).考勤信息表(员工编号,姓名,请假天数,矿工天数,月迟到次数,月份).加班信息表(员工编号,姓名,晚班加班(天),周末加班(天),春节加班(天),节假日加班(天),月份)。
岗位信息表(员工编号,姓名,从事岗位,基本工资,部门名称)。
部门信息表(部门编号,部门名称,部门经理,部门人数)根据基本表创建了如下视图:加班津贴(员工编号,姓名,加班薪酬,月份)缺勤扣除表(员工编号,姓名,扣除工资,月份)月工资表(员工编号,姓名,基本工资,扣除工资,加班薪酬,实得工资,月份)年终奖(员工编号,姓名,奖(4).数据字典视图的创建:(5)。
系统的实现开发环境:SQL server 2005及eclipse○,1用SQL语言创建数据库Array 1.基本信息表(JBXX)Create table JBXX(Empno int not null primarykey,Emname varchar(8) not null,Sex char(2)check(Sex=’ 男’or Sex=’女’),School varchar(20)null,Profession varchar(20) null,Education varchar(6) null,Phone char(11) null,Address varchar(15)null)3.加班信息表(OVERTIMEINFORMA TION)Create table OVERTIMEINFORMATION(Empno int not null ,Night int null,Weekend int null,Festival int null,Special int null,Themonth int not null,5。
工资管理系统数据库设计报告设计题目:工资管理系统学生姓名:系别:电气信息工程系专业:计算机科学与技术班级:学号:2010 年11月30 日目录目录 (2)一、引言 (3)二、需求分析 (4)三、系统功能分析 (5)四、E-R图……………………………………….错误!未定义书签。
五.数据流程图 (11)六.逻辑结构设计 (12)七.关系图 (18)一引言1.1编写目的1.掌握工资管理系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。
2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。
3.培养把所学知识运用到具体对象,并能求出解决方案的能力。
1.2背景随着高等学校的快速发展,高校规模越来越大,教职工的数量也越来越多,高校工资管理更加的复杂,而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点。
因为此数据库是为工资管理系统服务以及提供数据的,所以此数据的名称定为“工资”以便记忆,而建立数据库的工具为sql server 2005,使用为VS 2008一.需求分析1.数据需求工资管理信息系统需要完成功能主要有:(1)员工基本信息的录入,修改,删除,包括员工编号,员工姓名,所属部门,性别,出生年月,身份证号,民族,政治面貌,文化程度,专业,职务,进入单位时间,基本工资,银行账号,电话号码,联系电话住址,说明(2)工资标准设定功能。
具体包括职务工资,职称工资以及其它工资标准的设定。
(3)工资信息浏览。
包括员工编号,员工姓名,实发工资(4)员工工资表创建。
数据库课程设计报告_工资管理系统一、引言工资管理是每个企业必不可少的一个管理方面,它不仅关系到企业的资金管理,同时也关系到员工的收入与福利。
在当前信息技术不断发展的时代,各种软件系统的应用已经成为了一个企业发展的标配。
因此,我们设计了一款简单实用的工资管理系统。
二、系统的设计思路1. 系统需求分析针对使用系统人员(管理员、普通员工)的需求,我们在系统中加入了以下功能:* 员工信息的录入与修改* 员工工资信息的录入与修改* 工资发放管理* 查看历史工资记录结合上述功能点,我们为系统制定了几条关键需求:* 数据库必须可保证一致性,员工工资信息需在工资发放管理时及时更新* 管理员可查看工资信息,但无权修改工资明细* 操作流程应严谨,避免用户误操作2. 数据库表设计为了实现系统的功能,我们设计了以下表:* employee(员工信息表)* salary(员工工资明细表)* salary_record(工资记录表)employee表主要包括员工的基本信息,包括员工编号、姓名、性别、部门、岗位等。
salary表主要记录员工的工资明细信息,包括年度、月份、基本工资、绩效工资、奖金等。
salary_record表主要记录工资的发放记录,包括年度、月份、发放日期等。
3. 系统架构设计本系统采用了B/S架构,由前端页面和后台服务端组成。
前端页面采用了HTML、CSS、JavaScript等技术进行开发,后台服务端则采用了Java语言并使用了Spring框架。
4. 功能设计系统主要功能有如下几点:* 员工信息管理:管理员可对员工信息进行添加、修改、删除操作。
* 工资信息管理:管理员可对员工工资信息进行添加、修改、删除操作。
* 工资发放管理:管理员可对员工工资信息进行发放操作。
* 工资查询:工资发放后,员工和管理员可以查询员工工资记录。
三、实现技术细节1. 连接池为了防止每次创建一个新的连接造成过度资源的占用,在系统中使用了连接池技术。
工资管理系统数据库设计报告(数据库课程设计)模板数据库课程设计报告设计题目:工资管理系统学院:数学与计算机学院专业:计算机科学与技术(软件工程)班级:软件12 指导老师:李竹林组员:徐振国(02)张奇卫(03)小组成员及分工组员分工编写代码及测试运行概念设计物理结构设计需求分析需求分析需求分析需求分析目录1.引言41.1编写目的41.2项目背景41.3参考资料42.需求分析52.1功能的分析、52.2 顶层图52.3数据流程图52.4 数据字典分析63.数据库的概念设计74.数据库的逻辑设计85.数据库与数据表的设计——物理结构设计95.1数据库与数据表的设计95.2数据的完整性设计126.数据库操作与实施结果——数据库对象的设计136.1建数据库——工资管理库136.2 建表136.3创建视图166.4 触发器166.5 建立索引177.运行和维护187.1简单查询187.2复杂查询197.3数据库的用户与权限管理XXXX年月,基本工资,岗位工资,工龄工资,加班工资,缺勤扣款,其他应减款,其他应增款,应发工资,实发工资from 工资,员工where 员工.员工编号=工资.员工编号and 姓名like '张%';(3)每个部门的工资情况,按月统计select 部门名称,avg(实发工资) from 工资,员工where 员工.员工编号=工资.员工编号group by 部门名称;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 总结经过这段时间的努力,我们组在老师的帮助下,基本完成本次的课程设计,基本达到了工资管理系统的要求。
课程设计报告书年 月1 设计时间2 设计目的掌握数据库的设计3设计任务设计一个工资管理系统4 设计内容〔1〕目标:1)实现月工资计算;2)实现与工资管理有关的档案管理。
3)提高工资管理工作效率,降低出错率。
〔2〕功能要求:档案管理1)保存有关工资计算以及工资管理所必须的数据2)能对数据进行查询、统计工资计算1)正确计算出个人月工资、部门月工资以及全厂月工资。
2)能对病假扣款系数进行修正。
3)能统计工资计算表、个人工资单、部门工资单、工资汇总表四种表格。
需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比方拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比方工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
由于设计时间本设计事一个简单模型,该公司目前对工资管理的要求并不高。
因此,针对该公司而言,我们经过了反复地论证,最终确定了工资管理系统的设计方案。
该工资管理系统的主要功能如下图:图4-1概念结构设计图4-2职工技术职称性别 出生日期参加工作日期所属部门人员类别工种类别 技术等级职工号文化程度 现住址籍贯民族工资管理系统职工基本信息 工资结构设置 工资汇总资料输入职工增删职工查询基础工资岗位工资工龄工资岗位工资工龄工资图4-3图4-4工资表岗位津贴住房补贴职务津贴物价补贴房租缺勤扣除工资加班费出勤表职工出勤日数工伤日数 产假日数旷工日数病假日数事假日数 加班日数夜班日数 病假系数图4-5 总ER 图逻辑结构设计职工表〔职工号 技术等级 性别 出生日期 参加工作日期 所属部门 人员类别 工种职别技术职称 文化程度 民族 籍贯 现住址 〕工资表〔技术等级 职工的基本工资 岗位津贴 物价补贴 职位津贴 住房补贴 房租〕出勤表〔职工号 职工出勤 工伤日数 产假日期 病假日期 旷工日期 事假日期 加班日期 夜班日期 病假日期〕物理结构设计职工表4-1字段名称 类型 是否为空 主关键字 取值范围 备注 职工号 char 否 Y 主键 char 否 N 性别 char 否 N 出生日期datetime否N职工出勤表工资表职工号 性别 民族职工号 技术等级物价补贴 岗位津贴物价补贴住房补贴 技术等级加班费 旷工日数加班日数职工代号工伤日数产假日数事假日数病假日数影响影响参加工作datetime 否 N日期所属部门 char 否 N人员类别 char 否 N工种职别 char 否 N技术等级 char 否 N技术职称 char 否 N文化程度 char 否 N民族 char 否 N籍贯 char 否 N现住址 char 否 N工资表4-2字段名称 类型 是否为空 主键字 取值范围 备注 技术等级 char 否 Y 主键 岗位津贴 int 否 N物价补贴 int 否 N职务津贴 int 否 N住房补贴 int 否 N房租 int 否 Nint 否 N缺勤扣除工资加班费 int 否 N出勤表4-3字段名称 类型 是否为空 主键字 取值范围 备注 职工号 char 否 Y 主键 int 否 N职工的出勤日数工伤日数 int 否 N产假日数 int 否 N病假日数 int 否 N旷工日数 int 否 N事假日数 int 否 N加班日数 int 否 N夜班日数 int 否 N病假系数 int 否 N数据库实现职工号 char(10) primary key,create table ZG(char(10) not null,性别 char(10) not null,出生日期 datetime not null,参加工作日期 datetime not null ,所属部门 char (20) not null,人员类别 char(10) not null,工种职别 char (10) not null,技术等级 char (10) not null,技术职称 char (10) not null,文化程度 char (10) not null,民族 char (10) not null,籍贯 char (10) not null,现住址 char (10) ) not null;技术等级 char(10) primary key not null, create table GZ(职工的基本工资 int not null ,岗位津贴 int not null ,物价补贴 int not null ,职务津贴 int not null,住房补贴 int not null,房租 int not null );职工号 char(10) primary key,create table CQ(职工的出勤日数 int ,公伤日数 int not null,产假日数 int not null ,病假日数 int not null,旷工日数 int not null,事假日数 int not null,加班日数 int not null ,夜班日数 int not null ,病假系数 int not null);数据载入职工表的数据图4-6工资表的数据图4-7出勤表的数据图4-8运行与测试设计系统查询功能及要求,写出主要的查询SQL语句,并给出运行结果。
数据库原理及应用课程设计《工资管理系统》学生姓名:++++++学生班级:++++++++学生学号:++++++++指导老师:+++++++目录一、开发背景 (3)二、系统功能 (3)三、需求分析 (5)1、数据流图 (5)2、数据字典 (6)1.数据流的描述 (6)2、处理逻辑的描述 (7)3. 数据存储的描述 (8)四.概念结构设计 (9)(1)员工信息属性图 (9)(2)工资种类属性图 (10)(3)津贴属性图 (10)(5)局部E-R图 (11)(6)局部E-R图 (12)(7)总的E-R图 (13)五、逻辑结构设计 ..................................................................... 错误!未定义书签。
1数据库关系模式 .. (14)2规范化处理 (14)3逻辑模型 (14)1.员工信息表 (14)2.工资种类表 (15)3.津贴表 (15)4.加班表 (15)六、物理结构设计 ..................................................................... 错误!未定义书签。
七、数据库实施及应用程序编制 (16)1.创建数据库 (17)2.创建表 (17)3.创建存储过程....................................................................... 错误!未定义书签。
八、课程设计心得体会 (19)一、开发背景现代企业管理非常复杂,并且管理的范围也很广泛。
不仅要管理职工的工资发放,还要管理财务预算结算,银行之间的转账等。
手工管理这些信息几乎不再可能,并且效率低,保密性差。
用计算机管理的优点是查询速度快,保密性好一集成本低。
因此开发专用的工资管理系统,让计算机自动管理工资势在必行。
随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。
工资系统数据库课程设计一、课程目标知识目标:1. 理解数据库在工资管理系统中的应用和重要性;2. 掌握工资管理系统的基本功能模块及其数据表结构设计;3. 学会运用SQL语句进行工资数据的查询、插入、更新和删除操作;4. 了解数据库的安全性和一致性原则在工资系统中的应用。
技能目标:1. 能够独立设计并实现一个简单的工资管理系统数据库;2. 能够运用所学知识,对工资数据进行有效管理和维护;3. 能够通过数据库查询和分析,解决工资管理中的实际问题;4. 学会使用数据库管理工具(如:MySQL、Oracle等)进行数据操作。
情感态度价值观目标:1. 培养学生对数据库技术在工资管理系统中的应用产生兴趣,提高学习积极性;2. 培养学生严谨、细心的数据处理能力和团队合作精神;3. 增强学生对信息技术的认识,使其意识到信息技术在企业管理中的重要作用;4. 培养学生尊重劳动、诚实守信的品质,提高社会责任感。
课程性质:本课程为实践性较强的课程,以培养学生的实际操作能力和解决问题的能力为主。
学生特点:学生具备一定的数据库基础知识和计算机操作技能,但可能对工资管理系统的实际应用了解不多。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,以案例教学为主,培养学生的实际操作能力和分析解决问题的能力。
在教学过程中,关注学生的学习进度和情感态度,确保课程目标的实现。
通过课程学习,使学生能够将所学知识应用于实际工作中,提高其职业素养。
二、教学内容1. 工资管理系统概述- 了解工资管理系统的基本概念和功能模块;- 分析工资管理系统的业务流程。
2. 数据库设计基础- 学习数据库设计的基本原则和步骤;- 掌握实体关系模型和关系数据库设计方法。
3. 工资管理系统数据库设计- 设计工资管理系统所需的数据表结构;- 学习如何建立实体和关系,并进行属性定义。
4. SQL语句操作- 掌握SQL基本操作(查询、插入、更新、删除);- 学习运用SQL语句对工资数据进行管理。
..数据库课程设计报告设计题目:工资管理系统学院:数学与计算机学院专业:计算机科学与技术(软件工程)班级:软件12指导老师:李竹林组员:徐振国(02)张奇卫(03)小组成员及分工目录1.引言 (4)1.1编写目的 (4)1.2项目背景 (4)1.3参考资料 (5)2.需求分析 (5)2.1功能的分析、 (5)2.2顶层图 (6)2.3数据流程图 (6)2.4数据字典分析 (6)3.数据库的概念设计 (8)4.数据库的逻辑设计 (9)5.数据库与数据表的设计——物理结构设计 (10)5.1数据库与数据表的设计 (10)5.2数据的完整性设计 (13)6.数据库操作与实施结果——数据库对象的设计 (14)6.1建数据库——工资管理库 (14)6.2建表 (14)6.3创建视图 (17)6.4触发器 (17)6.5建立索引 (19)7.运行和维护 (19)7.1简单查询 (19)7.2复杂查询 (20)7.3数据库的用户与权限管理 (21)7.4数据库的备份 (23)7.5数据的导出与导入 (24)8 总结 (25)工资管理系统分析和设计1.引言1.1编写目的随着科学的进步,一些公司不断发展壮大急需一套完整的工资管理系统帮助企业的财务主管部门提高工作效率,实现企业工资管理的系统化、规范化和自动化。
本系统实现对人员信息、薪资福利、员工社保信息的维护和查询,并能迅速准确地完成考勤的分类汇总,生成工资报表等。
能够使单位实现工资管理的自动化,无疑将给企业管理部门带来很大的方便。
真正实现企业高效、科学、现代化的员工管理。
有利于财务部门对员工工资的管理,减轻人事部们的任务,提高公司效率,节约人力资源从而降低了企业成本。
1.2项目背景a.我们对数据库技术有了初步的了解和具体的应用;因此,做此分析,由各小组成员合作做出一个项目。
让我们对学到的知识系统的结合在一起;考察学生学以致用的能力。
b.由此考察学生的动手能力和合作的精神;以打分的形式作为一次考察记录。
1.3参考资料a.老师发放的软件工程文档模板。
b.网络下载有关的资料说明和一些部门的工资管理系统范例。
2.需求分析2.1功能的分析、工资管理系统主要完成的功能有:(1) 人员信息管理:企业员工信息(包括员工基本信息、教育经历、个人简历、岗位变更、离职登记、离退休信息等)的维护和查询。
(2) 考勤管理:管理员工的出勤情况(包括加班、请假、休假等),并提供查询和分类统计功能。
(3) 薪资福利管理:管理员工的薪资和福利(包括当月工资、个人所得税、发放工资历史、员工奖励、员工惩罚等)。
(4) 社会保障管理:管理员工的社保信息(包括单位参保信息、养老保险、医疗保险、住房公积金等),生成社会保险台帐。
(5) 系统管理:包括代码管理、参数设置、权限设置、更改密码等。
2.2 顶层图2.3数据流程图2.4 数据字典分析数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数数据分析所获得的主要成果。
3.数据库的概念设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。
员工是本系统的一个实体。
要是为各种查询提供数据。
社保信息是为提供基本的查询功能而设定的一个实体,岗位变更是为记录员工在本部门或不同部门的职位变化,并提供查询的功能。
员工简历是为了提供员工在过去的情况而设定的一个实体。
据此可以绘出工资管理系统数据库的E-R图如下:4.数据库的逻辑设计将数据库的概念模型转变为关系模型:实体转变为关系模式的有:因为部门和员工1:N的关系,且员工和其他的实体也是1:N的关系,所以个关系模式为:部门(部门名称,部门人数,部门负责人)员工(员工编号,姓名,性别,年龄,学历,政治面貌,毕业学校,所学专业,出生日期,部门名称,退休信息,)工资(工资ID,员工编号,基本工资,岗位工资,工龄工资,加班工资,个人所得税,缺勤扣款,其他应扣款,其他应加款,应发工资,实发工资,工资年月)考勤(考勤ID,员工编号,加班,请假,休假,日期,出勤天数)岗位变更(ID,员工编号,初始岗位,现在岗位,变更日期)离职信息(ID,员工编号,离职时间,离职原因,批准人)简历(ID,员工编号,,获奖情况,社会实践)奖惩(奖惩ID,员工编号,奖罚日期,奖罚原因,解除日期)工资历史(ID,员工编号,发放金额,发放日期)社保信息(ID,员工编号,养老保险,医疗保险,住房公积金,参保信息)用户信息(员工编号,密码,权限)带下划线的属性为个关系模式的外码,字体为粗体的属性为各关系模式的主码。
5.数据库与数据表的设计——物理结构设计5.1数据库与数据表的设计员工信息数据表的定义其中“员工编号”是表的主键,唯一标识。
“部门名称”是外键。
“员工编号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以再查询每个员工信息是,提高系统的性能。
因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。
通过它,系统将引用到工资信息。
此表取名为“员工”。
岗位变更数据表的定义:简历表:此表取名为简历。
离职信息奖惩表:员工工资基本表发放工资历史考勤表社保信息用户信息表部门5.2数据的完整性设计(1)给每个表实施主键约束。
主键约束、非空约束员工:员工编号为主键,所以此项非空部门:部门编号为主键,所以此项非空其余的正如上面的设计(2)实施CHECK约束●员工表中建立一个检查约束,即员工性别不是男的就是女的CHECK(性别IN(‘男’,‘女’))●考勤表中建立一个对于出勤天数天数的检查约束,即出勤天数在0-20之间CHECK(出勤天数>=0 and 出勤天数<=20)(3) 外键约束FK_员工_部门 FOREIGN KEY (部门名称) REFERENCES 部门(部门名称) FK_工资_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_岗位变更_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_简历_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_离职_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_奖惩_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_工资历史_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_考勤_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_社保_员工 FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)(4)惟一约束每一个表的主键都需要定义为惟一性:对于工资历史表员工编号也要惟一约束。
(5)强制约束对INSERT和UPDATE操作强制约束,表明以后对员工表中的部门名称的添加和更新操作都会检查部门表中是否存在与此相应的内容。
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 (‘男’,’女’)),年龄 int not null,学历 varchar(10) not null,部门名称 varchar(15) not null,毕业院校 varchar(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 员工(员工编号) );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(员工编号)REFERENCES 员工(员工编号));CREATE TABLE 工资(工资ID int primary key identity,员工编号 varchar(10)not null,基本工资 decimal not null,个人所得税decimal not null,缺勤扣款decimal,加班工资decimal ,工龄工资decimal not null,其他应减款decimal,其他应增款decimal,岗位工资decimal not null,应发工资decimal,实发工资decimal,工资年月 varchar (15),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号));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 员工(员工编号));Create table 考勤(考勤ID int primary key identity ,员工编号 varchar(10) not null ,加班 int,休假 int,请假 int,日期 varchar(15),出勤天数 20-请假-休假 int CHECK(出勤天数>=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(15));Create table 用户信息(员工编号 varchar(10) primary key,密码 varchar(9) not null,权限 int notnull);6.3创建视图查询员工工资情况建立一个视图,反映员工姓名及工资情况。