图错误!文档中没有指定样式的文字。–9 系统总E-R图
3.4.2 数据库逻辑设计
表格3-1到表格3-10是根据系统的需求分析而得出的这次项目中系统数据库需要建立的用来存储与之相对应的数据信息的表。分别是:员工信息表;考勤表;项目表;薪资奖惩表;消息通知表;绩效考勤表;员工账号表;管理员账号表;员工培训班;部门表。
员工信息表里的字段代表了员工的基本属性,姓名、性别、地址、手机号码等等,如表3-1所示。
表3-1 员工基本信息表
编号 1 2 3 4 5 6 7 8 9 10 11 12 ID 字段名 Username Sex Address Birthday PhoneNumber QQ Email LevelEdu IdCard Branch Position 类型 int 长 度 11
索引 主键 名字 性别 描述 员工编号 nvarchar 20 nvarchar 10 nvarchar 50 nvarchar 50 varchar varchar varchar varchar 30 50 50 50 家庭住址 生日 手机号 QQ号 电子邮箱 学历 身份证号 部门 职位 nvarchar 20 nvarchar 20 nvarchar 50 13 Contract nvarchar 50 合同类型 员工考勤表包含了迟到一次、早退一次、迟到时间、早退时间、员工编号等字段,如表3-2所示。
表3-2 员工考勤表
编号 1 2 3 4 5 6 字段名 Belate LeavrEarly An ID BelateTime LeaveEarlytime 类型 int int int int datetime datetime 长度 索 引 主键 描述 迟到一次 早退一次 考勤记录编号 员工表外键 员工编号 迟到时间记录 早退时间记录 项目表的字段有项目名称、项目描述、项目开始时间、项目结束时间、员工编号、项目编号等,如表3-3所示。
表3-3 项目表
编号 1 2 3 4 5 6 字段名 ItemName ItemStart ItemEnd ID ItemNb 类型 nvarchar 20 datetime datetime int int 长度 索引 描述 项目名称 项目情况描述 项目开始时间 项目结束时间 ItemDescribe text 员工表外键 负责执行员工编号 PK(主键) 项目编号 员工奖惩表主要包含员工编号、奖励原因、奖金金额、惩罚原因、惩罚金额等等字段,如表3-4所示。
表3-4 员工奖惩表
编号 1 2 3 4 5 6 7 ID 字段名 AwardFOr Award AwardTime PunishFOr Punish PunishTime 类型 int varchar 50 长度 12
索 引 描述 奖励原因 奖励金额 奖励时间 惩罚原因 惩罚 惩罚时间 员工表外键 员工编号 nvarchar 100 datetime nvarchar 100 varchar varchar 50 50 8 Pn int 主键(PK) 薪资变动操作编号 消息通知表包含通知编号、通知标题、内容、通知时间、通知人员姓名、要通知的员工等,如表3-5所示。
表3-5 消息通知表
编号 1 2 3 4 5 6 字段名 Tips Title Contents Time Name ID 类型 int text 长度 索 引 描述 主键(PK) 通知编号 通知的标题 内容 通知的时间 颁布通知人员姓名 nvarchar 50 datetime nvarchar 50 int 50 员工表外键 要通知的员工 绩效考评表包含考评编号、考评的四项标准、总分、考评人员姓名、考评日期等字段,如表3-6所示。
表3-6 绩效考评表
编号 1 2 3 4 5 6 7 8 9 10
Pn ID 字段名 类型 int int int int int int text int 长度 索 引 描述 主键 考评编号 员工表外键 员工编号 工作业绩得分 工作技能得分 工作素质得分 工作态度得分 考评人员意见 总分 考评人员姓名 考评日期 SWorkerPerformance WorkerSkill WorkerQuality WorkerAttitude Opinion TotalScore Addperson AddDate nvarchar 20 datetime 员工账号表只有员工编号、员工密码两个字段,如表3-7所示。
表3-7 员工账号表
编号 1 2
ID 字段名 Password 类型 int 长度 索 引 密码 描述 (PK,FK) 员工编号同时也是员工账号 varchar 50 管理员账号表有管理员账号和管理员账号密码两个字段,如表3-8所示。
13
表3-8 管理员账号表
编号 1 2
字段名 UserName PassWord 类型 nvarchar 长度 20 索 引 PK 描述 管理员账号 管理员账号密码 varchar 50 员工培训表的字段有培训类型、培训开始时间、培训结束时间、培训编号、员工编号、培训介绍和描述等,如表3-9所示。
表3-9 员工培训表
编号 1 2 3 4 5 6
字段名 TrainStyle StartTime EndTime Tn ID TrainDescribe 类型 长度 索 引 主键(PK) 描述 培训类型 培训开始时间 培训结束时间 培训编号 nvarchar 20 datetime datetime int int text 员工表外键 员工编号 培训介绍和描述 部门表的字段有部门名称和四个职位等五个字段,如表3-10所示。
表3-10部门表
编号 1 2 3 4 5 字段名 BranchName Position1 Position2 Position3 Position4 类型 nvarchar 20 nvarchar 20 nvarchar 20 nvarchar 20 nvarchar 20 长度 索引 主键(Pk) 描述 部门名称 第一个职位 第二个职位 第三个职位 第四个职位 3.4.3 数据库关系
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。
由需求分析和数据库设计可以建立数据库关系。这次做的毕业设计中,虽然各个表的属性和字段较为简单,但是表之间的关系基本体现了一种想法和思路。员工信息表除了记录员工的基本信息外,表中的“ID”字段是员工考勤、项目管理、绩效考评、员工
14
奖惩、信息通知、员工账号、员工培训等七个表的外键,并且员工信息表和这几个表之间是级联的关系,即只有存在员工信息后才能进行项目、培训、考勤等操作。管理员账号表和部门表和其他表直接并没有直接的关系。比如说部门表,部门表和员工表的联系体现在录入信息时的对每个员工部门和职位选择上,职位和部门作为属性出现在了员工信息表中。
由以上分析建立数据库关系,在SQL2008 Management studio视图界面可以生成数据库关系图如同3-8所示。中间的表代表员工信息表,如图示的连线代表员工表和其他表的关系,这里全是级联的主外键关系,右边两个表分别是管理员账号和部门表。
图 错误!文档中没有指定样式的文字。–10 数据库表的关系图
15