收藏 分销(赏)

SQL专业课程设计工资标准管理系统.doc

上传人:a199****6536 文档编号:2533623 上传时间:2024-05-31 格式:DOC 页数:28 大小:762.04KB 下载积分:10 金币
下载 相关 举报
SQL专业课程设计工资标准管理系统.doc_第1页
第1页 / 共28页
SQL专业课程设计工资标准管理系统.doc_第2页
第2页 / 共28页


点击查看更多>>
资源描述
关系数据库课程设计汇报 ( -- 年度第 2学期) 工资管理系统 专业 计算机科学和技术 学生姓名 *** 班级 BM计算机091 学号 指导老师 *** 完成日期 6月 目录 一、工资管理系统数据库设计 3 1、项目背景介绍 3 1.1 数据需求分析及数据字典 3 1.2 概念结构设计 3 1.3 逻辑结构设计 5 1.4 数据库物理设计 6 二、工资管理系统数据库实施步骤 7 1、项目实践 7 1.1 数据库创建 7 1.2 表对象创建 8 1.3 索引对象创建 12 1.4 视图对象创建 12 1.5 登录用户创建 13 1.6 数据库用户创建 14 三、工资管理系统数据库管理 14 1、案例实践 14 1.1 案例试验数据 14 1.2 表数据编辑 16 1.3 表数据简单查询 19 1.4 表数据联接查询 20 四、项目总结 23 五、 参考文件 24 一、工资管理系统数据库设计 1、项目介绍 工资管理系统功效是搜集职员个人信息,方便实现根据科室录入个人基础资料,向各科室发放个人工资和计算个人实际发放工资,能够让相关财务部门及领导查看各科室人数情况和工资金额,还能够让职员用自己职员号去查看自己工资和扣除金额情况。 工资管理系统关键功效有: (1)、根据科室录入个人基础资料,工资和扣除金额数据; (2)、计算个人实际发放工资; (3)、按科室、职业分类统计人数和工资金额; (4)、实现职员个人信息和工资分类查询; (5)、能够删除辞职人员数据; 工资管理:包含和工资发放相关多种数据处理,和对这些处理有机组织计划;人事管理:关键指对多种职员人事信息管理,包含职员基础情况和升迁离职情况; 工资项目:影响工资计算多种原因,如:基础工资,福利补助和奖励工资,扣除事业保险和住房公积金等等。用户登录管理:2种权限,一个是管理员权限,能够做任何操作;一个是一般用户权限只能够查看自己工资及基础信息,不能编辑,也不能查看其它用户信息。 1.1 数据需求分析及数据字典 1.需求分析 工资管理系统就是对职员工资管理,所以首先我们需要知道是职员有哪些信息,而且是怎样进行分类。 工资信息包含1:职员基础信息(姓名,年纪,所在部门和职务:如经理、工程师、销售员等);2:部门信息;3工资表。部门表应包含部门号及其名称,工资应该包含对应部门对应职员工资。 职员唯一对应是职员编号,所以职员编号是主键,其它全部不能是,依据职员编号我们能够查找职员基础信息,还有职员工资信息等。综合分析对工资管理系统分四个表: 1)职员基础信息表(职员编号,姓名 ,性别, 年纪,出生年月, 籍贯,职务,电话号码,部门编号); 2)部门表(部门编号,部门名称,部门责任人,联络电话); 3)工资清单表(工资编号,职员编号,基础工资,福利补助,奖励工资,事业保险金,住房公积金); 4)实发工资表(工资编号,职员编号,所得工资); 1.2 概念结构设计 实体间联络: 1:职员基础信息表 workers:(职员编号w_number、姓名w_name、性别sex、年纪age、出生日期birthday、籍贯native、电话号码w_tel、所在部门编号dep_number)。 2:部门表department:(部门编号dep_number、部门名称dep_name、部门责任人dep_head、联络电话:dep_tel)。 3:工资清单表wage :(工资编号wa_number、职员编号w_number、基础工资basic_wage、福利补助boon_wage、奖励工资enc_wage、事业保险金insurance、住房公积金ORSO )。 4:实发工资表factwage :(工资编号wa_number、职员编号w_number、所得工资fac_wage); 5:各表E-R图: 职员基础信息表 职员编号 年纪 籍贯 姓名 性别 出生年月 部门编号 部门表 部门名称 部门责任人 联络电话 部门编号 工资清单表 职员编号 福利补助 基础工资 奖励工资 事业保险金 住房公积金 工资编号 实发工资表 工资编号 所得工资 职员编号 1.3 逻辑结构设计 1.职员基础信息表 workers:(职员编号w_number、姓名w_name、性别sex、年纪age、出生日期birthday、籍贯native、电话号码w_tel、所在部门编号dep_number)。 字段名 字段类型 长度 主键或外键 字段值约束 对应汉字属性名 w_number int 主键 不为空 职员编号 w_name varchar 8 不为空 姓名 sex varchar 2 不为空 性别 age int 2 不为空 年纪 birthday datetime 不为空 出生日期 native varchar 20 不为空 籍贯 dep_number int 外键 不为空 所在部门编号 w_tel varchar 20 电话号码 2. 部门表department:(部门编号dep_number、部门名称dep_name、部门责任人dep_head、联络电话:dep_tel) 字段名 字段类型 长度 主键或外键 字段值约束 对应汉字属性名 dep_number int 主键 不为空 部门编号 dep_name varchar 20 不为空 部门名称 dep_head varchar 8 不为空 部门责任人 dep_tel varchar 8 联络电话 3. 工资清单表wage:(工资编号wa_number、职员编号w_number、基础工资basic_wage、福利补助boon_wage、奖励工资enc_wage、事业保险金insurance、住房公积金ORSO ) 字段名 字段类型 长度 主键或外键 字段值约束 对应汉字属性名 wa_number int 主键 不为空 工资编号 w_number int 外键 不为空 职员编号 basic_wage varchar 6 不为空 基础工资 boon_wage varchar 6 不为空 福利补助 enc_wage varchar 6 不为空 奖励工资 insurance varchar 6 不为空 事业保险金 ORSO varchar 6 不为空 住房公积金 4. 实发工资表factwage :(工资编号fwa_number、职员编号w_number、所得工资fac_wage) 字段名 字段类型 长度 主键或外键 字段值约束 对应汉字属性名 fwa_number int 主键 不为空 实发工资编号 w_number int 外键 不为空 职员编号 fac_wage varchar 6 不为空 所得工资 5. 数据表之间逻辑关系图: 职员 部门 属于 1 N 工资清单表 实发工资表 查询 发工资 计算 1 1 1 1 1 1 1.4 数据库物理设计 物理结构设计是为逻辑数据模型建立一个完整能实现数据库结构,包含存放结构和存取方法。 1.输入: 系统关系数据结构 2.输出: 系统数据库物理结构 3.索引类型选择 工资管理系统关键任务是对职员基础信息和工资信息进行有效管理。其中,数据量最大且访问频率较高是工资清单表和实发工资表。为了提升系统查询效率,降低系统查询成本,需要为职员基础信息表和工资清单表、实发工资表建立聚簇索引。 4.数据库服务器性能参数配置 数据库服务器内存配置参数、I/O配置参数和操作系统性能配置参数使用系统安装时缺省参数。 1.5 数据库实施 数据库实施是依据应用系统数据库关系结构模型和物理结构设计结果,形成基于SQL Server平台应用系统数据库脚本和数据库设计汇报,并进行数据库具体构建和管理。 输入: 系统关系数据结构 系统数据库物理结构 输出: 系统数据库脚本 系统数据库设计汇报 二、工资管理系统数据库实施步骤 1、项目实践 1.1 数据库创建 创建一个工资管理系统数据库(命名为:wageManager ): --创建名为wageManager工资管理系统数据库,用于存放职员工资信息。 USE master create database wageManager on(name='wageManager', filename='D:\工资管理系统\wageManager.mdf', size=20, maxsize=100, filegrowth=5%) log on( name='wageManager_log', filename='D:\工资管理系统\wageManager.ldf', SIZE=1, MAXSIZE=5, FILEGROWTH=1 ) 视图以下: 1.2 表对象创建 分别创建:职员基础信息表、部门表、工资清单表、实发工资表,四个表. (1) 职员基础信息表 use wageManager create table workers (w_number varchar(10)not null primary key, w_name varchar(8)not null, sex varchar(2)not null, birthday datetime not null, native varchar(20)not null, dep_number varchar(10)not null, w_tel varchar(20) ) 视图以下: (2) 部门表 --部门表创建 use wageManager create table department (dep_number int not null primary key, dep_name varchar(20)not null, dep_head varchar(8)not null, dep_tel varchar(8) not null ) 视图以下: (3) 工资清单表 --工资清单表创建 use wageManager create table wage (wa_number int not null primary key, w_number int not null, basic_wage varchar(6)not null, boon_wage varchar(6)not null, enc_wage varchar(6)not null, insurance varchar(6)not null, ORSO varchar(6)not null) 视图以下: (4) 实发工资表 --实发工资表创建 use wageManager create table factwage (fac_number int not null primary key, w_number int not null, fac_wage varchar(6)not null ) 视图以下: (5)全部表创建成功,数据库表以下: 各表以下: 1.2 索引对象创建 USE wageManager GO CREATE UNIQUE INDEX 默认索引ON wage(wa_number) USE wageManager GO CREATE INDEX 复合索引ON wage(wa_number,w_number) USE wageManager GO CREATE INDEX 复合索引ON workers(w_number,w_name) USE wageManager GO CREATE INDEX 唯一性索引ON workers(w_number) 视图以下: 1.3 视图对象创建 USE wageManager GO CREATE VIEW v_system_wages AS SELECT wage.wa_number AS 工资编号, workers.w_number AS 职员编号, workers.w_name AS 职员姓名, workers.dep_number AS 部门编号, department.dep_name AS 部门名称, wage.basic_wage AS 基础工资, wage.boon_wage AS 福利工资, wage.enc_wage AS 奖励工资, wage.insurance AS 事业保险金, wage.ORSO AS 住房公积金, factwage.fac_wage AS 实发工资 FROM wage,workers,department,factwage WHERE workers.w_number =wage.w_number AND workers.dep_number=department.dep_number AND wage.w_number=factwage.w_number 视图以下: 界面以下: 1.4 登录用户创建 创建SQL Server登录账号: create login huanglu with password = '1234' 视图以下: 1.5 数据库用户创建 创建SQL Server数据库用户: use wageManager create user huanglu_user from login huanglu 视图以下: 三、工资管理系统数据库管理 1、案例实践 1.1 案例试验数据 职员基础信息表: 部门表: 工资清单表: 实发工资表: 1.2 表数据编辑 建立数据库关系图以下: 1.数据插入 --在职员基础信息表中插入数据 USE wageManager GO insert into workers(w_number ,w_name, sex,birthday,native, dep_number,w_tel ) values('10010','黄璐','女','1989/2/2','广西','1',''); 修改后表内容以下: 2.数据修改 --修改职员基础信息表中,职员编号为职员信息 USE wageManager GO UPDATE workers SET w_name='刘玉',dep_number='2' WHERE w_number='10010' 视图以下: 修改后表内容以下: 3.数据删除 --从workers表中删除姓名为黄璐数据信息 USE wageManager GO DELETE FROM workers WHERE w_name='刘玉' 视图以下: 修改后表内容以下: 1.3 表数据简单查询 USE wageManager GO SELECT w_number AS 职员编号,w_name AS 姓名,sex AS 性别, birthday AS 出生日期,native AS 籍贯, dep_number AS 所在部门编号, w_tel AS 联络电话 FROM workers 视图以下: 1.4 表数据联接查询 1.两表联合查询职员所在部门及相关信息: USE wageManager GO SELECT w_number AS 职员编号, w_name AS 姓名, sex AS 性别, birthday AS 出生日期, native AS 籍贯, workers.dep_number AS 部门编号, dep_name AS 部门名称, dep_head AS 部门责任人, w_tel AS 联络电话 FROM workers,department where workers.dep_number=department.dep_number 视图界面以下: 2.三个表联合查询职员工资情况: USE wageManager GO SELECT wage.wa_number AS 工资编号, wage.w_number AS 职员编号, w_name AS 姓名, dep_name AS 所在部门, basic_wage AS 基础工资, boon_wage AS 福利工资, enc_wage 奖励工资, insurance AS 事业保险金, ORSO AS 住房公积金 FROM workers,department,wage where wage.w_number=workers.w_number AND workers.dep_number=department.dep_number 视图界面以下: 3.四个表整体联合查询职员工资具体情况: USE wageManager GO SELECT wage.wa_number AS 工资编号, wage.w_number AS 职员编号, w_name AS 姓名, dep_name AS 所在部门, basic_wage AS 基础工资, boon_wage AS 福利工资, enc_wage 奖励工资, insurance AS 事业保险金, ORSO AS 住房公积金, fac_wage AS 实发工资 FROM workers,department,wage,factwage where wage.w_number=workers.w_number AND workers.dep_number=department.dep_number AND factwage.w_number=wage.w_number 查询结果以下: 四、项目总结 这次SQL创新考评打破了在试卷上传统理论考试,让我们自己动手,不仅巩固了我们所学知识,更全方面测试了我们学习这门课程熟练程度,在这个过程中,遇见了不少问题,很多问题是平时做试验没有碰到过,但经过自己努力调试和查阅相关资料,最终独立处理了问题,完成了此次课程设计考评。SQL Server 课程设计,从这个过程中我不仅系统复习了SQL指令使用方法,还深入了解了SQL数据库功效,对Transact-SQL命令熟练利用,我真正体会到了学和用结合关键性,加深了自己对数据库操作方面印象,同时愈加了解了部分使用方法真正含义,对自己以后完成毕业设计及更远项目开发中数据库模块方面积累了关键经验。 经过自己上网查询资料,看课件及查书本独立处理问题,让我更深刻地掌握了处理异常方法。自己动手也让我从中取得了很多书本上学不到知识,加强了我独立思索能力,自主学习能力和动手能力。以后,我将像这次课程设计一样,用心投入进去,汲取更多知识,丰富自己。 五、 参考文件 1. 《SQL Server实用教程》 2. 《数据库系统原理》 3. 网上搜查资料
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服