人事管理系统项目详细设计说明书.docx

上传人:b****5 文档编号:29499905 上传时间:2023-07-24 格式:DOCX 页数:211 大小:50.65KB
下载 相关 举报
人事管理系统项目详细设计说明书.docx_第1页
第1页 / 共211页
人事管理系统项目详细设计说明书.docx_第2页
第2页 / 共211页
人事管理系统项目详细设计说明书.docx_第3页
第3页 / 共211页
人事管理系统项目详细设计说明书.docx_第4页
第4页 / 共211页
人事管理系统项目详细设计说明书.docx_第5页
第5页 / 共211页
点击查看更多>>
下载资源
资源描述

人事管理系统项目详细设计说明书.docx

《人事管理系统项目详细设计说明书.docx》由会员分享,可在线阅读,更多相关《人事管理系统项目详细设计说明书.docx(211页珍藏版)》请在冰豆网上搜索。

人事管理系统项目详细设计说明书.docx

人事管理系统项目详细设计说明书

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\',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB)

LOGON

(NAME=N'RGB_log',FILENAME=N'C:

\ProgramFiles\MicrosoftSQLServer\\MSSQL\DATA\',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%)

GO

ALTERDATABASE[RGB]SETCOMPATIBILITY_LEVEL=100

GO

IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))

begin

EXEC[RGB].[dbo].[sp_fulltext_database]@action='enable'

end

GO

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_PAGE_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]FOREIGNKEY([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=OFF,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]FOREIGNKEY([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_PAGE_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=OFF,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_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[tblSalary]WITHCHECKADDCONSTRAINT[FK_tblSalary_tblEmployee]FOREIGNKEY([EmployeeID])

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=OFF,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([EmployeeID])

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]PRIMARYKEYCLUSTE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1