人事管理系统项目详细设计说明书_第1页
人事管理系统项目详细设计说明书_第2页
人事管理系统项目详细设计说明书_第3页
人事管理系统项目详细设计说明书_第4页
人事管理系统项目详细设计说明书_第5页
已阅读5页,还剩169页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录 1. 概述 7 1.1. 目的 7 1.2. 内容 7 1.3. 与其他项目的关联 7 2. 数据库 7 2.1. 数据库名称 7 2.2. 用户 8 3. 表 8 3.1. 表设计概述 8 3.2. 表 tblEmployee 9 3.3. 表 tblDepartment 11 3.4. 表 tblSalary 11 3.5. 表 tblAttendance 12 3.6. 表 tblLeave 14 3.7. 表 tblOvertime 15 3.8. 表 tblPerformance 16 3.9. 表 tblConfig 17 3.10. 表 tblSystemEvent . 1

2、8 3.11. 表 tblPerformStatus 19 3.12. 表 tblOvertimeType 20 3.13. 表 tblHoliday 21 3.14. 表 tblPerformItem 22 4. 视图 24 4.1. 视图viwwebEmpCommonInfo 24 4.2. 视图viwwebAllAttend 25 4.3. 视图viwwebAllLeaveReg 25 4.4. 视图viwwebAllOTReg 26 4.5. 视图viwwebCompanyPolicy 27 4.6. 视图viwwebDepartment 28 4.7. 视图viwwebHoliday

3、 28 4.8. 视图viwwebManagerInfo 29 4.9. 视图 viwwebSubmittedLvReg 29 4.10. 视图 viwwebSubmittedOTReg 30 4.11. 视图viwwebHistorySalary 31 4.12. 视图viwwebPerformance 32 4.13. 视图viwwebPerformItem 33 4.14. 视图viwwinEmployeeList 33 4.15. 视图viwwinAttendance 34 4.16. 视图viwwinLeaveList 35 4.17. 视图 viwwinOTList 35 4.18

4、. 视图viwwinEmpBasicSalary 36 5. 存储过程 37 5.1. 存储过程spwebAddLeaveReq 37 5.2. 存储过程spwebAddOTReq . 37 5.3. 存储过程spwebAskReview . 38 5.4. 存储过程spwebCancelLeaveReq 39 5.5. 存储过程spwebCancelOTReq 39 5.6. 存储过程spwebChangeLeaveStatus 40 5.7. 存储过程spwebChangeOTStatus 41 5.8. 存储过程spwebGetCEOInfo 41 5.9. 存储过程spwebGetDe

5、ptAttendSummary 42 5.10. 存储过程spwebGetDeptLvSummary 42 5.11. 存储过程spwebGetDeptOTSummary 43 5.12. 存储过程spwebGetEmployeeID 44 5.13. 存储过程spwebGetEmpPassword 44 5.14. 存储过程spwebGetEmpPasswordByID 45 5.15. 存储过程spwebUpdatePassword 46 5.16. 存储过程spwebUpdateSelfIntro 46 5.17. 存储过程spwebAddPerformObject 47 5.18. 存

6、储过程spwebDeletePerformItem 48 5.19. 存储过程spwebGetDeptSalarySummary 48 5.20. 存储过程spwebUpdatePerform 49 5.21. 存储过程spwebUpdatePerformItem 49 5.22. 存储过程spwinAttendanceQuery 50 5.23. 存储过程spwinChangeEmployeeDept 51 5.24. 存储过程spwinCreateDepartment 51 5.25. 存储过程spwinDeleteDepartment 52 5.26. 存储过程spwinDeleteEm

7、ployee 52 5.27. 存储过程spwinDelLeaveRequest 53 5.28. 存储过程spwinDeptAllEmployee 54 5.29. 存储过程spwinDeptLeave 54 5.30. 存储过程 spwinEmpLeave 55 5.31. 存储过程spwinGetAllDepartment 55 5.32. 存储过程spwinGetEmpbyDeptName 56 5.33. 存储过程spwinMoveEmpBetweenDept 56 5.34. 存储过程spwinRejectLeaveRequest 57 5.35. 存储过程spwebUpdateP

8、erformItemSelf 58 5.36. 存储过程spwebUpdatePerformItemReview 58 5.37. 存储过程spwebGetSubmittedPerform 59 5.38. 存储过程spwebGetDeptPerformSummary 59 5.39. 存储过程 spwinOTbyGroup 60 5.40. 存储过程spwebPerformReviewed 61 5.41. 存储过程 spwinBasicSalaryByEmpID 61 5.42. 存储过程spwinSalaryHistoryByEmpID 62 5.43. 存储过程spwinSetBasi

9、cSalary 62 5.44. 存储过程spwinQueryEventbyTime 63 5.45. 存储过程spwinChangePassword 64 5.46. 存储过程spwinAddEvent 64 5.47. 存储过程spwebUpdatePerformItemObj 65 6. 用户自定义函数 65 6.1. 用户自定义函数 udfwinDeptAllEmployee 65 6.2. 用户自定义函数 udfwinGetDeptIDbyDeptName 66 6.3. 用户自定义函数 udfwinGetDeptNamebyDeptID 66 7. 触发器 67 7.1. 触发器

10、tRejectRequest 67 8. 数据库安全性 67 8.1. 概述 67 8.2. 数据库验证方式 67 1. 概述 1.1. 目的 本文为教学案例项目 SQL Server功能规范说明书。本说明书将: 描述数据库设计的目的 说明数据库设计中的主要组成部分 说明数据库设计中涵盖的教学知识要点 1.2. 内容 本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象 的名称、对象的属性、对象和其他对象的直接关系)。本文档中包含对以下数据库内容的描 述: 数据表 视图 存储过程 用户自定义函数 触发器 约束 在数据库主要对象之外,本文还将描述数据库安全性设置、数据

11、库属性设置和数据库备份策 略,为数据库管理员维护数据库安全稳定地运行提供参考。 1.3. 与其他项目的关联 教学案例项目的数据库设计与教学项目( Web部分和 Windows部分)功能密切相关。教学 案例项目的数据库将按照教学项目程序部分的功能需求而设计,数据库设计将配合教学案例 的程序部分,以实现一个功能完备的企业环境内的应用。 提示可通过使用 Web应用程序或Windows 应用程序来测试数据库。 2. 数据库 2.1. 数据库名称 数据库的名称一定要设为RGB,否则本案例设计的Web部分的应用程序和Windows部 分的应用程序将无法使用该数据库。 答案:USE master GO /*

12、 Object: Database RGB Script Date: 06/18/2011 08:55:58 */ CREATE DATABASE RGB ON PRIMARY KB , MAXSIZE = 1024 KB ( NAME = NRGB , FILENAME = NC:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATARGB.mdf , SIZE = 3072 = UNLIMITED , FILEGROWTH = 1024 KB ) LOG ON ( NAME = NRGB_log , FILENAME =

13、NC:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATARGB_log.ldf , SIZE MAXSIZE = 2048 GB , FILEGROWTH = 10 %) GO ALTER DATABASE RGB SET COMPATIBILITY_LEVEL = 100 GO IF ( 1 = FULLTEXTSERVICEPROPERTY ( IsFullTextInstalled ) begin EXEC RGB . dbo . sp_fulltext_database action = enable end GO

14、 ALTER GO DATABASE RGB SET ANSI_NULL_DEFAULT OFF ALTER GO DATABASE RGB SET ANSI_NULLS OFF ALTER GO DATABASE RGB SET ANSI_PADDING OFF ALTER GO DATABASE RGB SET ANSI_WARNINGS OFF ALTER GO DATABASE RGB SET ARITHABORT OFF ALTER GO DATABASE RGB SET AUTO_CLOSE OFF ALTER GO DATABASE RGB SET AUTO_CREATE_STA

15、TISTICS ON ALTER DATABASE RGB SET AUTO_SHRINK OFF GO ALTER GO DATABASE RGB SET AUTO_UPDATE_STATISTICS ON ALTER GO DATABASE RGB SET CURSOR_CLOSE_ON_COMMIT OFF ALTER GO DATABASE RGB SET CURSOR_DEFAULT GLOBAL ALTER GO DATABASE RGB SET CONCAT_NULL_YIELDS_NULL OFF ALTER GO DATABASE RGB SET NUMERIC_ROUNDA

16、BORT OFF ALTER GO DATABASE RGB SET QUOTED_IDENTIFIER OFF ALTER GO DATABASE RGB SET RECURSIVE_TRIGGERS OFF ALTER GO DATABASE RGB SET DISABLE_BROKER ALTER GO DATABASE RGB SET AUTO_UPDATE_STATISTICS_ASYNC OFF ALTER GO DATABASE RGB SET DATE_CORRELATION_OPTIMIZATION OFF ALTER GO DATABASE RGB SET TRUSTWOR

17、THY OFF ALTER GO DATABASE RGB SET ALLOW_SNAPSHOT_ISOLATION OFF ALTER GO DATABASE RGB SET PARAMETERIZATION SIMPLE ALTER DATABASE RGB SET READ_COMMITTED_SNAPSHOT OFF ALTER GO DATABASE RGB SET HONOR_BROKER_PRIORITY OFF ALTER GO DATABASE RGB SET READ_WRITE ALTER GO DATABASE RGB SET RECOVERY FULL ALTER G

18、O DATABASE RGB SET MULTI_USER ALTER GO DATABASE RGB SET PAGE_VERIFY CHECKSUM ALTER GO DATABASE RGB SET DB_CHAINING OFF 2.2. 用户 除了数据库中自动创建的 dbo 用户之外,还要创建如下两个用户: RGBWinUser :该用户是 Windows 应用程序访问数据库所使用的账号, 它的权限一般 仅限于查看视图和执行存储过程。 RGBASPUser :该用户是 Web 应用程序访问数据库所使用的账号,它的权限和 RGBWinUser 用户类似,即仅限于查看视图和执行存储过程。

19、 答案: 1.USE RGB GO /* Object: User RGBWinUser Script Date: 06/18/2011 08:29:15 */ GO CREATE USER RGBWinUser GO FOR LOGIN WO WITH DEFAULT_SCHEMA = dbo GO 2. USE RGB GO /* Object: User RGBASPUser Script Date: 06/18/2011 08:30:46 */ GO CREATE USER RGBASPUser FOR LOGIN ni WITH DEFAULT_SCHEMA = dbo 3. 表 3

20、.1. 表设计概述 根据教学案例功能,数据库将以员工信息为中心存储相关数据,配合SQL Server 数据库系 统中提供的数据管理,实现员工考勤、请假、加班管理及系统设置等业务功能。 数据库设计将以存储员工信息的员工表为基础,连接多张相关表实现对以下关系的支持: 员工与请假申请 员工与加班申请 员工与考勤记录 员工与部门 员工与部门经理 员工与绩效考核记录 员工与工资 此外数据库中还将记录教学案例应用中需要的全局配置信息和事件日志记录。 数据库系统主要的实体关系如下图: (部门表中去掉部门经理编号,在数据删除时可能会出 现死锁) 3.2. 表 tblEmployee 概述 表 tblEmplo

21、yee 用于记录员工基本信息,并作为基础表与其他表联接。 该表通过 DeptID 和 Title 可以确定员工部门和职位信息。当 Title 的值为“经理”时可以确定此员工为该部门的 部门经理。 答案: USE RGB GO /* Object: Table dbo.tblEmployee Script Date: 06/20/2011 17:13:37 */ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO EmployeeID int NOT NULL, Name nvarchar ( 50 )

22、NOT NULL, LoginName nvarchar ( 20) NOT NULL, Password binary ( 20 ) NULL, Email nvarchar ( 50) NOT NULL, DeptID int NULL, BasicSalary int NULL, Title nvarchar ( 50) NULL, Telephone nvarchar ( 50) NULL, OnhoardDate datetime NOT NULL, Selfintro nvarchar ( 200 ) NULL, VacationRemain int NULL, EmployeeL

23、evel int NULL, PhotoImage image NULL, CONSTRAINT PK_tblEmployee PRIMARY KEY CLUSTERED ( 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 SET ANSI_PADDING OFF GO AL

24、TER TABLE dbo . tblEmployee FK_tblEmployee_tblDepartment REFERENCES dbo . tblDepartment GO ALTER TABLE dbo . tblEmployee FK_tblEmployee_tblDepartment GO ALTER TABLE dbo . tblEmployee FK_tblEmployee_tblEmployeeLevel REFERENCES dbo . tblEmployeeLevel GO ALTER TABLE dbo . tblEmployee FK_tblEmployee_tbl

25、EmployeeLevel GO WITH CHECK ADD CONSTRAINT FOREIGN KEY( DeptID ) ( DeptID ) CHECK CONSTRAINT WITH CHECK ADD CONSTRAINT FOREIGN KEY( EmployeeLevel ) ( EmployeeLevel ) CHECK CONSTRAINT 表定义 表tbIEmployee定义如下: 名称 类型 可否为空 说明 备注 EmployeeID int 4 否 员工编号 自动生成 Name n varchar 50 否 员工姓名 Logi nN ame n varchar 20

26、 否 员工登录名 建议为英文字 符,且与姓名不 同 Password binary 20 可 员工登录密码 Email n varchar 50 否 员工电子邮件 DeptID int 4 可 员工所属部门编 号 BasicSalary int 4 可 员工基本工资 Title n varchar 50 可 员工职位名称 可取值为“普通 员工”、“部门经 理”、“总裁” Teleph one n varchar 50 可 员工电话 On boardDate datetime 8 否 员工报到日期 SelfI ntro n varchar 200 可 员工自我介绍 初始为空,由员 工自行输入 V

27、acati on Rema in int 4 可 员工剩余假期 小时数 EmployeeLevel int 4 可 员工的级别 PhotoImage image 16 可 员工照片 主键 表tbIEmployee的主键是EmpIoyeelD 字段,类型为int,设置自动增量。 答案:USE RGB GO /* Object: I ndex PK_tbIEmpIoyee Script Date: 06/18/2011 09:00:53 */ ALTER TABLE dbo . tbIEmployee ADD CONSTRAINT PK_tbIEmpIoyeePRIMARY KEY CLUSTER

28、ED ( 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 字段可以为空,在此情况下表示员工不在任何部门中。 表

29、tblEmployee 的外键有 EmployeeLevel ,类型为 int ,用于与表 tblEmployeeLevel 中的 EmployeeLevel 字段关联。 1. USE RGB GO ALTER TABLE dbo . tblEmployee FK_tblEmployee_tblDepartment REFERENCES dbo . tblDepartment GO ALTER TABLE dbo . tblEmployee FK_tblEmployee_tblDepartment GO 2. USE RGB GO ALTER TABLE dbo . tblEmployee F

30、K_tblEmployee_tblEmployeeLevel REFERENCES dbo . tblEmployeeLevel GO ALTER TABLE dbo . tblEmployee FK_tblEmployee_tblEmployeeLevel GO WITH CHECK ADD CONSTRAINT FOREIGN KEY( DeptID ) ( DeptID ) CHECK CONSTRAINT WITH CHECK ADD CONSTRAINT FOREIGN KEY( EmployeeLevel ) ( EmployeeLevel ) CHECK CONSTRAINT 约

31、束 表 tblEmployee 中的 LoginName 字段建议为 4-8 位小写 英文字符, 且不能与员工姓名相同 也不可以为空字符串。 索引 主键字段 EmployeeID 具有自动创建的聚集索引。 3.3. 表 tblDepartment 概述 表 tblDepartment 用于记录企业内部的部门信息。 每个独立的部门在该表中都对应一条记录。 该表通过与 tblEmployee 表关联可以确定员工所属的部门。 答案: USE RGB GO /* Object: Table dbo.tblDepartment Script Date:06/20/2011 17:13:12 */ SET

32、 ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE dbo . tblDepartment ( DeptID int NOT NULL, DeptName char ( 10 ) NULL, Description char ( 50 ) NULL, CONSTRAINT PK_tblDepartment PRIMARY KEY CLUSTERED ( DeptID ASC ) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,

33、 IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY GO SET ANSI_PADDING OFF GO 表定义 表 tblDepartment 定义如下: 名称 类型 可否为空 说明 备注 DeptID int 4 否 部门编号 自动生成 DeptName char 10 可 部门名称 Descipti on char 50 可 部门描述 主键 表tbIDepartment的主键是DeptID字段,类型为int,设置自动增量。 答案:USE RGB GO /*

34、Object: I ndex PK_tbIDepartme nt Script Date: 06/18/2011 09:03:12 */ ALTER TABLE dbo . tblDepartmentADD CONSTRAINT PK_tblDepartment PRIMARY KEY CLUSTERED ( DeptID ASC )WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB =OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON,

35、 ALLOW_PAGE_LOCKS = ON) ON PRIMARY GO 外键 无 约束 无其他约束 索引 主键字段DeptID具有自动创建的聚集索引。 3.4. 表 tblSalary 概述 表tblSalary用于记录员工每月的工资信息,包括工资发放日期、工资组成等。表tblSalary通过字段 EmployeeID 与表 tblEmployee 关联。 答案:USE RGB GO /* Object: Table dbo.tblSalary Script Date: 06/20/2011 17:1247 */ SET ANSI NULLS ON GO SET QUOTED IDENTI

36、FIER ON GO CREATE TABLE dbo . tblSalary SalaryID EmployeeID SalaryTime BasicLSalary OvertimeSalary Abse nseSalary OtherSalary ( int NOT NULL, int NOT NULL, datetime int int int int NOT NULL, NULL, NULL, NULL, NULL, CONSTRAINT PK_tblSalary ( SalaryID ASC PRIMARY KEY CLUSTERED )WITH ( PAD_INDEX = OFF,

37、 =OFF, ALLOW_ROW_LOCKS )ON PRIMARY STATISTICS NORECOMPUTE =ON, ALLOW_PAGE_LOCKS =OFF, IGNORE_DUP_KEY ON) ON PRIMARY GO ALTER TABLE dbo . tblSalary FK_tblSalary_tblEmployee REFERENCES dbo . tblEmployee GO WITH CHECK ADD CONSTRAINT FOREIGN KEY( EmployeeID ) (EmployeeID ) CHECK CONSTRAINT ALTER TABLE d

38、bo . tblSalary FK_tblSalary_tblEmployee GO 表定义 表tblSalary定义如下: 名称 类型 可否为空 说明 备注 SalaryID int 4 否 工资编号 EmployeeID int 4 否 员工编号 SalaryTime datetime 8 否 工资发放时间 BasicSalary int 4 可 员工基本工资 OvertimeSalary int 4 可 加班工资 Abse nseSalary int 4 可 缺勤扣除 OtherSalary int 4 可 其他工资 主键 表tbISalary的主键是SalarylD字段,类型为int,

39、设置自动增量。 答案:USE RGB GO /* Object: I ndexPK_tbISaIary ScriptDate: 06/18/201109:03:47 */ ALTER TABLE dbo . tblSalaryADD CONSTRAINT PK_tblSalaryPRIMARY KEY CLUSTERED ( SalaryID ASC )WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB =OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_L

40、OCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY GO 外键 表tblSalary的外键是 EmployeeID,类型为int,用于与表tblEmployee中的EmployeeID字段 关联。 答案:USE RGB GO ALTER TABLE dbo . tblSalaryWITH CHECK ADD CONSTRAINT FK_tblSalary_tblEmployeeFOREIGN KEY( EmployeeID ) REFERENCES dbo . tblEmployee(EmployeeID ) GO ALTER TABLE dbo . tb

41、lSalaryCHECK CONSTRAINT FK_tblSalary_tblEmployee GO 约束 无其他约束 索引 主键字段 SalaryID 具有自动创建的聚集索引。 3.5. 表 tblAttendance 概述 表 tblAttendance 用于记录员工的考勤信息(上下班时间、记录者信息等) ,通过字段 EmployeeID 与表 tblEmployee 关联。 答案: USE RGB GO /* Object: Table dbo.tblAttendance Script Date: 06/20/2011 17:11:44 */ SET ANSI_NULLS ON GO

42、SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo . tblAttendance ( AttendID int NOT NULL, EmployeeID int NOT NULL, BreachTime datetime NULL, RecorderID int NULL, Type nchar ( 4) NOT NULL, AskReview tinyint NULL, Date datetime NOT NULL, CONSTRAINT PK_tblAttendance PRIMARY KEY CLUSTERED ( AttendID ASC ) W

43、ITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY ALTER TABLE dbo . tbIAttendanee WITH CHECK ADD CONSTRAINT FK_tbIAtte nda nce_tbIEmpIoyee REFERENCES dbo . tbIEmpIoyee GO FOREIGN KEY( EmpIoyeeID ) (EmpIoyee

44、ID ) CHECK CONSTRAINT ALTER TABLE dbo . tbIAttendanee FK_tbIAtte nda nce_tbIEmpIoyee GO ALTER TABLE dbo . tbIAttendanee FK_tbIAtte nda nce_tbIEmpIoyee2 WITH CHECK ADD CONSTRAINT FOREIGN KEY( RecorderID ) REFERENCES dbo . tbIEmpIoyee GO (EmpIoyeeID ) ALTER TABLE dbo . tbIAttendanee FK_tbIAtte nda nce

45、_tbIEmpIoyee2 CHECK CONSTRAINT GO ALTER TABLE dbo tbIAtte ndance WITH CHECK ADD CONSTRAINT CK_tbIAtte nda nee 勤OR Type=迟到 CHECK ( RecorderID EmpIoyeeID OR Type=早退) AND (Type=缺 GO ALTER TABLE dbo GO tbIAtte ndance CHECK CONSTRAINT CK_tbIAttendance 表定义 表tbIAttendanee定义如下: 名称 类型 可否为空 说明 备注 Atte ndlD in

46、t 4 否 考勤编号 EmpIoyeeID int 4 否 员工编号 BreachTime datetime 8 可 到达时间 RecorderID int 4 可 记录者编号 不可与 EmpIoyeeID 相 同 Type nchar 4 否 考勤类型 可取值“缺勤”, “迟到”,“早退” AskReview Tin yi nt 1 可 请求重新审核 可取值0,1 Date Datetime 8 否 日期 主键 表 tblAttendance 的主键是 AttendID 字段,类型为 int ,设置自动增量。 答案: USE RGB GO /* Object: Index PK_tblAtt

47、endance Script Date: 06/18/2011 09:04:51 */ ALTER TABLE PRIMARY KEY dbo . tblAttendance CLUSTERED ADD CONSTRAINT PK_tblAttendance ( AttendID ) WITH ( PAD_INDEX = OFF, = OFF, IGNORE_DUP_KEY = ALLOW_PAGE_LOCKS = ON) ASC STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB OFF, ONLINE = OFF, ALLOW_ROW_LOCKS =

48、ON, ON PRIMARY GO 外键 表 tblAttendance 的外键是 EmployeeID 于 与 表 tblEmployee 中 的 EmployeeID tblEmployee 中的 EmployeeID 字段关联。 答案: 1. 和 RecorderID ,其中 EmployeeID 类型为 int ,用 字 段 关联 ; RecorderID 类 型为 int, 用 于 与 表 USE RGB GO ALTER TABLE dbo . tblAttendance WITH CHECK ADD CONSTRAINT FK_tblAttendance_tblEmployee

49、REFERENCES dbo . tblEmployee GO FOREIGN KEY( EmployeeID ) ( EmployeeID ) CHECK CONSTRAINT ALTER TABLE dbo . tblAttendance FK_tblAttendance_tblEmployee GO 2. USE RGB GO ALTER TABLE dbo . tblAttendance WITH CHECK ADD CONSTRAINT FK_tblAttendance_tblEmployee2 REFERENCES dbo . tblEmployee GO FOREIGN KEY(

50、 RecorderID ) ( EmployeeID ) ALTER TABLE dbo . tblAttendance FK_tblAttendance_tblEmployee2 GO CHECK CONSTRAINT 约束 表 tblAttendance 中的 表 tblAttendance 中的 RecorderID 不可与 EmployeeID 相同; Type 字段只能取“缺勤” 、“迟到”、“早退”。 表 tblAttendance 中的 AskReview 字段默认值为 0,即未请求重新审核 答案: USE RGB GO ALTER TABLE dbo . tblAttendan

51、ce WITH CHECK ADD CONSTRAINT CK_tblAttendance CHECK ( RecorderID EmployeeID AND ( Type 勤 OR Type = 迟到 OR Type = 早退 ) GO ALTER TABLE dbo . tblAttendance CHECK CONSTRAINT CK_tblAttendance GO 索引 主键字段 AttendID 具有自动创建的聚集索引。 3.6. 表 tblLeave 概述 表 tblLeave 用于记录员工的请假记录。 表 tblLeave 中的基本信息包括: 请假提交时间、 假开始时间、请假终

52、止时间、请假原因、请假的类别和请假申请状态等。通过字段 EmployeeID 与表 tblEmployee 关联。 答案: USE RGB GO /* Object: Table dbo.tblLeave Script Date: 06/20/2011 17:14:23 */ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON LeaveID int NOT NULL, EmployeeID int NOT NULL, SubmitTime datetime NOT NULL, StartTime datetime NOT NULL, EndTime d

53、atetime NOT NULL, Reason nvarchar ( 100 ) NULL, TypeID int NULL, Hours float NOT NULL, Status nvarchar ( 20) NULL, ApproverID int NULL, DenyReason nchar ( 100 ) NULL, dbo . tblLeave ( GO CREATE TABLE CONSTRAINT PK_tblLeave ( PRIMARY KEY CLUSTERED ) WITH ( PAD_INDEX = OFF, = OFF, ALLOW_ROW_LOCKS ) ON

54、 PRIMARY ALTER TABLE dbo . tblLeave GO ALTER TABLE dbo . tblLeave FK_tblLeave_tblEmployee1 REFERENCES dbo . tblEmployee GO ALTER TABLE dbo . tblLeave GO LeaveID ASC STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY GO ALTER TABLE dbo . tblLeave WITH CHECK ADD CONST

55、RAINT FK_tblLeave_tblEmployee FOREIGN KEY( EmployeeID ) REFERENCES dbo . tblEmployee ( EmployeeID ) GO CHECK CONSTRAINT FK_tblLeave_tblEmployee WITH CHECK ADD CONSTRAINT FOREIGN KEY( ApproverID ) ( EmployeeID ) CHECK CONSTRAINT FK_tblLeave_tblEmployee1 表定义 表 tblLeave 定义如下: 名称 类型 可否为空 说明 备注 LeaveID i

56、nt 否 请假申请编号 EmployeeID int 否 员工编号 SubmitTime datetime 否 提交时间 StartTime datetime 否 开始时间 En dTime datetime 否 结束时间 大于开始时间 Reason n varchar 100 可 理由说明 TypeID int 可 类型编号 Hours float 否 小时数 Status n varchar 20 可 申请状态 取值范围可以 是:“已提交”、 “已取消”、“已 批准”、“已否决” ApproverID int 4 可 审核者编号 DenyReason nchar100 可 拒绝申请的理由

57、主键 表tblLeave的主键是LeaveID字段,类型为 int,设置自动增量。 答案: GO USE RGB /* Object: I ndexPK_tblLeave Script Date:06/18/201109:06:35 */ ALTER TABLE dbo .tblLeave ADD CONSTRAINT PK_tblLeavePRIMARY KEY CLUSTERED ( LeavelD ASC )WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB =OFF, IGNORE_DUP_KEY =

58、 OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY GO 外键 表tblLeave的外键是 EmployeeID 和 ApproverlD ,其中 EmployeeID 类型为int,用于与表 tbIEmployee 中的 EmployeeID 字段关联;ApproverID 类型为 int,用于与表 tbIEmployee 中 的EmployeeID字段关联。 答案:1. USE RGB GO FK_tblLeave_tblEmployee FOREIGN KEY( EmployeeID )

59、REFERENCES dbo . tblEmployee ( EmployeeID ) GO CHECK CONSTRAINT FK_tblLeave_tblEmployee WITH CHECK ADD CONSTRAINT FOREIGN KEY( ApproverID ) ( EmployeeID ) CHECK CONSTRAINT FK_tblLeave_tblEmployee1 ALTER TABLE dbo . tblLeave GO 2. USE RGB GO ALTER TABLE dbo . tblLeave FK_tblLeave_tblEmployee1 REFEREN

60、CES dbo . tblEmployee GO ALTER TABLE dbo . tblLeave GO 约束 请假开始时间应小于请假结束时间; Status 字段的取值可以是: “已提交” 、“已取消”、“已批准”、“已否决”。 索引 主键字段 LeaveID 具有自动创建的聚集索引。 3.7. 表 tblOvertime 概述 表 tblOvertime 用于记录员工的加班记录。表 tblOvertime 中的基本信息包括:加班时间、加 班起止时间、 加班原因和加班申请批准状态。 通过字段 EmployeeID 与表 tblEmployee 关联。 答案: USE RGB GO /*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论