您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > SQL数据库员工工资管理系统设计
《数据库原理》实验七:数据库设计数据库名称:员工工资管理系统姓名:胡少帅班级:2011级网络工程学号:201104410210241需求分析工资管理系统是提供工资管理人员和职工工资进行管理的系统。它能自动对不同职务,不同出勤及各个月份的工资进行管理并生成财务表。工资管理系统的用户需求主要功能有: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给职工信息表建立非聚集索引“职工”/*给职工信息表非建立聚集索引*/createnonclusteredindex职工on职工信息(职工编号)goSELECT*FROMsys.indexesWHEREname='职工'2给工资表建立唯一索引“工资”/*给工资表建立唯一索引“工资”*/createuniqueindex工资on工资情况(职工编号)goSELECT*FROMsys.indexesWHEREname='工资'Go3给考勤信息表建立聚集索引“考勤”/*给考勤信息表建立非聚集索引*/createnonclusteredindex考勤on考勤信息(职工编号)goSELECT*FROMsys.indexesWHEREname='考勤'5实施过程(1)创建表结构1职工信息表createtable职工信息(职工编号char(20)notnull,职务编号char(20)notnull,姓名varchar(20)notnull,性别char(20)notnull,电话char(20)notnull,住址varchar(20)notnull,部门编号char(20)notnull)2职务信息表createtable职务信息(职务编号char(20)notnull,职务名称char(20)notnull,基本工资money)3工资表createtable工资情况(月份char(20)notnull,员工编号char(20)notnull,工资char(20)notnull)4考勤信息表createtable考勤信息(职工编号varchar(40)notnull,出勤天数char(20)notnull,加班天数char(20)notnull,出勤奖金money)5部门表createtable部门(部门编号char(20)notnull,部门名称char(20)notnull,经理varchar(20)notnull,电话char(20)notnull)6用户表createtable用户(用户名char(10)notnull,密码char(30)notnull,权限char(30))(2)给表定义约束1给考勤情况中的出勤奖金列定义约束范围0-10002给部门表添加一个主键3给职工信息表添加一个主键和外键(3)给表插入信息1职工信息表插入2职务信息表插入3用户信息表插入4工资情况表插入5部门表插入6考勤情况表插入(4)表的基本操作1修改职工信息中编号为10001的姓名为张琪2给职务信息表添加一列3删除刚才添加的那列4修改工资情况表中工资的数据类型5给考勤信息表增加一列(5)定义登录名,用户和权限1定义第一个登录名和用户,权限对所有的表有所有的权限/*创建用户和赋予权限*/createlogin王琦withpassword='123456',default_database=员工工资管理;/*创建登录账户*/gocreateuser王琦forlogin王琦gograntallon部门to王琦grantallon工资情况to王琦grantallon考勤信息to王琦grantallon用户to王琦grantallon职工信息to王琦grantallon职务信息to王琦2创建第二个登录名和用户,对所有的表只有查看和删除的权限createlogin高汉withpassword='123456',default_database=员工工资管理;/*创建登录账户*/gocreateuser高汉forlogin高汉gograntselect,deleteon部门to高汉grantselect,deleteon工资情况to高汉grantselect,deleteon考勤信息to高汉grantselect,deleteon用户to高汉grantselect,deleteon职工信息to高汉grantselect,deleteon职务信息to高汉3创建第三个登录名和用户,只有查看的权限/*创建第三个用户并赋予所有权限*/createlogin王敏withpassword='123456',default_database=员工工资管理;/*创建登录账户*/gocreateuser王敏forlogin王敏gograntselecton部门to王敏grantselecton工资情况to王敏grantselecton考勤信息to王敏grantselecton用户to王敏grantselecton职工信息to王敏grantselecton职务信息to王敏(6)建立一个触发器,在工资情况表被修改时使用/*建立一个触发器*/createtriggermon工资情况forupdateasifupdate(工资)beginrollbacktranprint'基本工资不能修改,请联系财务部'end(6)建立存储过程1创建一个存储过程来存放查询到的职工的信息和工资2创建一个存储过程来存放进行删除操作3创建一个存储过程来存放查询所有职工中工资大于3500的(7)建立一个视图6课程设计总结本次课程设计调查从职员的工资,部门的情况,根据其具体情况,设计工资管理系统。加深了对数据库课程知识的理解。通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。
本文标题:SQL数据库员工工资管理系统设计
链接地址:https://www.777doc.com/doc-1014124 .html