人事管理系统项目详细设计说明书文档格式.docx
《人事管理系统项目详细设计说明书文档格式.docx》由会员分享,可在线阅读,更多相关《人事管理系统项目详细设计说明书文档格式.docx(219页珍藏版)》请在冰豆网上搜索。
GO
/******Object:
Database[RGB]ScriptDate:
06/18/201108:
55:
58******/
CREATEDATABASE[RGB]ONPRIMARY
(NAME=N'
RGB'
FILENAME=N'
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\RGB.mdf'
SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)
LOGON
RGB_log'
\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\RGB_log.ldf'
SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)
ALTERDATABASE[RGB]SETCOMPATIBILITY_LEVEL=100
IF(1=FULLTEXTSERVICEPROPERTY('
IsFullTextInstalled'
))
begin
EXEC[RGB].[dbo].[sp_fulltext_database]@action='
enable'
end
ALTERDATABASE[RGB]SETANSI_NULL_DEFAULTOFF
ALTERDATABASE[RGB]SETANSI_NULLSOFF
ALTERDATABASE[RGB]SETANSI_PADDINGOFF
ALTERDATABASE[RGB]SETANSI_WARNINGSOFF
ALTERDATABASE[RGB]SETARITHABORTOFF
ALTERDATABASE[RGB]SETAUTO_CLOSEOFF
ALTERDATABASE[RGB]SETAUTO_CREATE_STATISTICSON
ALTERDATABASE[RGB]SETAUTO_SHRINKOFF
ALTERDATABASE[RGB]SETAUTO_UPDATE_STATISTICSON
ALTERDATABASE[RGB]SETCURSOR_CLOSE_ON_COMMITOFF
ALTERDATABASE[RGB]SETCURSOR_DEFAULTGLOBAL
ALTERDATABASE[RGB]SETCONCAT_NULL_YIELDS_NULLOFF
ALTERDATABASE[RGB]SETNUMERIC_ROUNDABORTOFF
ALTERDATABASE[RGB]SETQUOTED_IDENTIFIEROFF
ALTERDATABASE[RGB]SETRECURSIVE_TRIGGERSOFF
ALTERDATABASE[RGB]SETDISABLE_BROKER
ALTERDATABASE[RGB]SETAUTO_UPDATE_STATISTICS_ASYNCOFF
ALTERDATABASE[RGB]SETDATE_CORRELATION_OPTIMIZATIONOFF
ALTERDATABASE[RGB]SETTRUSTWORTHYOFF
ALTERDATABASE[RGB]SETALLOW_SNAPSHOT_ISOLATIONOFF
ALTERDATABASE[RGB]SETPARAMETERIZATIONSIMPLE
ALTERDATABASE[RGB]SETREAD_COMMITTED_SNAPSHOTOFF
ALTERDATABASE[RGB]SETHONOR_BROKER_PRIORITYOFF
ALTERDATABASE[RGB]SETREAD_WRITE
ALTERDATABASE[RGB]SETRECOVERYFULL
ALTERDATABASE[RGB]SETMULTI_USER
ALTERDATABASE[RGB]SETPAGE_VERIFYCHECKSUM
ALTERDATABASE[RGB]SETDB_CHAININGOFF
2.2.用户
除了数据库中自动创建的dbo用户之外,还要创建如下两个用户:
•RGBWinUser:
该用户是Windows应用程序访问数据库所使用的账号,它的权限一般仅限于查看视图和执行存储过程。
•RGBASPUser:
该用户是Web应用程序访问数据库所使用的账号,它的权限和RGBWinUser用户类似,即仅限于查看视图和执行存储过程。
1.USE[RGB]
User[RGBWinUser]ScriptDate:
29:
15******/
CREATEUSER[RGBWinUser]FORLOGIN[WO]WITHDEFAULT_SCHEMA=[dbo]
2.USE[RGB]
User[RGBASPUser]ScriptDate:
30:
46******/
CREATEUSER[RGBASPUser]FORLOGIN[ni]WITHDEFAULT_SCHEMA=[dbo]
•GO
3.表
3.1.表设计概述
根据教学案例功能,数据库将以员工信息为中心存储相关数据,配合SQLServer数据库系统中提供的数据管理,实现员工考勤、请假、加班管理及系统设置等业务功能。
数据库设计将以存储员工信息的员工表为基础,连接多张相关表实现对以下关系的支持:
●员工与请假申请
●员工与加班申请
●员工与考勤记录
●员工与部门
●员工与部门经理
●员工与绩效考核记录
●员工与工资
此外数据库中还将记录教学案例应用中需要的全局配置信息和事件日志记录。
数据库系统主要的实体关系如下图:
(部门表中去掉部门经理编号,在数据删除时可能会出现死锁)
3.2.表tblEmployee
概述
表tblEmployee用于记录员工基本信息,并作为基础表与其他表联接。
该表通过DeptID和Title可以确定员工部门和职位信息。
当Title的值为“经理”时可以确定此员工为该部门的部门经理。
USE[RGB]
Table[dbo].[tblEmployee]ScriptDate:
06/20/201117:
13:
37******/
SETANSI_NULLSON
SETQUOTED_IDENTIFIERON
SETANSI_PADDINGON
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_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
SETANSI_PADDINGOFF
ALTERTABLE[dbo].[tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblDepartment]FOREIGNKEY([DeptID])
REFERENCES[dbo].[tblDepartment]([DeptID])
ALTERTABLE[dbo].[tblEmployee]CHECKCONSTRAINT[FK_tblEmployee_tblDepartment]
ALTERTABLE[dbo].[tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblEmployeeLevel]FOREIGNKEY([EmployeeLevel])
REFERENCES[dbo].[tblEmployeeLevel]([EmployeeLevel])
ALTERTABLE[dbo].[tblEmployee]CHECKCONSTRAINT[FK_tblEmployee_tblEmployeeLevel]
表定义
表tblEmployee定义如下:
名称
类型
可否为空
说明
备注
EmployeeID
int4
否
员工编号
自动生成
Name
nvarchar50
员工姓名
LoginName
nvarchar20
员工登录名
建议为英文字符,且与姓名不同
Password
binary20
可
员工登录密码
Email
员工电子邮件
DeptID
员工所属部门编号
BasicSalary
员工基本工资
Title
员工职位名称
可取值为“普通员工”、“部门经理”、“总裁”
Telephone
员工电话
OnboardDate
datetime8
员工报到日期
SelfIntro
nvarchar200
员工自我介绍
初始为空,由员工自行输入
VacationRemain
员工剩余假期
小时数
EmployeeLevel
员工的级别
PhotoImage
image16
员工照片
主键
表tblEmployee的主键是EmployeeID字段,类型为int,设置自动增量。
Index[PK_tblEmployee]ScriptDate:
06/18/201109:
00:
53******/
ALTERTABLE[dbo].[tblEmployee]ADDCONSTRAINT[PK_tblEmployee]PRIMARYKEYCLUSTERED
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,SORT_IN_TEMPDB=OFF,IGNORE_DUP_KEY=OFF,ONLINE=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
外键
表tblEmployee的外键有DeptID,类型为int,用于与表tblDepartment中的DeptID字段关联。
DeptID字段可以为空,在此情况下表示员工不在任何部门中。
表tblEmployee的外键有EmployeeLevel,类型为int,用于与表tblEmployeeLevel中的EmployeeLevel字段关联。
1.USE[RGB]
2.USE[RGB]
约束
表tblEmployee中的LoginName字段建议为4-8位小写英文字符,且不能与员工姓名相同也不可以为空字符串。
索引
主键字段EmployeeID具有自动创建的聚集索引。
3.3.表tblDepartment
表tblDepartment用于记录企业内部的部门信息。
每个独立的部门在该表中都对应一条记录。
该表通过与tblEmployee表关联可以确定员工所属的部门。
Table[dbo].[tblDepartment]ScriptDate:
12******/
CREATETABLE[dbo].[tblDepartment](
[DeptID][int]NOTNULL,
[DeptName][char](10)NULL,
[Description][char](50)NULL,
CONSTRAINT[PK_tblDepartment]PRIMARYKEYCLUSTERED
[DeptID]ASC
)ON[PRIMARY]
表tblDepartment定义如下:
部门编号
DeptName
char10
部门名称
Desciption
char50
部门描述
表tblDepartment的主键是DeptID字段,类型为int,设置自动增量。
Index[PK_tblDepartment]ScriptDate:
03:
ALTERTABLE[dbo].[tblDepartment]ADDCONSTRAINT[PK_tblDepartment]PRIMARYKEYCLUSTERED
无
无其他约束
主键字段DeptID具有自动创建的聚集索引。
3.4.表tblSalary
表tblSalary用于记录员工每月的工资信息,包括工资发放日期、工资组成等。
表tblSalary通过字段EmployeeID与表tblEmployee关联。
Table[dbo].[tblSalary]ScriptDate:
12:
47******/
CREATETABLE[dbo].[tblSalary](
[SalaryID][int]NOTNULL,
[SalaryTime][datetime]NOTNULL,
[BasicLSalary][int]NULL,
[OvertimeSalary][int]NULL,
[AbsenseSalary][int]NULL,
[OtherSalary][int]NULL,
CONSTRAINT[PK_tblSalary]PRIMARYKEYCLUSTERED
[SalaryID]ASC
ALTERTABLE[dbo].[tblSalary]WITHCHECKADDCONSTRAINT[FK_tblSalary_tblEmployee]FOREIGNKEY([EmployeeID])
REFERENCES[dbo].[tblEmployee]([EmployeeID])
ALTERTABLE[dbo].[tblSalary]CHECKCONSTRAINT[FK_tblSalary_tblEmployee]
表tblSalary定义如下:
SalaryID
工资编号
SalaryTime
工资发放时间
OvertimeSalary
加班工资
AbsenseSalary
缺勤扣除
OtherSalary
其他工资
表tblSalary的主键是SalaryID字段,类型为int,设置自动增量。
Index[PK_tblSalary]ScriptDate:
ALTERTABLE[dbo].[tblSalary]ADDCONSTRAINT[PK_tblSalary]PRIMARYKEYCLUSTERED
表tblSalary的外键是EmployeeID,类型为int,用于与