SQL员工工资管理.doc
- 文档编号:1003910
- 上传时间:2022-10-15
- 格式:DOC
- 页数:30
- 大小:3.28MB
SQL员工工资管理.doc
《SQL员工工资管理.doc》由会员分享,可在线阅读,更多相关《SQL员工工资管理.doc(30页珍藏版)》请在冰豆网上搜索。
*****大学
《数据库原理》
实验七:
数据库设计
数据库名称:
员工工资管理系统
姓名:
班级:
学号:
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给职工信息表建立非聚集索引“职工”
/*给职工信息表非建立聚集索引*/
createnonclusteredindex职工on职工信息(职工编号)
go
SELECT*
FROMsys.indexes
WHEREname='职工'
2给工资表建立唯一索引“工资”
/*给工资表建立唯一索引“工资”*/
createuniqueindex工资on工资情况(职工编号)
go
SELECT*
FROMsys.indexes
WHEREname='工资'
Go
3给考勤信息表建立聚集索引“考勤”
/*给考勤信息表建立非聚集索引*/
createnonclusteredindex考勤on考勤信息(职工编号)
go
SELECT*
FROMsys.indexes
WHEREname='考勤'
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-1000
2给部门表添加一个主键
3给职工信息表添加一个主键和外键
(3)给表插入信息
1职工信息表插入
2职务信息表插入
3用户信息表插入
4工资情况表插入
5部门表插入
6考勤情况表插入
(4)表的基本操作
1修改职工信息中编号为10001的姓名为张琪
2给职务信息表添加一列
3删除刚才添加的那列
4修改工资情况表中工资的数据类型
5给考勤信息表增加一列
(5)定义登录名,用户和权限
1定义第一个登录名和用户,权限对所有的表有所有的权限
/*创建用户和赋予权限*/
createlogin王琦
withpassword='123456',
default_database=员工工资管理;/*创建登录账户*/
go
createuser王琦
forlogin王琦
go
grantall
on部门
to王琦
grantall
on工资情况
to王琦
grantall
on考勤信息
to王琦
grantall
on用户
to王琦
grantall
on职工信息
to王琦
grantall
on职务信息
to王琦
2创建第二个登录名和用户,对所有的表只有查看和删除的权限
createlogin高汉
withpassword='123456',
default_database=员工工资管理;/*创建登录账户*/
go
createuser高汉
forlogin高汉
go
grantselect,delete
on部门
to高汉
grantselect,delete
on工资情况
to高汉
grantselect,delete
on考勤信息
to高汉
grantselect,delete
on用户
to高汉
grantselect,delete
on职工信息
to高汉
grantselect,delete
on职务信息
to高汉
3创建第三个登录名和用户,只有查看的权限
/*创建第三个用户并赋予所有权限*/
createlogin王敏
withpassword='123456',
default_database=员工工资管理;/*创建登录账户*/
go
createuser王敏
forlogin王敏
go
grantselect
on部门
to王敏
grantselect
on工资情况
to王敏
grantselect
on考勤信息
to王敏
grantselect
on用户
to王敏
grantselect
on职工信息
to王敏
grantselect
on职务信息
to王敏
(6)建立一个触发器,在工资情况表被修改时使用
/*建立一个触发器*/
createtriggerm
on工资情况forupdate
as
ifupdate(工资)
begin
rollbacktran
print'基本工资不能修改,请联系财务部'
end
(6)建立存储过程
1创建一个存储过程来存放查询到的职工的信息和工资
2创建一个存储过程来存放进行删除操作
3创建一个存储过程来存放查询所有职工中工资大于3500的
(7)建立一个视图
6课程设计总结
本次课程设计调查从职员的工资,部门的情况,根据其具体情况,设计工资管理系统。
加深了对数据库课程知识的理解。
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。
虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 员工 工资管理