人事管理系统项目详细设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1.概括
1.1.目的
本文为教教事例项目SQLServer 功能规范说明书。
本说明书将:
描绘数据库设计的目的
说明数据库设计中的主要构成部分
说明数据库设计中涵盖的教课知识重点
1.2.内容
本文档主要内容包含对数据库设计构造的整体描绘,对数据库中各样对象的描绘
(包含对象的名称、对象的属性、对象和其余对象的直接关系)。
本文档中包含对以下数据库内容的描绘:
数据表
视图
储存过程
用户自定义函数
触发器
拘束
在数据库主要对象以外,本文还将描绘数据库安全性设置、数据库属性设置和数据
库备份策略,为数据库管理员保护数据库安全稳固地运转供给参照。
1.3.与其余项目的关系
教教事例项目的数据库设计与教课项目( Web部分和 Windows部分)功能亲密有关。
教教事例项目的数据库将依据教课项目程序部分的功能需求而设计,数据库设计将
配合教教事例的程序部分,以实现一个功能齐备的公司环境内的应用。
提示可经过使用 Web应用程序或Windows 应用程序来测试数据库。
2.数据库
2.1.数据库名称
数据库的名称必定要设为RGB,不然本事例设计的 Web部分的应用程序和Windows 部分的应用程序将没法使用该数据库。
答案: USE[master]
GO
/******Object:Database[RGB]ScriptDate:06/18/201108:55:58******/
CREATEDATABASE[RGB] ONPRIMARY
( NAME=N'RGB' , FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\\MSSQL\DATA\' UNLIMITED, FILEGROWTH=1024KB)
LOGON
( NAME=N'RGB_log' , FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\\MSSQL\DATA\' IZE =2048 GB, FILEGROWTH=10%)
GO
ALTERDATABASE[RGB] SETCOMPATIBILITY_LEVEL=100
GO
IF ( 1=FULLTEXTSERVICEPROPERTY( 'IsFullTextInstalled'))
begin
EXEC[RGB] . [dbo] . [sp_fulltext_database]@action='enable'
end
GO , SIZE=3072KB, MAXSIZE= , SIZE =1024KB, MAXS
ALTERDATABASE[RGB] SETANSI_NULL_DEFAULTOFF GO
ALTERDATABASE[RGB] SETANSI_NULLSOFF
GO
ALTERDATABASE[RGB] SETANSI_PADDINGOFF GO
ALTERDATABASE[RGB] SETANSI_WARNINGSOFF
GO
ALTERDATABASE[RGB] SETARITHABORTOFF
GO
ALTERDATABASE[RGB] SETAUTO_CLOSEOFF
GO
ALTERDATABASE[RGB] SETAUTO_CREATE_STATISTICSON GO
ALTERDATABASE[RGB] SETAUTO_SHRINKOFF
GO
ALTERDATABASE[RGB] SETAUTO_UPDATE_STATISTICSON GO
ALTERDATABASE[RGB]
SETCURSOR_CLOSE_ON_COMMITOFF GO ALTERDATABASE[RGB] SETCURSOR_DEFAULTGLOBAL
GO
ALTERDATABASE[RGB] SETCONCAT_NULL_YIELDS_NULLOFF GO
ALTERDATABASE[RGB] SETNUMERIC_ROUNDABORTOFF
GO
ALTERDATABASE[RGB] SETQUOTED_IDENTIFIEROFF
GO
ALTERDATABASE[RGB] SETRECURSIVE_TRIGGERSOFF
GO
ALTERDATABASE[RGB] SETDISABLE_BROKER
GO
ALTERDATABASE[RGB]
SETAUTO_UPDATE_STATISTICS_ASYNCOFF GO ALTERDATABASE[RGB]
SETDATE_CORRELATION_OPTIMIZATIONOFF GO ALTERDATABASE[RGB] SETTRUSTWORTHYOFF
GO
ALTERDATABASE[RGB]
SETALLOW_SNAPSHOT_ISOLATIONOFF GO ALTERDATABASE[RGB] SETPARAMETERIZATIONSIMPLE
GO
ALTERDATABASE[RGB]
SETREAD_COMMITTED_SNAPSHOTOFF GO ALTERDATABASE[RGB] SETHONOR_BROKER_PRIORITYOFF GO
ALTERDATABASE[RGB] SETREAD_WRITE
GO
ALTERDATABASE[RGB] SETRECOVERYFULL
GO
ALTERDATABASE[RGB] SETMULTI_USER
GO
ALTERDATABASE[RGB] SETPAGE_VERIFYCHECKSUM
GO
ALTERDATABASE[RGB] SETDB_CHAININGOFF
GO
2.2.用户
除了数据库中自动创立的dbo 用户以外,还要创立以下两个用户:
RGBWinUser:该用户是 Windows应用程序接见数据库所使用的账号,它的权限一般仅限于查察视图和履行储存过程。
RGBASPUser:该用户是Web 应用程序接见数据库所使用的账号,它的权限和
RGBWinUser用户近似,即仅限于查察视图和履行储存过程。
答案: [RGB]
GO
/******Object:User[RGBWinUser]ScriptDate:06/18/201108:29:15******/
GO
CREATEUSER[RGBWinUser] FORLOGIN[WO]WITHDEFAULT_SCHEMA=[dbo]
GO
[RGB]
GO
/******Object:User[RGBASPUser]ScriptDate:06/18/201108:30:46******/
GO
CREATEUSER[RGBASPUser]FORLOGIN[ni]WITHDEFAULT_SCHEMA=[dbo]
GO
3.表
3.1.表设计概括
依据教教事例功能,数据库将以职工信息为中心储存有关数据,配合SQLServer 数据库系统中供给的数据管理,实现职工考勤、告假、加班管理及系统设置等业务功
能。
数据库设计将以储存职工信息的职工表为基础,连结多张有关表实现对以下关系的
支持:
职工与告假申请
职工与加班申请
职工与考勤记录
职工与部门
职工与部门经理
职工与绩效查核记录
职工与薪资
别的数据库中还将记录教教事例应用中需要的全局配置信息和事件日记记录。
数据库系统主要的实体关系以下列图:(部门表中去掉部门经理编号,在数据删除时
可能会出现死锁)
3.2.表tblEmployee
概括
表tblEmployee用于记录职工基本信息,并作为基础表与其余表联接。
该表经过DeptID和Title能够确立职工部门和职位信息。
当Title的值为“经理”时能够确定此职工为该部门的部门经理。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblEmployee]ScriptDate:06/20/201117:13:37******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo] . [tblEmployee] (
[EmployeeID][int]NOTNULL,
[Name][nvarchar] ( 50)NOTNULL,
[LoginName][nvarchar]( 20)NOTNULL,
[Password][binary]( 20)NULL,
[Email][nvarchar]( 50)NOTNULL,
[DeptID][int]NULL,
[BasicSalary][int]NULL,
[Title][nvarchar]( 50)NULL,
[Telephone][nvarchar]( 50)NULL,
[OnhoardDate][datetime]NOTNULL,
[Selfintro][nvarchar]( 200)NULL,
[VacationRemain][int]NULL,
[EmployeeLevel][int]NULL,
[PhotoImage][image]NULL,
CONSTRAINT[PK_tblEmployee] PRIMARYKEYCLUSTERED
(
[EmployeeID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
ALTERTABLE[dbo]. [tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblDepartment]FOREIGNKEY( [ DeptID] )
REFERENCES[dbo]. [tblDepartment]( [DeptID] )
GO
ALTERTABLE[dbo]. [tblEmployee]CHECKCONSTRAINT[FK_tblEmployee_tblDepartment]
GO
ALTERTABLE[dbo]. [tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblEmployeeLevel]FOREIGNKE Y( [EmployeeLevel])
REFERENCES[dbo]. [tblEmployeeLevel]( [EmployeeLevel] )
GO
ALTERTABLE[dbo] . [tblEmployee]
CHECKCONSTRAINT[FK_tblEmployee_tblEmployeeLevel] GO
表定义
表 tblEmployee 定义以下:
名称种类能否为空说明备注
EmployeeID int4否职工编号自动生成
Name nvarchar50否职工姓名
LoginName nvarchar20否职工登录名建议为英文
字符,且与姓
名不一样Password binary20可职工登录密
码
Email nvarchar50否职工电子邮
件
DeptID int4可职工所属部
门编号
BasicSalary int4可职工基本工
资
Title nvarchar50可职工职位名可取值为“普
称通职工”、“部
门经理”、“总
裁”Telephone nvarchar50可职工电话
OnboardDate datetime8否职工报到日
期
SelfIntro nvarchar200可职工自我介初始为空,由
绍职工自行输
入
VacationRemain int4可职工节余假小时数
期
EmployeeLevel int4可职工的级别
PhotoImage image16可职工照片
主键
表 tblEmployee 的主键是 EmployeeID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblEmployee]ScriptDate:06/18/201109:00:53******/
ALTERTABLE[dbo] . [tblEmployee] ADDCONSTRAINT[PK_tblEmployee] PRIMARYKEYCLUSTERED (
[EmployeeID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
表 tblEmployee的外键有DeptID,种类为int,用于与表tblDepartment中的DeptID
字段关系。
DeptID 字段能够为空,在此状况下表示职工不在任何部门中。
表 tblEmployee 的外键有 EmployeeLevel ,种类为 int ,用于与表 tblEmployeeLevel
中的 EmployeeLevel 字段关系。
[RGB]
GO
ALTERTABLE[dbo]. [tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblDepartment]FOREIGNKEY( [ DeptID])
REFERENCES[dbo]. [tblDepartment]( [DeptID] )
GO
ALTERTABLE[dbo]. [tblEmployee]CHECKCONSTRAINT[FK_tblEmployee_tblDepartment]
GO
[RGB]
GO
ALTERTABLE[dbo] . [tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblEmployeeLevel]FOREIGNKE Y( [EmployeeLevel])
REFERENCES[dbo] . [tblEmployeeLevel]( [EmployeeLevel])
GO
ALTERTABLE[dbo] . [tblEmployee]
CHECKCONSTRAINT[FK_tblEmployee_tblEmployeeLevel] GO
拘束
表 tblEmployee 中的 LoginName 字段建议为 4-8 位小写英文字符,且不可以与职工姓
名同样也不可以够为空字符串。
索引
主键字段 EmployeeID 拥有自动创立的齐集索引。
3.3.表tblDepartment
概括
表 tblDepartment 用于记录公司内部的部门信息。
每个独立的部门在该表中都对应一
条记录。
该表经过与 tblEmployee 表关系能够确立职工所属的部门。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblDepartment]ScriptDate:06/20/201117:13:12******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo] . [tblDepartment](
[DeptID][int]NOTNULL,
[DeptName][char] ( 10)NULL,
[Description][char]( 50)NULL,
CONSTRAINT[PK_tblDepartment]PRIMARYKEYCLUSTERED
(
[DeptID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
表定义
表 tblDepartment 定义以下:
名称种类能否为空说明备注
DeptID int4否部门编号自动生成
DeptName char10可部门名称
Desciption char50可部门描绘
主键
表 tblDepartment 的主键是 DeptID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblDepartment]ScriptDate:06/18/201109:03:12******/
ALTERTABLE[dbo] . [tblDepartment] ADDCONSTRAINT[PK_tblDepartment] PRIMARYKEYCLUSTERED (
[DeptID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
无
拘束
无其余拘束
索引
主键字段 DeptID 拥有自动创立的齐集索引。
3.4.表tblSalary
概括
表 tblSalary用于记录职工每个月的薪资信息,包含薪资发放日期、薪资构成等。
表tblSalary 经过字段 EmployeeID 与表 tblEmployee关系。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblSalary]ScriptDate:06/20/201117:12:47******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblSalary](
[SalaryID][int]NOTNULL,
[EmployeeID][int]NOTNULL,
[SalaryTime][datetime]NOTNULL,
[BasicLSalary][int]NULL,
[OvertimeSalary][int]NULL,
[AbsenseSalary][int]NULL,
[OtherSalary][int]NULL,
CONSTRAINT[PK_tblSalary]PRIMARYKEYCLUSTERED
(
[SalaryID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
ALTERTABLE[dbo] . [tblSalary]WITHCHECKADDCONSTRAINT[FK_tblSalary_tblEmployee]FOREIGNKEY( [Employ
eeID] )
REFERENCES[dbo] . [tblEmployee] ( [EmployeeID] )
GO
ALTERTABLE[dbo] . [tblSalary] CHECKCONSTRAINT[FK_tblSalary_tblEmployee]
GO
表定义
表 tblSalary 定义以下:
名称种类能否为空说明备注
SalaryID int4否薪资编号
EmployeeID int4否职工编号
SalaryTime datetime8否薪资发放时
间
BasicSalary int4可职工基本工
资
OvertimeSalary int4可加班薪资
AbsenseSalary int4可少勤扣除
OtherSalary int4可其余薪资
主键
表 tblSalary 的主键是 SalaryID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblSalary]ScriptDate:06/18/201109:03:47******/
ALTERTABLE[dbo] . [tblSalary]ADDCONSTRAINT[PK_tblSalary]PRIMARYKEYCLUSTERED
(
[SalaryID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF, IGNORE_DUP_KEY=OFF, ONLINE=O
FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON)
ON[PRIMARY] GO
外键
表 tblSalary 的外键是 EmployeeID,种类为 int ,用于与表 tblEmployee 中的EmployeeID 字段关系。
答案: USE[RGB]
GO
ALTERTABLE[dbo]. [tblSalary]WITHCHECKADDCONSTRAINT[FK_tblSalary_tblEmployee]FOREIGNKEY( [Employ eeID] )
REFERENCES[dbo]. [tblEmployee]( [EmployeeID] )
GO
ALTERTABLE[dbo]. [tblSalary]CHECKCONSTRAINT[FK_tblSalary_tblEmployee]
GO
拘束
无其余拘束
索引
主键字段 SalaryID拥有自动创立的齐集索引。
3.5.表tblAttendance
概括
表 tblAttendance用于记录职工的考勤信息(上下班时间、记录者信息等),经过字段 EmployeeID 与表 tblEmployee关系。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblAttendance]ScriptDate:06/20/201117:11:44******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblAttendance](
[AttendID][int]NOTNULL,
[EmployeeID][int]NOTNULL,
[BreachTime][datetime]NULL,
[RecorderID][int]NULL,
[Type][nchar]( 4)NOTNULL,
[AskReview][tinyint]NULL,
[Date][datetime]NOTNULL,
CONSTRAINT[PK_tblAttendance]PRIMARYKEYCLUSTERED
(
[AttendID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
ALTERTABLE[dbo]. [tblAttendance]WITHCHECKADDCONSTRAINT[FK_tblAttendance_tblEmployee]FOREIGNKEY ( [EmployeeID] )
REFERENCES[dbo]. [tblEmployee]( [EmployeeID])
GO
ALTERTABLE[dbo]. [tblAttendance]CHECKCONSTRAINT[FK_tblAttendance_tblEmployee]
GO
ALTERTABLE[dbo]. [tblAttendance]WITHCHECKADDCONSTRAINT[FK_tblAttendance_tblEmployee2]FOREIGNKE Y( [RecorderID])
REFERENCES[dbo]. [tblEmployee]( [EmployeeID])
GO
ALTERTABLE[dbo]. [tblAttendance]CHECKCONSTRAINT[FK_tblAttendance_tblEmployee2]
GO
ALTERTABLE[dbo]. [tblAttendance]WITHCHECKADDCONSTRAINT[CK_tblAttendance]CHECK(( [RecorderID] <>[ EmployeeID] AND([Type] =' 少勤 ' OR[Type] =' 迟到’'OR[Type] =' 早走 ' )))
GO
ALTERTABLE[dbo]. [tblAttendance]CHECKCONSTRAINT[CK_tblAttendance]
GO
表定义
表 tblAttendance定义以下:
名称种类能否为空说明备注
AttendID int4否考勤编号
EmployeeID int4否职工编号
BreachTime datetime8可抵达时间
RecorderID int4可记录者编号不可与
EmployeeID
同样
Type nchar4否考勤种类可取值“缺
勤”,“迟到”,
“早走”
AskReview Tinyint1可恳求从头审可取值 0,1
核
Date Datetime8否日期
主键
表 tblAttendance 的主键是 AttendID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblAttendance]ScriptDate:06/18/201109:04:51******/
ALTERTABLE[dbo] . [tblAttendance] ADDCONSTRAINT[PK_tblAttendance] PRIMARYKEYCLUSTERED (
[AttendID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
表 tblAttendance的外键是EmployeeID 和 RecorderID ,此中 EmployeeID 种类为
int ,用于与表 tblEmployee中的 EmployeeID 字段关系; RecorderID种类为 int,
用于与表 tblEmployee 中的 EmployeeID 字段关系。
答案: 1.
USE[RGB]
GO
ALTERTABLE[dbo]. [tblAttendance]WITHCHECKADDCONSTRAINT[FK_tblAttendance_tblEmployee]FOREIGNKEY ( [EmployeeID] )
REFERENCES[dbo]. [tblEmployee]( [EmployeeID] )
GO
ALTERTABLE[dbo]. [tblAttendance]CHECKCONSTRAINT[FK_tblAttendance_tblEmployee]
GO
2.
USE[RGB]
GO
ALTERTABLE[dbo]. [tblAttendance]WITHCHECKADDCONSTRAINT[FK_tblAttendance_tblEmployee2]FOREIGNKE Y( [RecorderID])
REFERENCES[dbo]. [tblEmployee]( [EmployeeID] )
GO
ALTERTABLE[dbo]. [tblAttendance]CHECKCONSTRAINT[FK_tblAttendance_tblEmployee2]
GO
拘束
表 tblAttendance 中的 RecorderID 不行与 EmployeeID 同样;
表tblAttendance 中的Type 字段只好取“少勤” 、“迟到”、“早走”。
表 tblAttendance 中的 AskReview 字段默认值为 0,即未恳求从头审查
答案: USE[RGB]
GO
ALTERTABLE[dbo] . [tblAttendance]WITHCHECKADDCONSTRAINT[CK_tblAttendance]
CHECK(( [RecorderID]<>[ EmployeeID] AND([Type] =' 少勤 ' OR[Type] =' 迟到’'OR[Type] =' 早走 ' )))
GO
ALTERTABLE[dbo] . [tblAttendance]CHECKCONSTRAINT[CK_tblAttendance]
GO
索引
主键字段 AttendID拥有自动创立的齐集索引。
3.6.表tblLeave
概括
表tblLeave 用于记录职工的告假记录。
表tblLeave 中的基本信息包含:告假提交时间、告假开始时间、告假停止时间、告假原由、告假的类型和告假申请状态等。
经过字段 EmployeeID 与表 tblEmployee 关系。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblLeave]ScriptDate:06/20/201117:14:23******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblLeave] (
[LeaveID][int]NOTNULL,
[EmployeeID][int]NOTNULL,
[SubmitTime][datetime]NOTNULL,
[StartTime][datetime]NOTNULL,
[EndTime][datetime]NOTNULL,
[Reason][nvarchar]( 100)NULL,
[TypeID][int]NULL,
[Hours][float]NOTNULL,
[Status][nvarchar]( 20)NULL,
[ApproverID][int]NULL,
[DenyReason][nchar] ( 100)NULL,
CONSTRAINT[PK_tblLeave] PRIMARYKEYCLUSTERED
(
[LeaveID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
ALTERTABLE[dbo] . [tblLeave]WITHCHECKADDCONSTRAINT[FK_tblLeave_tblEmployee]FOREIGNKEY( [Employee
ID] )
REFERENCES[dbo] . [tblEmployee] ( [EmployeeID] )
GO
ALTERTABLE[dbo] . [tblLeave]
CHECKCONSTRAINT[FK_tblLeave_tblEmployee] GO
ALTERTABLE[dbo] . [tblLeave] WITHCHECKADDCONSTRAINT[FK_tblLeave_tblEmployee1]FOREIGNKEY( [Approve rID] )
REFERENCES[dbo] . [tblEmployee] ( [EmployeeID] )
GO
ALTERTABLE[dbo] . [tblLeave]CHECKCONSTRAINT[FK_tblLeave_tblEmployee1]
GO
表定义
表 tblLeave 定义以下:
名称种类能否为空说明备注
LeaveID int否告假申请编
号
EmployeeID int否职工编号
SubmitTime datetime否提交时间
StartTime datetime否开始时间
EndTime datetime否结束时间大于开始时
间
Reason nvarchar100可原由说明
TypeID int可种类编号
Hours float否小时数
Status nvarchar20可申请状态取值范围可
以是:“已提
交”、“已取
消”、“已批准”、“已否决”
ApproverID DenyReason int4
nchar100
可
可
审查者编号
拒绝申请的
原由
主键
表 tblLeave 的主键是 LeaveID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblLeave]ScriptDate:06/18/201109:06:35******/
ALTERTABLE[dbo] . [tblLeave] ADDCONSTRAINT[PK_tblLeave] PRIMARYKEYCLUSTERED
(
[LeaveID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
表 tblLeave 的外键是 EmployeeID 和 ApproverID ,此中 EmployeeID 种类为 int ,用于与表tblEmployee 中的EmployeeID 字段关系;ApproverID 种类为int ,用于与表tblEmployee 中的 EmployeeID 字段关系。
答案: [RGB]
GO
ALTERTABLE[dbo] . [tblLeave] WITHCHECKADDCONSTRAINT[FK_tblLeave_tblEmployee]FOREIGNKEY( [Employee ID] )
REFERENCES[dbo] . [tblEmployee] ( [EmployeeID] )
GO
ALTERTABLE[dbo] . [tblLeave]CHECKCONSTRAINT[FK_tblLeave_tblEmployee]
GO
[RGB]
GO
ALTERTABLE[dbo] . [tblLeave] WITHCHECKADDCONSTRAINT[FK_tblLeave_tblEmployee1]FOREIGNKEY( [Approve rID] )
REFERENCES[dbo] . [tblEmployee] ( [EmployeeID] )
GO
ALTERTABLE[dbo] . [tblLeave]CHECKCONSTRAINT[FK_tblLeave_tblEmployee1]
GO
拘束
告假开始时间应小于告假结束时间;
Status 字段的取值能够是:“已提交”、“已撤消”、“已同意”、“已反对”。
索引
主键字段 LeaveID 拥有自动创立的齐集索引。
3.7.表tblOvertime
概括
表tblOvertime用于记录职工的加班记录。
表tblOvertime中的基本信息包含:加班时间、加班起止时间、加班原由和加班申请同意状态。
经过字段EmployeeID与表tblEmployee关系。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblOvertime]ScriptDate:06/20/201117:14:53******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblOvertime](
[OvertimeID][int]NOTNULL,
[EmployeeID][int]NOTNULL,
[Approver][int]NULL,
[SubmitTime][datetime]NOTNULL,
[StartTime][datetime]NOTNULL,
[EndTime][datetime]NOTNULL,
[Reason][nvarchar]( 100)NOTNULL,
[Status][nchar]( 10)NOTNULL,
[Type][tinyint]NULL,
[Denyreasons][nchar]( 100)NULL,
[Hours][int]NULL,
CONSTRAINT[PK_tblOvertimeID]PRIMARYKEYCLUSTERED
(
[OvertimeID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
ALTERTABLE[dbo]. [tblOvertime]WITHCHECKADDCONSTRAINT[FK_tblOvertime_tblEmployee]FOREIGNKEY( [Em ployeeID] )
REFERENCES[dbo]. [tblEmployee]( [EmployeeID] )
GO
ALTERTABLE[dbo]. [tblOvertime]CHECKCONSTRAINT[FK_tblOvertime_tblEmployee]
GO
ALTERTABLE[dbo]. [tblOvertime]WITHCHECKADDCONSTRAINT[FK_tblOvertime_tblOvertimeType]FOREIGNKEY ( [Type] )
REFERENCES[dbo]. [tblOvertimeType]( [Type] )
GO
ALTERTABLE[dbo]. [tblOvertime]CHECKCONSTRAINT[FK_tblOvertime_tblOvertimeType]
GO
表定义
表 tblOvertime 定义以下:
名称种类能否为空说明备注
OvertimeID int否加班申请编
号
EmployeeID int否职工编号
ApproverID int可同意者编号
SubmitTime datetime否提交时间
StartTime datetime否开始时间
EndTime datetime否结束时间
Reason nvarchar100否加班原由
Status nchar10否申请状态取值能够为:
“已撤消”、
“已同意”、
“已反对”、
“已提交”
Type tinyint1可加班种类
Denyreason nchar100可拒绝申请的
原由
Hours int4可小时数
主键
表 tblOvertime 的主键是 OvertimeID 字段,种类为 int ,不设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblOvertimeID]ScriptDate:06/18/201109:08:04******/
ALTERTABLE[dbo] . [tblOvertime] ADDCONSTRAINT[PK_tblOvertimeID] PRIMARYKEYCLUSTERED (
[OvertimeID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
表 tblOvertime 的外键是 EmployeeID,种类为 int ,用于与表 tblEmployee 中的EmployeeID 字段关系。
表 tblOvertime的外键是Type,种类为tinyint,用来与表tblOverTimeType的Type 有关系。
答案: [RGB]
GO
ALTERTABLE[dbo]. [tblOvertime]WITHCHECKADDCONSTRAINT[FK_tblOvertime_tblEmployee]FOREIGNKEY( [Em ployeeID] )
REFERENCES[dbo]. [tblEmployee]( [EmployeeID] )
GO
ALTERTABLE[dbo]. [tblOvertime]CHECKCONSTRAINT[FK_tblOvertime_tblEmployee]
GO
[RGB]
GO
ALTERTABLE[dbo]. [tblOvertime]WITHCHECKADDCONSTRAINT[FK_tblOvertime_tblOvertimeType]FOREIGNKEY ( [Type] )
REFERENCES[dbo]. [tblOvertimeType]( [Type] )
GO
ALTERTABLE[dbo]. [tblOvertime]CHECKCONSTRAINT[FK_tblOvertime_tblOvertimeType]
GO
拘束
加班开始时间应小于加班结束时间。
Status 字段取值:“已撤消”、“已同意”、“已反对”、“已提交”
索引
主键字段 OvertimeID 拥有自动创立的齐集索引。
3.8.表tblPerformance
概括
表 tblPerformance 用于保留职工的绩效信息。
表 tblPerformance 中的基本信息包含:职
工编号、考评者编号、提交时间、考评时间、考语和绩效状态。
经过字段
EmployeeID 与表 tblEmployee关系。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblPerformance]ScriptDate:06/20/201117:15:21******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblPerformance](
[PerformID][int]NOTNULL,
[EmployeeID][int]NOTNULL,
[ReviewerID][int]NULL,
[SubmitTime][datetime]NOTNULL,
[PerformYear][int]NOTNULL,
[PerformSeason][tinyint]NOTNULL,
[Status][tinyint]NULL,
[LastEditTime][datetime]NULL,
[SelfSorce][tinyint]NULL,
[ReviewScore][tinyint]NULL,
[SelfComment][nchar]( 200)NULL,
[ReviewComment][nchar] ( 200)NULL,
CONSTRAINT[PK_tblPerformance] PRIMARYKEYCLUSTERED (
[PerformID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
ALTERTABLE[dbo]. [tblPerformance]WITHCHECKADDCONSTRAINT[FK_tblPerformance_tblEmployee]FOREIGNK EY( [EmployeeID])
REFERENCES[dbo]. [tblEmployee]( [EmployeeID] )
GO
ALTERTABLE[dbo]. [tblPerformance]CHECKCONSTRAINT[FK_tblPerformance_tblEmployee]
GO
ALTERTABLE[dbo]. [tblPerformance]WITHCHECKADDCONSTRAINT[FK_tblPerformance_tblPerformStatus]FOR EIGNKEY( [Status])
REFERENCES[dbo]. [tblPerformStatus]( [Type] )
GO
ALTERTABLE[dbo]. [tblPerformance]CHECKCONSTRAINT[FK_tblPerformance_tblPerformStatus]
GO
表定义
表 tblPerformance 定义以下:
名称种类能否为空说明备注
PerformID int4否绩效查核编
号
EmployeeID int4否职工编号
ReviewerID int4可审查者编号
SubmitTime datetime8否提交时间
PerformYear int4否年份
PerformSeason tinyint1否季度
Status tinyint1可状态
LastEditTime Datetime8可最后编写时
间
SelfScore Tinyint1可自我评分
ReviewScore Tinyint1可审查者评分
SelfComment nchar200可自我评论默认值为空ReviewComment nchar200可审查者评论默认值为空
表 tblPerformance 的主键是 PerformID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblPerformance]ScriptDate:06/18/201109:09:21******/
ALTERTABLE[dbo] . [tblPerformance]ADDCONSTRAINT[PK_tblPerformance]PRIMARYKEYCLUSTERED
(
[PerformID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
表 tblPerformance 的外键是 EmployeeID,种类为 int ,用于与表 tblEmployee 中的EmployeeID 字段关系。
表 tblPerformance的外键是Status,种类为int,用于与表tblPerformStatus中的 Type 字段关系。
答案: USE[RGB]
GO
ALTERTABLE[dbo]. [tblPerformance]WITHCHECKADDCONSTRAINT[FK_tblPerformance_tblEmployee]FOREIGNK EY( [EmployeeID])
REFERENCES[dbo]. [tblEmployee] ( [EmployeeID])
GO
ALTERTABLE[dbo]. [tblPerformance]CHECKCONSTRAINT[FK_tblPerformance_tblEmployee]
GO
[RGB]
GO
ALTERTABLE[dbo]. [tblPerformance]WITHCHECKADDCONSTRAINT[FK_tblPerformance_tblPerformStatus]FOR EIGNKEY( [Status])
REFERENCES[dbo]. [tblPerformStatus]( [Type])
GO
ALTERTABLE[dbo]. [tblPerformance]CHECKCONSTRAINT[FK_tblPerformance_tblPerformStatus]
GO
无
索引
主键字段 PerformID 拥有自动创立的齐集索引。
3.9.表tblConfig
概括
表 tblConfig用于保留系统配置信息和全局数据。
表tblSysConfig中的基本信息包含:公司上下班时间、职工整年年假总数、病假总数。
经过系统配置工具,改正
该表中的数据能够改正这些配置信息和全局设定。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblConfig]ScriptDate:06/20/201117:15:43******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo] . [tblConfig](
[ConfigID][int]NOTNULL,
[Type][char]( 10)NULL,
[Name][char] ( 50)NOTNULL,
[Data][char]( 50)NULL,
CONSTRAINT[PK_tblConfigID]PRIMARYKEYCLUSTERED
(
[ConfigID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
表定义
表 tblSysConfig 定义以下:
名称种类能否为空说明备注
ConfigID int4否设定编号
Type char10可设定种类
Name char50否设命名称
Data char50可设定值
主键
表 tblConfig 的主键是 ConfigID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblConfigID]ScriptDate:06/18/201109:12:03******/
ALTERTABLE[dbo] . [tblConfig]ADDCONSTRAINT[PK_tblConfig]PRIMARYKEYCLUSTERED
(
[ConfigID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
无
拘束
无其余拘束
索引
主键字段拥有自动创立的齐集索引。
3.10. 表 tblSystemEvent
概括
表 tblSystemEvent 用于保留系统事件的日记记录记录。
表 tblSystemEvent 中的基本信息包含:事件编号、事件发生时间和事件描绘。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblSystemEvent]ScriptDate:06/20/201117:16:17******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblSystemEvent](
[EventID][int]NOTNULL,
[EventTime][datetime]NOTNULL,
[EventMessage][nvarchar] ( 100)NOTNULL,
CONSTRAINT[PK_tblSystemEvent] PRIMARYKEYCLUSTERED
(
[EventID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
表定义
表 tblSystemEvent 定义以下:
名称种类能否为空说明备注
EventID int否事件编号
EventTime EventMessage datetime
nvarchar100
否
否
事件发生时
间
事件描绘
主键
表 tblSystemEvent 的主键是 EventID 字段,种类为 int ,设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblSystemEvent]ScriptDate:06/18/201109:13:37******/
ALTERTABLE[dbo] . [tblSystemEvent]ADDCONSTRAINT[PK_tblSystemEvent] PRIMARYKEYCLUSTERED
(
[EventID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
无
拘束
无其余拘束
索引
主键字段 EventID 拥有自动创立的齐集索引。
3.11. 表 tblPerformStatus
概括
表 tblPerformStatus用于保留绩效查核可能有的状态名称。
表tblPerformStatus 的基本信息包含:业绩评定种类和业绩评命名称。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblPerformStatus]ScriptDate:06/20/201117:16:42******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblPerformStatus](
[Type][tinyint]NOTNULL,
[Name][nchar] ( 10)NOTNULL,
CONSTRAINT[PK_tblPerformStatus]PRIMARYKEYCLUSTERED
(
[Type] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
表定义
名称种类能否为空说明备注
Type tinyint否绩效查核类Type 的取值
型能够为:“ 0”
或“ 1”。
Name nchar10否绩效查核名绩效查核名
称称分别为“不
合格”、“合
格”
主键
Type
答案: USE[RGB]
GO
/******Object:Index[PK_tblPerformStatus]ScriptDate:06/18/201109:14:16******/
ALTERTABLE[dbo] . [tblPerformStatus]ADDCONSTRAINT[PK_tblPerformStatus]PRIMARYKEYCLUSTERED
(
[Type] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO
外键
无
拘束
Type 的取值能够为:“0”或“ 1”。
对应的绩效查核名称分别为“不合格”、“合格”。
索引
主键字段 Type 拥有自动创立的齐集索引。
3.12. 表 tblOvertimeType
概括
表 tblOvertimeType 用于记录加班种类。
表 tblOvertimeType 的基本信息包含:加班种类
和加班描绘。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblOvertimeType]ScriptDate:06/20/201117:17:02******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblOvertimeType](
[Type][tinyint]NOTNULL,
[Description][nchar]( 10)NOTNULL,
CONSTRAINT[PK_tblOvertimeType]PRIMARYKEYCLUSTERED
(
[Type] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
表定义
名称种类能否为空说明备注
Type tinyint1否加班种类
Description nchar10否加班种类的此字段可取
名称描绘值“折算成年
假” 或“折算
成津贴”
主键
Type
答案; USE[RGB]
GO
/******Object:Index[PK_tblOvertimeType]ScriptDate:06/18/201109:15:04******/
ALTERTABLE[dbo] . [tblOvertimeType] ADDCONSTRAINT[PK_tblOvertimeType] PRIMARYKEYCLUSTERED (
[Type] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF, IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY]
GO
外键
无
拘束
表 tblOvertimeType的Description字段,只好取“折算成年假” 或“折算成津贴” 。
索引
主键字段 Type 拥有自动创立的齐集索引。
3.13. 表 tblHoliday
概括
表 tblHoliday 用于记录假期信息。
表 tblHoliday 的基本信息包含:假期编号、假期名称、假期详细时间和能否为法定假期。
答案: USE[RGB]
GO
/******Object:Table[dbo].[tblHoliday]ScriptDate:06/20/201117:17:17******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo] . [tblHoliday](
[HolidayID][int]NOTNULL,
[HolidayDate][datetime]NOTNULL,
[HolidayName][nvarchar]( 50)NOTNULL,
[IsNationalHoliday][bit]NOTNULL,
CONSTRAINT[PK_tblHoliday]PRIMARYKEYCLUSTERED
(
[HolidayID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF,
ALLOW_ROW_LOCKS=ON, ALLOW_PA GE_LOCKS=ON) ON[PRIMARY]
) ON[PRIMARY]
GO
表定义
名称种类能否为空说明备注HolidayID int4否假期编号
HolidayDate datetime8否假期详细日
期
HolidayName nvarchar50否假期名称
IsNationalHoliday bit1否能否为法定此字段只好
假期取值“ 0”或
“ 1”
主键
表 tblHoliday 的主键是 HolidayID 字段,种类是 int, 设置自动增量。
答案: USE[RGB]
GO
/******Object:Index[PK_tblHoliday]ScriptDate:06/18/201109:15:51******/
ALTERTABLE[dbo] . [tblHoliday]ADDCONSTRAINT[PK_tblHoliday]PRIMARYKEYCLUSTERED
(
[HolidayID] ASC
) WITH( PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=OFF,
IGNORE_DUP_KEY=OFF, ONLINE=O FF, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON) ON[PRIMARY] GO。