当前位置:文档之家› 人事管理系统项目详细设计说明书

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

目录1.概述1.1.目的本文为教学案例项目SQLServer功能规范说明书。

本说明书将:描述数据库设计的目的说明数据库设计中的主要组成部分说明数据库设计中涵盖的教学知识要点1.2.内容本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象的直接关系)。

本文档中包含对以下数据库内容的描述:数据表视图存储过程用户自定义函数触发器约束在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。

1.3.与其他项目的关联教学案例项目的数据库设计与教学项目(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)LOG ON(NAME=N'RGB_log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\\MSSQL\DATA\',SIZE=1024KB,MAXS IZE=2048GB,FILEGROWTH=10%)GOALTERDATABASE[RGB]SETCOMPATIBILITY_LEVEL=100GOIF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))beginEXEC[RGB].[dbo].[sp_fulltext_database]@action='enable'endGOALTERDATABASE[RGB]SETANSI_NULL_DEFAULTOFFGOALTERDATABASE[RGB]SETANSI_NULLSOFFGOALTERDATABASE[RGB]SETANSI_PADDINGOFFGOALTERDATABASE[RGB]SETANSI_WARNINGSOFFGOALTERDATABASE[RGB]SETARITHABORTOFFGOALTERDATABASE[RGB]SETAUTO_CLOSEOFFGOALTERDATABASE[RGB]SETAUTO_CREATE_STATISTICSONGOALTERDATABASE[RGB]SETAUTO_SHRINKOFFGOALTERDATABASE[RGB]SETAUTO_UPDATE_STATISTICSONGOALTERDATABASE[RGB]SETCURSOR_CLOSE_ON_COMMITOFFGOALTERDATABASE[RGB]SETCURSOR_DEFAULTGLOBALGOALTERDATABASE[RGB]SETCONCAT_NULL_YIELDS_NULLOFFGOALTERDATABASE[RGB]SETNUMERIC_ROUNDABORTOFFGOALTERDATABASE[RGB]SETQUOTED_IDENTIFIEROFFGOALTERDATABASE[RGB]SETRECURSIVE_TRIGGERSOFFGOALTERDATABASE[RGB]SETDISABLE_BROKERGOALTERDATABASE[RGB]SETAUTO_UPDATE_STATISTICS_ASYNCOFF GOALTERDATABASE[RGB]SETDATE_CORRELATION_OPTIMIZATIONOFF GOALTERDATABASE[RGB]SETTRUSTWORTHYOFFGOALTERDATABASE[RGB]SETALLOW_SNAPSHOT_ISOLATIONOFFGOALTERDATABASE[RGB]SETPARAMETERIZATIONSIMPLEGOALTERDATABASE[RGB]SETREAD_COMMITTED_SNAPSHOTOFFGOALTERDATABASE[RGB]SET HONOR_BROKER_PRIORITY OFFGOALTERDATABASE[RGB]SETREAD_WRITEGOALTERDATABASE[RGB]SETRECOVERYFULLGOALTERDATABASE[RGB]SETMULTI_USERGOALTERDATABASE[RGB]SETPAGE_VERIFY CHECKSUMGOALTERDATABASE[RGB]SETDB_CHAININGOFFGO2.2.用户除了数据库中自动创建的dbo用户之外,还要创建如下两个用户:RGBWinUser:该用户是Windows应用程序访问数据库所使用的账号,它的权限一般仅限于查看视图和执行存储过程。

RGBASPUser:该用户是Web应用程序访问数据库所使用的账号,它的权限和RGBWinUser用户类似,即仅限于查看视图和执行存储过程。

答案:[RGB]GO/******Object:User[RGBWinUser]ScriptDate:06/18/201108:29:15******/GOCREATE USER[RGBWinUser]FORLOGIN[WO]WITHDEFAULT_SCHEMA=[dbo]GO[RGB]GO/******Object:User[RGBASPUser]ScriptDate:06/18/201108:30:46******/GOCREATE USER[RGBASPUser]FORLOGIN[ni]WITHDEFAULT_SCHEMA=[dbo]GO3.表3.1.表设计概述根据教学案例功能,数据库将以员工信息为中心存储相关数据,配合SQLServer数据库系统中提供的数据管理,实现员工考勤、请假、加班管理及系统设置等业务功能。

数据库设计将以存储员工信息的员工表为基础,连接多张相关表实现对以下关系的支持:员工与请假申请员工与加班申请员工与考勤记录员工与部门员工与部门经理员工与绩效考核记录员工与工资此外数据库中还将记录教学案例应用中需要的全局配置信息和事件日志记录。

数据库系统主要的实体关系如下图:(部门表中去掉部门经理编号,在数据删除时可能会出现死锁)3.2.表tblEmployee概述表tblEmployee用于记录员工基本信息,并作为基础表与其他表联接。

该表通过DeptID和Title可以确定员工部门和职位信息。

当Title的值为“经理”时可以确定此员工为该部门的部门经理。

答案:USE[RGB]GO/******Object:Table[dbo].[tblEmployee]ScriptDate:06/20/201117:13:37******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[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]GOSETANSI_PADDINGOFFGOALTERTABLE[dbo].[tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblDepartment]FOREIGNKEY([ DeptID])REFERENCES[dbo].[tblDepartment]([DeptID])GOALTERTABLE[dbo].[tblEmployee]CHECKCONSTRAINT[FK_tblEmployee_tblDepartment]GOALTERTABLE[dbo].[tblEmployee]WITHCHECKADDCONSTRAINT[FK_tblEmployee_tblEmployeeLevel]FOREIGNKE Y([EmployeeLevel])REFERENCES[dbo].[tblEmployeeLevel]([EmployeeLevel])GOALTERTABLE[dbo].[tblEmployee]CHECKCONSTRAINT[FK_tblEmployee_tblEmployeeLevel]GO表定义表tblEmployee定义如下:主键表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 字段关联。

相关主题