人事工资管理系统数据库的需求分析

上传人:油条 文档编号:33217148 上传时间:2018-02-14 格式:DOC 页数:36 大小:621.50KB
返回 下载 相关 举报
人事工资管理系统数据库的需求分析_第1页
第1页 / 共36页
人事工资管理系统数据库的需求分析_第2页
第2页 / 共36页
人事工资管理系统数据库的需求分析_第3页
第3页 / 共36页
人事工资管理系统数据库的需求分析_第4页
第4页 / 共36页
人事工资管理系统数据库的需求分析_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《人事工资管理系统数据库的需求分析》由会员分享,可在线阅读,更多相关《人事工资管理系统数据库的需求分析(36页珍藏版)》请在金锄头文库上搜索。

1、人事工资管理系统数据库的需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库的结构能充分满足各种信息的输出和输入。需求分析阶段主要是收集基本数据,确定数据结构及数据处理的流程,组成一份详尽的数据字典,以便为后面的概念设计和逻辑设计打下基础。 人事工资管理系统数据库的逻辑结构设计逻辑结构设计的任务是把概念结构设计阶段设计好的 E-R 图转换为特定的 DBMS 所支持的数据模型(即层次、网状、关系模型之一 ),并对其进行优化,得到满足用户要求和系统功能需求的关系模式。1、 E-R 模型转换为关系模式将 E-R 模型转换成初始关系模式的一般规则是:系统中各个实体转换为对应

2、的关系模式;实体之间多对多的联系也转换为关系模式。根据转换规则,可以将部门信息表、员工信息表、工资信息表、考勤信息表、奖罚信息表五个实体转换成与之对应的五个关系模式;而将部门信息表与员工信息表两者之间一对多的关系以及员工、工资和考勤信息表三者之间一对一的关系也转换为关系模式。2、关系模式的设计根据上述的转换结果,在对关系模式中数据进行规范化处理后,得到了符合第三范式的关系模式如下:部门表(Department): DepartmentID、DepartmentName、Renshu、Fuzeren、Phone员工表(Employee): EmployeeID、DepartmentID、Empl

3、oyeeName、Sex、Chusheng、Minzu、Zzmm、Hunfou、Address、Ruzhishijian、Xueli、Zhicheng、Phone、ID、Jianli、Beizu奖罚表(JiangFa): EmployeeID、EmployeeName、mingcheng、leixing、Riqi工资表(Salarys): EmployeeID、EmployeeName、BasicSalary、Gangweigongzi、Qitajia、Qitakou、Butie、Jiangjin、Gongjijin、Shifagongzi、Yingdegongzi、Riqi考勤表(TimeS

4、heet): EmployeeID、DepartmentID、EmployeeName、Jiaban、Qingjia、Kuanggong、Riqi 每个关系模式中带下划线的字段表示主键、带双波浪线的字段表示与之关联的表的外键。其中 Salarys 与 TimeSheet 表有日期限制,所以同时把 Riqi 作为主键。根据系统功能需求,数据采用 SQL Server 2005 所支持的实际数据模型,也就是数据库的逻辑结构。启动 SQL Server 2005,创建一个数据库命名为:Salary。该数据库中各个数据表的结构如下面各个表格所示。每个表格对应于数据库中的一个表。3、将关系模式转换为数据

5、库中的表按照关系数据模型的结构,将关系模式转换为关系数据库中的数据表,转换的规则是:一个关系模式转换为一个数据表,关系模式中的每个属性转换为数据表中的一个列。同时设置表中各个列的名称、数据类型、数据宽度以及数据规则,得到如下几个表:部门表(Department)列名 类型 宽度 备注DepartmentID Char 5 部门编号、主键、非空DepartmentName Nvarchar 20 部门名称、非空Renshu Int 部门人数、取自员工表中添加到相应部门的人数Fuzeren Nvarchar 10 部门负责人Phone Char 11 联系电话注:(1)该表存放所有部门的信息。员工

6、表(Employee)列名 类型 宽度 备注EmployeeID Char 5 员工编号、主键、非空DepartmentID Char 5 部门编号、联系部门与员工表的外键、非空EmployeeName Nvarchar 10 员工姓名、非空Sex Nvarchar 2 性别Chusheng Char 15 出生日期Minzu Nvarchar 10 民族Zzmm Nvarchar 5 政治面貌Hunfou Nvarchar 2 婚否Address Nvarchar 50 家庭住址Ruzhishijian Char 15 入职时间Xuel Nvarchar 50 学历Zhicheng Nvar

7、char 20 职称Phone Char 11 联系电话ID Char 18 身份证号Jianli Nvarchar 50 简历Beizhu Nvarchar 50 备注注:该表存放员工的所有信息。奖罚表(JiangFa)列名 类型 宽度 备注EmployeeID Char 5 员工编号、主键、非空EmployeeName Nvarchar 10 员工姓名、非空mingcheng Nvarchar 10 奖罚名称leixing Nvarchar 10 奖罚类型Riqi Char 15 奖罚日期注:该表存放员工的奖罚信息。工资表(Salarys)列名 类型 宽度 备注EmployeeID Cha

8、r 5 员工编号、主键、非空EmployeeName Nvarchar 10 员工姓名、非空BasicSalary Money 基本工资Gangweigongzi Money 岗位工资Qitajia Money 其它加Qitakou Money 其它扣Butie Money 补贴Jiangjin Money 奖金Gongjijin Money 公积金Shifagongzi Money 实发工资Yingdegongzi Money 应得工资Riqi Char 15 工资发放日期、主键、非空注:该表存放员工工资的所有信息。考勤表(TimeSheet)列名 类型 宽度 备注EmployeeID Ch

9、ar 5 员工编号、主键、非空DepartmentID Char 5 部门编号、非空EmployeeName Nvarchar 10 员工姓名Jiaban Char 5 加班天数Qingjia Char 5 请假天数Kuanggong Char 5 旷工Riqi Char 15 日期、主键、非空注:该表存放员工每月考勤信息。五、物理设计数据库的物理设计目标是在选定的 DBMS 上建立起逻辑设计结构确立的数据库结构,这一过程也称为数据库的物理实现。它主要包括两项工作:一是根据数据库的结构、系统的大小、系统需要完成的功能及对系统的性能要求,决定选用哪个数据库管理系统。目前,数据库产品市场上比较好的

10、产品有:Microsoft SQL Server、Oracle、IBM DB/2,SYBASE 等。二是根据选用的数据库管理系统的数据库实现方法来建立用户数据库,即创建所需要的数据库、表及其他数据库对象。 本系统选用的 DBMS 是 SQL Server 2005,并在该系统上创建用户数据库 Salary 以及下属的 5 个用户表:Department、Employee、JiangFa、Salarys、TimeSheet 各个表的结构按 2.4 节第 3 点各表给出的具体内容设定。第二章 数据库的数据完整性设计一、数据完整性的基本概念及内容正确创建数据库后,需要考虑数据的完整性、数据的安全性等

11、要求。数据的完整性主要指数据的正确性、有效性、相容性,强制实施数据完整性可以确保数据库中的数据的质量。进行数据完整性设计主要考虑以下几个方面的内容:1)表名惟一;由系统强制实施控制。2)列名惟一;()由系统强制实施控制。3)数据行惟一;通过设置主键约束或触发器来实施控制。4)列值非空;通过设置非空约束来实施控制。5)列值惟一性通过设置惟一约束或惟一索引来实施控制。6)列值满足一定的条件通过设置检查约束或触发器来实施控制。7)数据的一致性和有效性通过设置外键约束或触发器来实施控制。至于具体要对数据库的哪一个表的哪一项数据进行什么样的数据完整性设计,还应根据用户的需求来考虑和确定。二、 数据完整性

12、的分类与实现方法在 SQL Server 关系数据库中,数据完整性分为以下三类:1. 域完整性域完整性是指一个列的输入有效性,是否允许空值。实现域完整性的方法主要有:限制数据类型(通过设定列的数据类型)、限定格式(通过 CHECK 约束和规则)或可能值的范围(通过 FOREIGN KEY 约束、 CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)以及程序控制。2. 实体完整性实体完整性是指保证表中所有的行唯一。实现实体完整性的方法主要有:索引、UNIQUE 约束、PRIMARY KEY 约束或 IDENTITY 属性以及程序控制。3. 参照完整性参照完整性也叫引用完整性。参

13、照完整性确保主键(被引用表)和外键(引用表)之间的参照关系。它涉及两个或两个以上表数据的一致性维护。如 student 表(称为引用表、参照表或子表)的 class_id 列就是参照 class 表(称为被引用表、被参照表或父表)的外键。参照完整性可以实现以下两种控制:(1)存在外键时,被参照表中的这一行不能被删除,主键值也不能改变 (以 student和 class 表的“班级名称”列为例说明 )。(2)若在被参照表中不存在包含相应主键的行时,一个外键值不能插入参照表中(以student 和 class 表的“班级名称 ”列为例说明)。实现参照完整性的方法主要有 FOREIGN KEY 约束

14、和程序控制。三、 数据完整性实施方法数据完整性实施方法主要有声明型数据完整性和过程型数据完整性两种。1. 声明型数据完整性声明型数据完整性一般在对象创建时定义,由 DBMS 强制实施,通常使用约束、缺省值和规则来实现。声明型数据完整性作为数据库对象说明的一部分在语法中实现,在 CREATE TABLE 和ALTER TABLE 定义中使用 CONSTRAINT、DEFAULT 等语句限制表中的值,也可以通过界面操作(如使用 SQL Server 的企业管理器 )的方法来实施这一类数据完整性。使用这种方法实现数据完整性简单且不易出错,系统直接将实现数据完整性的要求定义在表和列上。执行时优先于过程

15、型数据完整性方法。2. 过程型数据完整性过程型数据完整性是指由某个过程或某种触发条件引发而实施的数据完整性。一般先写出实施数据完整性的条件,再写出强制该条件所执行的用于保证数据完整性的脚本。通常由触发器和存储过程实现。这种方法通常具有较好的灵活性,可实现较为复杂的数据完整性控制。从简单易行的角度来看,实现基本数据完整性的首选方法是使用声明型数据完整性。四 案例分析:教学管理系统的数据完整性设计与实现(一)各个用户表的数据完整性设计与实现1、学生表(student)2、教师表(teacher)3、班级表(class)列名 完整性类型 实施方法 实施方式 内容系部名称 参照、域 声明及过程 非空、

16、外键约束及编 外键内容取自 department列名 完整性类型 实施方法 实施方式 内容班级名称 参照、域 声明及过程 非空、外键约束及编程 外键内容取自 class 表的班级名称学号 实体、域 声明 主键、检查约束 长度为 10 个字符姓名 域 声明 非空、唯一约束性别 域 声明及过程 非空、检查约束、编程 只能取“男”或“女”民族 域 声明及过程 检查约束、编程 假定只能取以下之一:汉、壮、白、回、苗、满、其它政治面貌 域 声明及过程 检查约束、编程 只能取以下之一:党员、团员、群众学生类别 域 声明及过程 检查约束、编程 假定只能取以下之一:本科、大专(普) 、中专、技校、函授、其它列名 完整性类型 实施方法 实施方式 内容所在系 参照、域 声明及过程 非空、外键约束及编程 外键内容取自 department 表的系部名称教师号 实体、域 声明 非空、唯一约束、检查约束长度为 10 个字符姓名 域 声明 主键、性别 域 声明及过程 非空、检查约束、编程 只能取“男”或“女”民族 域 声

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号