SQL数据库通用工资管理系统
- 格式:doc
- 大小:407.00 KB
- 文档页数:16
【软件工程】工资管理系统在当今的企业管理中,工资管理是一项至关重要的任务。
一个高效、准确且易于操作的工资管理系统不仅能够提升企业的财务管理效率,还能增强员工对企业的信任和满意度。
接下来,让我们深入了解一下工资管理系统。
工资管理系统是一种专门用于处理企业员工工资相关事务的软件应用程序。
它的主要功能包括员工基本信息管理、工资计算与发放、工资条生成、税务处理、报表统计等。
首先,员工基本信息管理是工资管理系统的基础。
系统中需要存储员工的姓名、工号、部门、职位、入职时间、银行账号等关键信息。
这些信息的准确性直接影响到后续工资计算和发放的准确性。
例如,如果员工的银行账号信息错误,那么工资就无法正常发放到员工的账户中,这将给员工和企业带来不必要的麻烦。
工资计算是系统的核心功能之一。
它需要考虑多种因素,如员工的基本工资、绩效工资、加班工资、津贴补贴、扣税等。
对于不同的岗位和职级,工资计算的方式可能会有所不同。
例如,销售人员的工资可能会与销售业绩挂钩,生产工人的工资可能会与生产数量和质量相关。
系统需要能够根据预设的规则和算法,准确地计算出每个员工的应发工资和实发工资。
在工资发放环节,系统需要与银行等金融机构进行对接,实现工资的批量转账。
同时,系统还应该具备工资发放记录的功能,以便企业随时查询和核对工资发放的情况。
工资条生成是为了让员工清楚地了解自己的工资构成和扣除项目。
工资条通常包括员工的基本信息、各项工资收入和扣除项目的明细、应发工资、实发工资等内容。
工资条可以以纸质形式发放给员工,也可以通过电子邮件或企业内部系统发送给员工。
税务处理是工资管理中不可忽视的一部分。
系统需要根据国家税收政策,准确计算员工应缴纳的个人所得税,并在工资发放时进行代扣代缴。
同时,系统还应该能够生成相关的税务报表,以满足企业纳税申报的需要。
报表统计功能可以帮助企业管理层了解工资支出的总体情况。
通过报表,企业可以分析不同部门、不同岗位员工的工资水平,比较不同时期的工资变化趋势,为企业的人力资源决策提供数据支持。
《数据库原理》实验七:数据库设计数据库名称:员工工资管理系统姓名:班级:学号:1 需求分析工资管理系统是提供工资管理人员和职工工资进行管理的系统。
它能自动对不同职务,不同出勤及各个月份的工资进行管理并生成财务表。
工资管理系统的用户需求主要功能有:1各部门的信息情况2各职工的信息情况3考勤信息情况4工资信息情况5定义登陆用户和用户的权限2 概念分析(1)部门E-R图(2)职工信息E-R图(3)职务信息E-R图(4)考勤信息E-R图(5)用户E-R图(6)工资情况E-R图(7)总E-R图3 逻辑设计关系模型:部门(部门编号(主键),部门名称,经理,电话)职工信息(职工编号(主键),职务编号,姓名,性别,电话,住址,部门编号(外键))考勤情况(职工编号(主键),出勤天数,加班天数,出勤奖金,月份)职务(职务编号(主键),职务名称(主键),基本工资)工资计算(职工编号(主键),考勤情况,工资,月份)用户(用户名,密码,权限)4 物理设计1 给职工信息表建立非聚集索引“职工”/*给职工信息表非建立聚集索引*/create nonclustered index职工on职工信息(职工编号) goSELECT*FROM sys.indexesWHERE name='职工'2给工资表建立唯一索引“工资”/*给工资表建立唯一索引“工资”*/create unique index工资on工资情况(职工编号)goSELECT*FROM sys.indexesWHERE name='工资'Go3给考勤信息表建立聚集索引“考勤”/*给考勤信息表建立非聚集索引*/create nonclustered index考勤on考勤信息(职工编号) goSELECT*FROM sys.indexesWHERE name='考勤'5 实施过程(1)创建表结构1 职工信息表create table 职工信息(职工编号char(20) not null, 职务编号char(20) not null, 姓名varchar(20) not null, 性别char(20) not null,电话char(20) not null,住址varchar(20) not null, 部门编号 char(20)not null )2职务信息表create table 职务信息(职务编号char(20) not null, 职务名称char(20) not null, 基本工资money)3工资表create table 工资情况(月份char(20) not null,员工编号char(20) not null, 工资char(20) not null)4考勤信息表create table 考勤信息(职工编号 varchar(40) not null, 出勤天数char(20) not null,加班天数char(20) not null,出勤奖金money)5部门表create table 部门(部门编号char(20) not null, 部门名称char(20) not null, 经理varchar(20) not null, 电话char(20) not null)6用户表create table 用户(用户名char(10) not null,密码char(30) not null,权限char(30))(2)给表定义约束1 给考勤情况中的出勤奖金列定义约束范围0-10002 给部门表添加一个主键3 给职工信息表添加一个主键和外键(3)给表插入信息1 职工信息表插入2 职务信息表插入3 用户信息表插入4工资情况表插入5 部门表插入6考勤情况表插入(4)表的基本操作1 修改职工信息中编号为10001的姓名为张琪2 给职务信息表添加一列3 删除刚才添加的那列4 修改工资情况表中工资的数据类型5 给考勤信息表增加一列(5)定义登录名,用户和权限1 定义第一个登录名和用户,权限对所有的表有所有的权限/*创建用户和赋予权限*/create login 王琦with password='123456',default_database=员工工资管理;/*创建登录账户*/gocreate user 王琦for login 王琦gogrant allon 部门to 王琦grant allon 工资情况to 王琦on 考勤信息to 王琦grant allon 用户to 王琦grant allon 职工信息to 王琦grant allon 职务信息to 王琦2 创建第二个登录名和用户,对所有的表只有查看和删除的权限create login 高汉with password='123456',default_database=员工工资管理;/*创建登录账户*/gocreate user 高汉for login 高汉gogrant select,deleteon 部门to 高汉grant select,deleteto 高汉grant select,deleteon 考勤信息to 高汉grant select,deleteon 用户to 高汉grant select,deleteon 职工信息to 高汉grant select,deleteon 职务信息to 高汉3 创建第三个登录名和用户,只有查看的权限/*创建第三个用户并赋予所有权限*/create login 王敏with password='123456',default_database=员工工资管理;/*创建登录账户*/gocreate user 王敏for login 王敏gogrant selecton 部门to 王敏grant selecton 工资情况to 王敏grant selecton 考勤信息to 王敏grant selecton 用户to 王敏grant selecton 职工信息to 王敏grant selecton 职务信息to 王敏(6) 建立一个触发器,在工资情况表被修改时使用/*建立一个触发器*/create trigger mon 工资情况for updateasif update(工资)beginrollback tranprint'基本工资不能修改,请联系财务部'end(6) 建立存储过程1创建一个存储过程来存放查询到的职工的信息和工资2创建一个存储过程来存放进行删除操作3创建一个存储过程来存放查询所有职工中工资大于3500的(7) 建立一个视图6 课程设计总结本次课程设计调查从职员的工资,部门的情况,根据其具体情况,设计工资管理系统。
工资管理系统jsp课程设计一、课程目标知识目标:1. 掌握Java Server Pages(JSP)的基本语法和结构,理解JSP的运行原理。
2. 学会使用JSP与JavaBean相结合的方式实现工资管理系统的前端和后端功能。
3. 了解数据库连接和SQL语句在工资管理系统中的应用,能够实现数据的增删改查操作。
技能目标:1. 培养学生运用JSP技术进行网页设计的能力,提高解决问题的实践操作技能。
2. 培养学生独立设计和实现一个小型工资管理系统的能力,包括需求分析、功能设计、编码实现等。
3. 培养学生团队协作能力,提高项目管理和沟通协调技巧。
情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,增强学习信息技术的自信心。
2. 培养学生具备良好的编程习惯,关注用户体验,提高对软件质量的追求。
3. 培养学生遵守职业道德,尊重知识产权,树立正确的价值观。
课程性质:本课程为实践性较强的课程设计,以项目为导向,旨在让学生在实际操作中掌握JSP技术,提高解决实际问题的能力。
学生特点:学生已具备一定的Java基础,了解基本的数据库知识,具有一定的编程能力和项目实践经验。
教学要求:结合学生特点和课程性质,教师应注重理论与实践相结合,引导学生主动参与,培养学生的动手能力和创新精神。
通过课程设计,使学生能够独立完成一个小型工资管理系统的设计与实现。
同时,注重过程评价,关注学生在课程学习中的具体表现,确保课程目标的达成。
二、教学内容1. JSP技术基础- JSP语法与结构- JSP内置对象及作用域- JSP页面跳转与重定向- JSP与JavaBean的交互2. 数据库连接与应用- JDBC技术简介- 数据库连接池技术- SQL语句编写与优化- 数据库操作(增删改查)3. 工资管理系统功能模块设计- 系统需求分析- 功能模块划分- 数据库表设计- 系统架构设计4. 工资管理系统功能实现- 用户登录与权限控制- 员工信息管理- 工资项目管理- 工资计算与发放5. 系统测试与优化- 功能测试- 性能测试- 用户体验优化- 系统安全优化教学内容安排和进度:第一周:JSP技术基础,了解工资管理系统需求第二周:数据库连接与应用,进行数据库表设计第三周:工资管理系统功能模块设计,编写各模块代码第四周:工资管理系统功能实现,进行系统测试与优化教材章节关联:本教学内容与教材中关于JSP技术、数据库应用和项目实践的相关章节紧密关联,涵盖了JSP基本知识、数据库操作和项目开发流程等内容。
SQL数据库员工工资管理系统设计设计一个SQL数据库员工工资管理系统,需要考虑以下几个方面:1.数据库设计:- 创建一个名为`employee`的表,包含以下字段:- `id`:员工ID,主键,自增长;- `name`:员工姓名;- `gender`:员工性别;- `position`:员工职位;- `salary`:员工工资;2.功能需求:- 添加员工:向`employee`表中插入一条新的员工记录;- 删除员工:从`employee`表中删除指定ID的员工记录;- 修改员工信息:更新`employee`表中指定ID的员工信息;- 查询员工工资:从`employee`表中查询指定ID的员工工资;- 查询员工列表:从`employee`表中查询所有员工的信息;- 查询工资最高者:从`employee`表中查询工资最高的员工;- 查询工资最低者:从`employee`表中查询工资最低的员工;3.数据库实现:- 在MySQL数据库中创建一个名为`salary_management`的数据库;- 在该数据库中创建一个名为`employee`的表,包含上述字段;-使用SQL语句来实现各个功能需求;- 删除员工:`DELETE FROM employee WHERE id = 1;`- 修改员工信息:`UPDATE employee SET position = '总监' WHERE id = 1;`- 查询员工工资:`SELECT salary FROM employee WHERE id = 1;` - 查询员工列表:`SELECT * FROM employee;`- 查询工资最高者:`SELECT * FROM employee WHERE salary = (SELECT MAX(salary) FROM employee);`- 查询工资最低者:`SELECT * FROM employee WHERE salary = (SELECT MIN(salary) FROM employee);`4.系统界面:- 可以使用Python的GUI库(如Tkinter)来设计一个用户友好的界面,实现上述功能;-当用户点击“添加员工”按钮时,界面会将用户输入的员工信息提交到数据库中;-当用户点击“查询工资最高者”按钮时,界面会从数据库中查询工资最高的员工,并显示在界面上。
数据库工资管理系统数据库工资管理系统是一种用于管理和计算员工工资的软件系统。
它通过将员工信息和薪资数据存储在数据库中,实现了自动计算工资、生成工资报表等功能。
本文主要讨论数据库工资管理系统的优势、功能以及实施过程。
一、数据库工资管理系统的优势数据库工资管理系统具有以下几个方面的优势:1. 提高工资计算效率:传统的手工工资计算需要花费大量的时间和人力,容易出现错误。
而数据库工资管理系统可以自动计算工资,并且能够准确地计算各种津贴、奖金、扣款等,大大提高了工资计算的效率和准确性。
2. 实时数据更新:数据库工资管理系统能够实时更新员工信息和薪资数据,及时反映员工的入职、离职、晋升等变动情况,确保工资计算的准确性。
3. 数据安全性:数据库工资管理系统通过设置密码、权限控制等方式,保护员工的隐私数据不被非法获取。
同时,数据库的备份和恢复功能也能确保数据的安全性。
二、数据库工资管理系统的功能数据库工资管理系统包括以下几个主要功能:1. 员工信息管理:系统可以存储和管理员工的个人信息,包括姓名、工号、部门、职位等。
管理员可以通过系统对员工信息进行增删改查等操作。
2. 薪资数据管理:系统可以存储和管理员工的薪资数据,包括基本工资、加班工资、津贴、社会保险等。
管理员可以通过系统对薪资数据进行录入、修改、查询等操作。
3. 工资计算:系统可以根据设定的计算规则,自动计算每个员工的工资。
计算规则可以包括基本工资、加班工资、绩效奖金、扣款等。
管理员可以设定不同的计算规则,以适应公司的具体情况。
4. 工资报表生成:系统可以生成各种工资报表,包括个人工资明细、部门工资汇总、公司工资统计等。
管理员可以通过系统生成报表,并进行打印或导出。
三、数据库工资管理系统的实施过程数据库工资管理系统的实施过程可以分为以下几个步骤:1. 需求分析:根据公司的具体需求,进行系统的需求分析,并确定系统的功能和性能要求。
2. 数据库设计:根据需求分析的结果,进行数据库的设计,并创建相应的数据表和字段。
员工管理系统SQL员工管理系统SQL一、简介员工管理系统SQL是一种用于员工管理的软件,它可以帮助企业管理人员记录和追踪员工的信息,包括工资、工作时长、出勤记录等。
本文将介绍员工管理系统SQL的相关内容。
二、系统功能员工管理系统SQL的功能主要分为以下几类:1.员工信息管理:包括员工姓名、身份证号、联系方式、职位、入职时间、离职时间等基本信息的录入和修改。
2.出勤记录管理:员工每日的出勤记录可以被系统实时记录,包括迟到早退、请假等情况。
系统能够根据这些记录自动计算出勤率,并生成相关报表。
3.工资管理:员工的薪资信息可以被系统储存和更新,并根据考勤记录等信息自动生成月度工资表。
4.权限管理:不同职位的员工拥有不同的权限,管理员可以通过员工管理系统SQL来设置每个员工的权限,并限制他们使用系统的功能。
5.报表制作:员工管理系统SQL可以生成各种类型的报表,如员工出勤率报表、薪资报表等,利于企业管理人员进行决策和统计分析。
三、系统架构员工管理系统SQL的架构主要包括以下几个组件:1.数据库:数据库是员工管理系统SQL的核心组件,包括员工信息、出勤记录、薪资信息等。
2.前端界面:前端界面是员工管理系统SQL的用户接口,可以让用户轻松地浏览系统功能和信息。
3.逻辑代码:逻辑代码是员工管理系统SQL的实现代码,包括员工信息的查询、更新、删除等。
四、系统实现员工管理系统SQL的实现过程主要包括以下几个步骤:1.设计数据库:首先需要设计一个数据库,储存员工信息、出勤记录、薪资信息等。
2.开发前端界面:根据企业用户的需求和设计要求,开发前端界面,实现用户与系统的交互。
3.编写逻辑代码:根据企业用户要求和设计需求,编写逻辑代码,实现员工信息的录入、查询、更新、删除等功能。
4.测试和维护:系统完成开发后,需要进行测试,确保系统能够正常工作。
在日后的使用中,还需要对系统进行维护和更新。
五、总结员工管理系统SQL是一种功能强大的企业管理软件,可以实现员工信息管理、工资管理、出勤记录管理等功能。
数据库课程设计设计题目:工资管理系统班级:学号:姓名:任务分配表目录一绪论 (3)二需求分析 (3)三概要设计 (4)四物理设计 (5)五详细设计 (6)六调试分析 (9)七小结 (16)八附件 (16)一、绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。
提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于C#与SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。
基本上能满足管理员和公司的要求。
此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。
需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。
主要包括两大大功能模块:1.管理员管理界面设计。
2.员工管理界面设计。
二、需求分析功能需求分析:该通用工资管理系统具备下列功能:管理员通过输入用户名和密码进下该系统后,可以进行一些基本查询(员工信息查询、工资奖金信息查询)、工资管理(计算总工资、奖金管理);通过输入密码,可以进行查询员工的数据(工资,奖金,税收等)。
具体功能的详细描述如下1、在首页进行选择,员工与管理员通道2、点击[管理员登陆]3、用户名和密码即可进入 [工资管理]功能窗体,在此可以选择功能,添加,查询,人员列表4、点击[添加]功能窗体,添加员工工资信息。
5、点击[查询]功能窗体,输入员工号即可查询员工信息。
6、点击[人员列表]功能窗体,可查看所有员工的列表,这界面内可以进行删除操作。
7、点击[员工登陆]8、用户名和密码即可进入 [员工工资查询]功能窗体,在此可以选择查询基本信息,查询工资信息。
9、在[查询基本信息],员工可自己查看自己的信息。
10、在[查询工作信息],员工可自己查看自己的工作信息。
sqlssms工资管理系统课程设计一、课程目标知识目标:1. 学生能掌握SQL Server Management Studio(SSMS)的基本操作和功能;2. 学生能理解工资管理系统的基本需求,学会使用SQL语句进行数据库的创建和管理;3. 学生能掌握使用SQL语句进行数据查询、插入、更新和删除等基本操作;4. 学生能了解工资管理系统中数据表之间的关系,并运用SQL语句进行关联查询。
技能目标:1. 学生能独立使用SSMS创建和管理数据库;2. 学生能编写SQL语句实现工资管理系统的数据操作;3. 学生能运用所学知识解决实际工资管理中的问题;4. 学生能在团队中协作,共同完成工资管理系统的设计与实现。
情感态度价值观目标:1. 培养学生对数据库管理工作的兴趣,激发学习热情;2. 培养学生严谨、细致的学习态度,提高实际操作能力;3. 培养学生团队协作精神,提高沟通与协作能力;4. 培养学生遵守国家法律法规,保护数据安全的意识。
课程性质:本课程为实践性较强的课程,结合实际工资管理系统案例,使学生掌握数据库管理和SQL语句的使用。
学生特点:学生具备一定的计算机操作基础,对数据库管理有一定了解,但实际操作能力有待提高。
教学要求:结合课程特点和学生实际,采用案例教学、任务驱动等教学方法,注重实践操作,提高学生的动手能力。
同时,注重培养学生的团队协作和沟通能力,提高其综合素质。
通过本课程的学习,使学生能够将所学知识应用于实际工作中,为未来职业发展奠定基础。
二、教学内容1. 工资管理系统概述:介绍工资管理系统的基本功能、业务流程及其在企业管理中的作用。
- 教材章节:第一章 数据库基础知识2. SQL Server Management Studio(SSMS)基本操作:学习SSMS的安装与配置,掌握其主要功能模块。
- 教材章节:第二章 SQL Server管理工具3. 数据库创建与管理:学习创建数据库、数据表,以及如何进行数据备份与恢复。
09信计2011-2012(一)《数据库原理及应用》课程设计设计题目通用工资管理系统设计时间2011.12.29至2012.1.4学生姓名钱鹏学生学号20090401136所在班级09信计(1)指导教师刘风华徐州工程学院数学与物理科学学院目录1可行性研究 (3)2需求分析…………………………………………………………3-52.1 任务概述2.2 数据需求2.3 功能需求3概要设计…………………………………………………………6-93.1总体设计3.2 接口设计3.3 E-R图4 逻辑设计………………………………………………………9-104.1关系模式转换4.2模式优化5数据库实现……………………………………………………10-155.1 创建数据库表5.2数据库操作(SQL Server2000语句完成)5.3视图建立5.4触发器6 课程设计总结.........................................................15-16 参考文献 (16)1 可行性研究工资管理系统是典型的管理信息系统,采用计算机管理企业的工资发放是当前不可缺少的一种管理手段。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强,数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
基于现有软件已经能很好的实现!2 需求分析2.1 任务概述2.1.1目标工资管理系统是提供工资管理人员和职工工资进行管理的系统。
它能自动对不同职务,不同出勤及各个月份的工资进行管理并生成财务表。
工资管理系统的用户需求主要功能有:1各部门的信息情况2各职工的信息情况3考勤信息情况4工资信息情况2.1.2 运行环境Windows 98/2000/XP/2003操作系统下,安装并配置软件Microsoft SQL Server 2000数据库管理系统。
2.2 数据需求2.2.1 数据流条目(1)管理员参与活动有:①查询财务支出;②管理员工,了解不同员工的出勤,职务;(2)员工主要活动有:①查询职务及出勤情况;②查询工资情况2.2.2 数据字典(DD)绘制DFD,只是对数据处理和彼此之间的联系进行了说明。
为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成部分的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进行。
这就需要开发人员编写详细的数据字典,来描述系统开发过程的细节。
下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据字典。
数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表格式。
数据项的DD表列举如下:表2.2表2.32.2.3 数据库描述使用SQL SERVER2000作为后台数据库,就可以行使基于网络连接的用户认证。
从而给不同的子系统分配不同的数据库使用角色,让他们彼此之间使用的数据库隔离开来,以达到较高的安全性。
2.3 功能需求2.3.1 功能划分按用途分类可把本系统文件分成以下几种:1主文件:系统中的主文件是最重要的共享文件,主要存放具有固定值属性的数据。
它需要长期保存,并不断更新。
2处理文件:处理文件包含下一次更新文件所需要的全部记录,本系统中的处理文件如新闻登录日志文件、待审核项目信息文件。
2.3.2 数据流图(DFD):数据流图是组织中信息运动的抽象。
是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。
将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
管理信息工资信息在数据流程图中可以很清楚的看到数据的流向,药品信息的数据分别能够流向经理、员工和顾客。
药品销售信息的信息也流经理。
药品销售信息记录的是药品销售和退还的信息。
顾客表信息从顾客流出又可以流回到顾客和员工、经理。
3 概要设计3.1总体设计3.1.1 系统结构示意图通过对系统的数据流图进行分析,进一步进行功能分解,直到分解成含义明确,功能单一的功能模块,从而得到系统的功能模块结构图。
工资管理系统结构示意图3.1.2总体结构和模块外部设计:软件系统总体结构设计的主要任务就是将整个系统合理的划分成各个功能模块,正确处理模块之间与模块内部的联系及它们之间的调用关系和数据联系,定义各模块的内部结构等,本系统的软件总体结构按分解-协调的原则,信息隐蔽抽象的原则,自顶向下的原则,一致性原则,面向用户的原则进行设计。
3.2 接口设计3.2.1 外部接口通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的,实现图书管理系统。
3.2.2 内部接口程序内部需要共同的数据定义和描述,此系统是智能办公化管理系统的一个子系统,必须和这个系统的其他子系统统一数据定义等,才能使该系统性能达到最好,并且要尽量消除和其他子系统模块之间存在的数据冗余,才能使整个智能办公系统做到高效,方便。
3.3 E-R图在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。
可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。
E-R图由实体、属性、联系三部分组成。
各分E-R图说明如下:(1)部门E-R图:(2)职工E-R图:E-R图:(3)考勤情况(4)职务E-R(6)工资管理E-R图:图 4-14 逻辑设计4.1关系模式转换部门(部门编号,部门信息,负责人,电话)职工(职工编号,职务编号,姓名,性别,工龄,其他个人信息)外码:部门考勤情况(姓名,出勤天数,加班天数,出勤奖)职务(职务编号,职称,工资级别,税费)工资计算(职工,考勤情况,职务,月份)4.2模式优化在上述关系模式中,每一个分量都是不可分割的数据项所以都符合第一范式;而且前四个关系模式都是单个属性作为码,没有任何非主属性对码部分函数依赖。
5数据库实现5.1 创建数据库表对上述E-R图所需的实体需要的几个关键表的设计如下:部门5.2数据库操作(SQL Server2000语句完成)数据库的选择和部分重要SQL代码创建通用工资管理系统Create database 工资管理创建职工索引信息表Create table 职工(职工编号 char(20) primary key ,职务编号 char(20) ,姓名 varchar(40) ,性别 char(20) ,工龄 char(20) ,其他个人信息 varchar(40) )建立存储过程向表中插入、修改、删除数据插入数据的存储过程Insert into 部门 (部门编号,部门信息,负责人,电话) values(@部门编号 , @部门信息 , @负责人 , @电话 )GOExec 部门_proc 'p01' , '经理室' , '风铃' , ''Exec 部门_proc 'p02' , '财务处' , '无双' , ''Exec 部门_proc 'p03' , '会计处' , '心雨' , ''Exec 部门_proc 'p04' , '技术处' , '苍穹' , ''Exec 部门_proc 'p05' , '生产处' , '体弱’, ''删除数据的存储过程DeleteFrom 职工Where 姓名= '无双'其余略修改数据的存储过程Update 职工Set 工龄= '3'Where 姓名= '体弱'建立存储过程实现查询(1)建立存储过程实现单表查询/*建立名为“单表查询1”的存储过程,用来查询某负责人的信息*/单表查询1Select 负责人From 部门Where 部门编号= 'p02'/*建立名为“单表查询2”的存储过程,用来查询男员工的信息*/单表查询2Select 姓名From 职工Where 性别= '男'/*建立名为“单表查询3”的存储过程,用来查询某个员工出勤天数的信息*/单表查询3Select 出勤天数From 考勤情况Where 姓名= '苍穹'/*建立名为“单表查询4”的存储过程,用来查询某个总经理的税费信息*/ 单表查询4Select 税费From 职务Where 职称= '总经理'/*建立名为“单表查询5”的存储过程,用来查询考勤情况的信息*/单表查询5Select 考勤情况From 工资计算Where 职工编号= '0001'(2)建立存储过程实现连接查询/*建立名为“连接查询1”的存储过程,用来查询金鲁凯的税费的信息*/ 连接查询1select 税费from 职工 , 职务where 职工.职务编号 = 职务.职务编号 and 姓名 = '心雨'/*建立名为“连接查询2”的存储过程,用来查询职工出勤天数*/连接查询2select 出勤天数from 职工 , 考勤情况where 职工.姓名 = 考勤情况.姓名 and 职务编号 = '1001'/*建立名为“连接查询3”的存储过程,用来查询某个职工加班天数*/连接查询3select 加班天数from 职工 , 考勤情况where 职工.姓名 = 考勤情况.姓名 and 职务编号 = '1001'/*建立名为“连接查询4”的存储过程,用来查询职工的工资级别*/连接查询4select 工资级别from 职工 , 职务where 职工.职务编号 = 职务.职务编号 and 姓名 = '无双'/*建立名为“连接查询5”的存储过程,用来查询男员工的工资级别*/连接查询5select 工资级别from 职工 , 职务where 职工.职务编号 = 职务.职务编号 and 性别 ='男'5.3视图建立由表“”建立一个视图,该视图由表的所有列构成*/create view 职工概况(职工编号 ,职务编号 ,姓名 ,性别 ,工龄 ,其他个人信息)asselect* from 职工5.4触发器create trigger mon 工资表 for updateasif update(基本工资)beginrollback tranprint'基本工资不能修改,请联系财务科'endupdate 工资表 set 基本工资=7000 where 基本工资='3444'6 课程设计总结本次课程设计调查从职员的工资,部门的情况,根据其具体情况,设计工资管理系统。