好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

SQL数据库员工工资管理系统设计16152.pdf

12页
  • 卖家[上传人]:cl****1
  • 文档编号:575470374
  • 上传时间:2024-08-18
  • 文档格式:PDF
  • 文档大小:482.68KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • SQL 数据库员工工资管理系统设计 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI- 《数据库原理》 实验七:数据库设计 数据库名称:员工工资管理系统 姓名:胡少帅 班级:2011 级网络工程 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 职工信息(职工编号) go SELECT * FROM WHERE name='职工' 2 给工资表建立唯一索引“工资” /*给工资表建立唯一索引“工资”*/ create unique index 工资on 工资情况(职工编号) go SELECT * FROM WHERE name='工资' Go 3 给考勤信息表建立聚集索引“考勤” /*给考勤信息表建立非聚集索引*/ create nonclustered index 考勤on 考勤信息(职工编号) go SELECT * FROM WHERE 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-1000 2 给部门表添加一个主键 3 给职工信息表添加一个主键和外键 (3)给表插入信息 1 职工信息表插入 2 职务信息表插入 3 用户信息表插入 4 工资情况表插入 5 部门表插入 6 考勤情况表插入 (4)表的基本操作 1 修改职工信息中编号为 10001 的姓名为张琪 2 给职务信息表添加一列 3 删除刚才添加的那列 4 修改工资情况表中工资的数据类型 5 给考勤信息表增加一列 (5)定义登录名,用户和权限 1 定义第一个登录名和用户,权限对所有的表有所有的权限 /*创建用户和赋予权限*/ create login 王琦 with password='123456', default_database=员工工资管理;/*创建登录账户*/ go create user 王琦 for login 王琦 go grant all on 部门 to 王琦 grant all on 工资情况 to 王琦 grant all on 考勤信息 to 王琦 grant all on 用户 to 王琦 grant all on 职工信息 to 王琦 grant all on 职务信息 to 王琦 2 创建第二个登录名和用户,对所有的表只有查看和删除的权限 create login 高汉 with password='123456', default_database=员工工资管理;/*创建登录账户*/ go create user 高汉 for login 高汉 go grant select,delete on 部门 to 高汉 grant select,delete on 工资情况 to 高汉 grant select,delete on 考勤信息 to 高汉 grant select,delete on 用户 to 高汉 grant select,delete on 职工信息 to 高汉 grant select,delete on 职务信息 to 高汉 3 创建第三个登录名和用户,只有查看的权限 /*创建第三个用户并赋予所有权限*/ create login 王敏 with password='123456', default_database=员工工资管理;/*创建登录账户*/ go create user 王敏 for login 王敏 go grant select on 部门 to 王敏 grant select on 工资情况 to 王敏 grant select on 考勤信息 to 王敏 grant select on 用户 to 王敏 grant select on 职工信息 to 王敏 grant select on 职务信息 to 王敏 (6) 建立一个触发器,在工资情况表被修改时使用 /*建立一个触发器*/ create trigger m on 工资情况 for update as if update(工资) begin rollback tran print'基本工资不能修改,请联系财务部' end (6) 建立存储过程 1 创建一个存储过程来存放查询到的职工的信息和工资 2 创建一个存储过程来存放进行删除操作 3 创建一个存储过程来存放查询所有职工中工资大于 3500 的 (7) 建立一个视图 6 课程设计总结 本次课程设计调查从职员的工资,部门的情况,根据其具体情况,设计工资管理系统。

      加深了对数据库课程知识的理解通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R 图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将 SQL 语的查询语句用得淋漓尽致,增强了自己在数据库中应用 SQL 语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.