数据库实训指导书1课案.docx
- 文档编号:5475688
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:25
- 大小:76.23KB
数据库实训指导书1课案.docx
《数据库实训指导书1课案.docx》由会员分享,可在线阅读,更多相关《数据库实训指导书1课案.docx(25页珍藏版)》请在冰豆网上搜索。
数据库实训指导书1课案
人事管理系统
功能规范(SQL部分)
1概述
1.1目的
本文为教学案例项目SQLServer功能规范说明书。
本说明书将:
●描述数据库设计的目的
●说明数据库设计中的主要组成部分
●说明数据库设计中涵盖的教学知识要点
1.2内容
本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象直接的关系)。
本文档中包含对以下数据库内容的描述:
●数据表
●视图
●存储过程
●用户自定义函数
●触发器
●约束
1.3与其他项目的关联
教学案例项目的数据库设计与教学项目(Web部分和Windows部分)功能密切相关。
教学案例项目的数据库将按照教学项目程序部分的功能需求而设计,数据库设计将配合教学案例的程序部分,以实现一个功能完备的企业环境内的应用。
2表
2.1表设计概述
根据教学案例功能,数据库将以员工信息为中心存储相关数据,配合SQLServer数据库系统中提供的数据管理,实现员工考勤、请假、加班管理及系统设置等业务功能。
数据库设计将以存储员工信息的员工表为基础,连接多张相关表以实现对以下关系的支持:
●员工与请假申请
●员工与加班申请
●员工与考勤记录
●员工与部门
●员工与部门经理
●员工与业绩评定记录
●员工与薪资
此外数据库中还将记录教学案例应用中需要的全局配置信息和事件日志记录。
数据库系统主要的实体关系如图21所示。
2.2员工表
概述
员工表用于记录员工基本信息,并作为基础表与其他表连接。
该表通过DeptID和Title可以确定员工部门和职位信息。
当Title的值为“经理”时可以确定此员工为该部门的部门经理。
表定义
员工表定义如表21所示。
表21
字段
类型
可否为空
备注
员工编号
整型
否
员工姓名
字符串长度50
否
员工登录名
字符串长度20
否
建议为英文字符,且与姓名不同
员工登录密码
二进制长度20
可
员工电子邮件
字符串长度50
否
员工所属部门编号
整型
可
员工基本薪资
整型
可
员工职位名称
字符串长度50
可
可取值为“普通员工”、“部门经理”、“总裁”
员工电话
字符串长度50
可
员工报到日期
日期型
否
员工自我介绍
字符串长度200
可
初始为空,由员工自行输入
员工剩余假期
整型
可
小时数
员工的级别
整型
可
员工照片
图像型
可
主键
员工表的主键是员工编号字段,类型为整型,设置自动增量。
外键
员工表的外键有部门编号,类型为整型,用于与部门表中的部门编号字段关联。
部门编号字段不可以为空。
员工表的外键有员工级别,类型为整型,用于与员工级别表中的员工级别字段关联。
约束
员工表中的员工登录名字段建议为4-6位小写英文字符,且不能与员工姓名相同,也不可为空字符串。
索引
主键字段员工编号具有自动创建的聚集索引。
2.3部门表
概述
部门表用于记录企业内部的部门信息。
每个独立的部门在该表中都对应一条记录。
该表通过与员工表关联可以确定员工所属的部门。
表定义
部门表定义如表22所示。
表22
字段
类型
可否为空
备注
部门编号
整型
否
部门名称
字符串长度10
可
部门描述
字符串长度50
可
部门经理编号
整型
主键
部门表的主键是部门编号字段,类型为整型,设置自动增量。
外键
部门表的外键为部门经理编号,类型为整型,用于与员工表的员工编号相关联。
约束
无其他约束。
索引
主键字段部门编号具有自动创建的聚集索引。
2.4员工薪资表
概述
员工薪资表用于记录员工每月的薪资信息,包括薪资发放日期、薪资组成等。
员工薪资表通过字段员工编号与员工表关联。
表定义
员工薪资表定义如表23所示。
表23
字段
类型
可否为空
备注
薪资编号
整型
否
员工编号
整型
否
薪资发放时间
日期型
否
加班薪资
整型
可
缺勤扣除
整型
可
其他薪资
整型
可
主键
员工薪资表的主键是薪资编号字段,类型为整型,设置自动增量。
外键
员工薪资表的外键是员工编号,类型为整型,用于与员工表中的员工编号字段关联。
约束
无其他约束。
索引
主键字段薪资编号具有自动创建的聚集索引。
2.5员工考勤表
概述
员工考勤表用于记录员工的考勤信息(上下班时间、记录者信息等),通过字段员工编号与员工表关联。
表定义
员工考勤表定义如表24所示。
表24
名称
类型
可否为空
备注
考勤编号
整型
否
员工编号
整型
否
到达时间
日期型
可
记录者编号
整型
可
不可与员工编号相同
考勤类型
字符串长度4
否
可取值“缺勤”、“迟到”、“早退”
请求重新审核
整型
可
日期
日期型
否
主键
员工考勤表的主键是考勤编号字段,类型为整型,设置自动增量。
外键
员工考勤表的外键是员工编号和记录者编号,其中员工编号类型为整型,用于与员工表中的员工编号字段关联;记录者编号类型为整型,用于与员工表中的员工编号字段关联。
约束
员工考勤表中的记录者编号不可与员工编号相同;员工考勤表中的考勤类型字段只能取“缺勤”、“迟到”、“早退”。
索引
主键字段考勤编号具有自动创建的聚集索引。
2.6员工请假表
概述
员工请假表用于记录员工的请假记录。
员工请假表中的基本信息包括:
请假提交时间、请假开始时间、请假终止时间、请假原因、请假的类别和请假申请状态等。
通过字段,员工编号与员工表关联。
表定义
员工请假表定义如表25所示。
表25
字段
类型
可否为空
备注
请假申请编号
整型
否
员工编号
整型
否
提交时间
日期型
否
开始时间
日期型
否
结束时间
日期型
否
大于开始时间
理由说明
字符串长度100
可
类型编号
整型
可
小时数
浮点数型
否
申请状态
字符串长度20
可
取值范围可以是:
“已提交”、“已取消”、“已批准”、“已否决”
审核者编号
整型
可
拒绝申请的理由
字符串长度100
可
主键
员工请假表的主键是请假申请编号字段,类型为整型,设置自动增量。
外键
员工请假表的外键是员工编号和审核者编号,其中员工编号类型为整型,用于与员工表中的员工编号字段关联;审核者编号类型为整型,用于与员工表中的员工编号字段关联。
约束
请假开始时间应小于请假结束时间;申请状态字段的取值可以是:
“已提交”、“已取消”、“已批准”、“已否决”。
索引
主键字段请假申请编号具有自动创建的聚集索引。
2.7员工加班表
概述
员工加班表用于记录员工的加班记录。
员工加班表中的基本信息包括:
加班时间、加班起止时间、加班原因和加班申请批准状态。
通过字段,员工编号与员工表关联。
表定义
员工加班表定义如表26所示。
表26
字段
类型
可否为空
备注
加班申请编号
整型
否
员工编号
整型
否
审核者编号
整型
可
提交时间
日期型
否
开始时间
日期型
否
结束时间
日期型
否
加班理由
字符串长度100
否
申请状态
字符串长度10
否
取值可以为:
“已取消”、“已批准”、“已否决”、“已提交”
加班类型
整型
可
拒绝申请的理由
字符串长度100
可
小时数
整型
可
主键
员工加班表的主键是加班申请编号字段,类型为整型,不设置自动增量。
外键
员工加班表的外键是员工编号,类型为整型,用于与员工表中的员工编号字段关联。
员工加班表的外键是加班类型,类型为整型,用来与加班类型表的加班类型相关联。
约束
加班开始时间应小于加班结束时间;申请状态字段取值:
“已批准”、“待批准”、“被拒绝”。
索引
主键字段加班申请编号具有自动创建的聚集索引。
2.8员工业绩评定表
概述
员工业绩评定表用于保存员工的绩效信息。
员工业绩评定表中的基本信息包括:
员工编号、考评者编号、提交时间、考评时间、评语和绩效状态。
通过字段员工编号与员工表关联。
表定义
员工业绩评定表定义如
表27所示。
表27
字段
类型
可否为空
备注
业绩评定编号
整型
否
员工编号
整型
否
审核者编号
整型
可
提交时间
日期型
否
年份
整型
否
季度
整型
否
状态
整型
可
取值可以为:
“0”或“1”
最后编辑时间
日期型
可
自我评分
整型
可
审核者评分
整型
可
自我评价
字符串长度200
可
默认值为空
审核者评价
字符串长度200
可
默认值为空
主键
员工业绩评定表的主键是业绩评定编号字段,类型为整型,设置自动增量。
外键
员工业绩评定表的外键是员工编号,类型为整型,用于与员工表中的员工编号字段关联。
员工业绩评定表的外键是状态,类型为整型,用于与业绩评定状态表中的业绩评定类型字段关联。
约束
无
索引
主键字段业绩评定编号具有自动创建的聚集索引。
2.9业绩评定状态表
概述
业绩评定状态表用于保存业绩评定可能有的状态名称。
业绩评定状态表的基本信息包括:
业绩评定类型和业绩评定名称。
表定义
业绩评定状态表定义如表210所示。
表210
字段
类型
可否为空
备注
业绩评定类型
整型
否
取值可以为:
“0”或“1”
业绩评定名称
字符串长度10
否
绩效考核名称分别为“不合格”、“合格”
主键
无。
外键
无。
约束
状态字段的取值可以为:
“0”或“1”。
对应的绩效考核名称分别为“不合格”、“合格”
索引
无。
2.10加班类型表
概述
加班类型表用于记录加班类型。
加班类型表的基本信息包括:
加班类型和加班描述。
表定义
加班类型表定义如表211所示。
表211
字段
类型
可否为空
备注
加班类型
整型
否
加班类型的名称描述
字符串长度10
否
此字段可取值“折算成年假”或“折算成津贴”
主键
加班类型
外键
无
约束
加班类型表的加班类型的名称描述字段,只能取“折算成年假”或“折算成津贴”。
索引
无。
2.11假期表
概述
假期表用于记录假期信息。
假期表的基本信息包括:
假期编号、假期名称、假期具体时间和是否为国定假期。
表定义
假期表定义如表212所示。
表212
字段
类型
可否为空
备注
假期编号
整型
否
假期具体时间
日期型
否
假期名称
字符串长度50
否
是否为国定假期
比特
否
此字段只能取值“0”或“1”
主键
假期表的主键是假期编号字段,类型是整型,设置自动增量。
外键
无。
约束
无。
索引
无。
2.12业绩评定子项目表
概述
业绩评定子项目表用于记录业绩评定子项目信息。
业绩评定子项目表包含的主要内容有:
业绩评定编号、业绩评定子项目编号、项目内容、自我评分和审核者评分。
表定义
业绩评定子项目表定义如表213所示。
表213
名称
类型
可否为空
说明
备注
业绩评定子项目编号
整型
否
业绩评定子项目编号
业绩评定编号
整型
否
业绩评定编号
项目内容
字符串长度100
否
项目内容
自我评分
整型
可
自我评分
审核者评分
整型
可
审核者评分
主键
业绩评定子项目编号。
外键
业绩评定子项目表的外键有业绩评定编号,用来与员工业绩评定表的业绩评定编号相关联。
约束
无其他约束。
索引
无。
2.13员工级别表
概述
员工级别表用于记录员工级别信息,包括员工级别和描述。
表定义
业绩评定子项目表定义如表213所示。
表214
名称
类型
可否为空
说明
备注
员工级别编号
整型
否
员工级别编号
员工级别描述
字符型
否
员工级别描述
主键
员工级别编号。
外键
无。
约束
无其他约束。
索引
无。
3视图
3.1查看部门信息(Web)
概述
●通过访问此视图可以达到与直接访问部门表相同的效果。
基表
●部门表
视图包含字段
●部门编号
●部门名称
●部门描述
●部门经理编号
3.2查看员工基本信息(Web)
概述
●此视图通过左外连接员工和部门表得到了员工的详细信息,其中包括员工的基本信息、员工的部门信息和员工经理信息。
基表
●员工表
●部门表
视图包含字段
●员工编号
●员工姓名
●员工电子邮件
●员工电话
●员工登录名
●员工报到日期
●员工所属部门编号
●员工自我介绍
●员工照片
●员工剩余假期
●所属部门名称
3.3查看员工考勤情况(Web)
概述
●此视图通过员工编号内连接员工考勤表和员工表,得到员工的姓名、员工所属部门编号和考勤情况。
通过这个视图可以按部门编号查到整个部门员工的缺勤情况。
基表
●员工考勤表
●员工表
视图包含字段
●考勤编号
●员工编号
●部门编号
●员工姓名
●考勤类型
●到达时间
●日期
3.4查看员工请假申请信息(Web)
概述
●此视图通过内联接员工请假表和员工表,得到员工的请假申请信息和请假批准人姓名。
基表
●员工请假表
●员工表
视图包含字段
●请假申请编号
●员工编号
●提交时间
●开始时间
●结束时间
●理由说明
●小时数
●申请状态
●审核者编号
●拒绝申请的理由
●审核者姓名
3.5查看员工加班申请信息(Web)
概述
●此视图通过内连接员工加班表、员工表和加班类型表,得到员工加班表中的加班申请信息和加班申请批准人姓名及加班折算成假期类型的名称。
基表
●员工加班表
●员工表
●加班类型表
视图包含字段
●加班申请编号
●员工编号
●提交时间
●开始时间
●结束时间
●加班类型
●加班理由
●小时数
●申请状态
●审核者编号
●拒绝申请的理由
●审核者姓名
●加班类型的名称描述
3.6查看部门经理信息(Web)
概述
●此视图通过内联接部门表和员工表,得到经理的所有基本信息。
基表
●部门表
●员工表
视图包含的字段
●部门经理姓名
●部门经理电子邮件
●部门名称
●部门经理编号
●部门编号
4存储过程
4.1插入一条提交的请假申请(Web)
概述
●此存储过程向员工请假表插入一条已提交的请假申请。
参数
字段
类型
员工编号
整型
提交时间
日期型
开始时间
日期型
结束时间
日期型
审核者编号
整型
小时数
整型
理由说明
字符串(100)
返回值
字段
类型
描述
本操作影响的记录数
整型
系统自带的一个参数,返回本次操作影响的记录数
4.2取消一条请假申请(Web)
概述
●此存储过程用来取消员工请假表中的一条请假申请。
参数
字段
类型
请假申请编号
整型
返回值
字段
类型
描述
本操作影响的记录数
整型
系统自带的一个参数,返回本次操作影响的记录数
4.3更新一条请假申请记录的状态(Web)
概述
●此存储过程更新员工请假表中的一条请假申请记录的状态,并输入更新的理由。
参数
字段
类型
请假申请编号
整型
请假申请的状态
字符串(10)
更新状态的理由
字符串(100)
返回值
字段
类型
描述
本操作影响的记录数
整型
系统自带的一个参数,返回本次操作影响的记录数
4.4汇总部门员工考勤信息(Web)
概述
●通过此存储过程,可以按指定部门编号和指定的时间段汇总本部门的员工考勤信息。
参数
字段
类型
部门编号
整型
开始时间
日期型
结束时间
日期型
返回值
字段
类型
描述
本操作影响的记录数
整型
系统自带的一个参数,返回本次操作影响的记录数
4.5汇总部门员工薪资信息(Web)
概述
●通过此存储过程可以按部门得到指定时间段内的员工薪资汇总信息。
参数
字段
类型
部门编号
整型
开始时间
日期型
结束时间
日期型
返回值
字段
类型
描述
无
数据集
一个包含按查询条件查询得到的部门员工薪资汇总信息的数据集
4.6根据员工登录名获取员工编号(Web)
概述
●此存储过程根据员工登录名得到员工编号。
参数
字段
类型
员工登录名
字符串(20)
员工编号
整型
返回值
字段
类型
描述
本操作影响的记录数
整型
系统自带的一个参数,返回本次操作影响的记录数
4.7根据员工编号更新员工登录密码(Web)
概述
●此存储过程根据员工编号更新员工表中的员工登录密码。
参数
字段
类型
员工编号
整型
新密码
字符串(20)
返回值
字段
类型
描述
本操作影响的记录数
整型
系统自带的一个参数,返回本次操作影响的记录数
4.8添加一个新部门(Win)
概述
●此存储过程向部门表添加一条新部门信息的记录。
参数
字段
类型
部门名称
字符串(10)
部门描述
字符串(50)
部门经理编号
整型
返回值
字段
类型
描述
无
4.9删除一个指定部门(Win)
概述
●此存储过程从部门表中删除一个指定的部门,在删除前先判断该部门是否还有员工,如有员工则不删除该部门并返回,如无任何员工,则删除该部门。
参数
字段
类型
部门名称
字符串(10)
返回值
字段
类型
描述
无
4.10获取所有部门的部门编号和部门名称(Win)
概述
●此存储过程从部门表中得到所有部门的部门编号和部门名称。
参数
字段
类型
描述
无
返回值
字段
类型
描述
无
数据集
一个包含所有部门的部门编号和部门名称的数据集
5用户自定义函数
5.1按部门名称得到本部门所有的员工信息
概述
此用户自定义函数根据部门名称得到本部门所有员工的信息(可以通过视图得到)。
参数
字段
类型
部门名称
字符串(10)
返回值
字段
类型
描述
无
数据表
一个包含指定部门的所有员工信息的数据表
5.2按部门名称得到部门编号
概述
此自定义函数根据部门名称得到部门编号。
参数
字段
类型
部门名称
字符串(10)
返回值
字段
类型
部门编号
整型
6触发器
自行编写insert、delete和update触发器各一个。
7游标
自行编写使用游标显示数据(包括一个嵌套游标生成复杂的报表),使用游标修改、更新和删除指定数据。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 指导书 课案