系统设计
第第 3 3 章系统设计章系统设计 3.1系统功能模块设计 图 3.1 系统总体功能图 该系统面向的用户分为两类 管理员和普通员工, 要登陆该系统只有凭借自己在该公司 的职工号和密码才能登陆,系统会自动查询该用户的访问权限,如果访问权限为“A”即是 管理员,具有所有权限;若权限为“B”,说明该用户是普通职工,其只能进行部门信息、 员工信息的查询和自己的密码重置操作。 该系统的核心功能包括(1)系统管理模块管理员可以通过该模块添加新的用户、 删除离职的用户,所有用户的登陆和密码重置,退出该系统。(2)信息管理模块包括部 门信息管理和员工信息管理。 部门信息比较简单, 主要是增加新设的部门、 删除已撤销部门 的信息;员工信息管理则较为复杂, 是本模块的核心内容,其主要包括员工基本信息、 薪资 信息、培训信息、奖罚信息的管理。管理员可以对各个子模块的信息数据进行必要的修改、 保存,删除等操作。(3)信息查询模块该模块所有用户均可以访问,主要是实现对部门 或者员工信息的查询, 用户既可以对某一板块的信息进行整体查询, 还可以根据特定条件对 某一个部门或员工信息进行快捷的特定查询。 3.2 数据库设计 数据库设计是指对于一个给定的环境, 设计优化的数据库逻辑模式和物理结构, 并据此 建立数据库及其应用系统, 使之有效地存储和管理数据, 满足各种用户的应用需求, 其包括 信息管理要求和数据操作要求。 其中前者是指在数据库中应该存储和管理那些对象; 后者 是指对数据库对象进行哪些操作,如查询、增加、删除、修改等操作。 (1) 概念结构的设计 概念结构设计 根据需求分析中将得到的用户需求抽象为信息结构 (即概念模型) 的过程。 (2)逻辑结构的设计 逻辑结构设计,就是把概念结构设计阶段设计好的基本 E-R 图转化为选用 DBMS 产品所支持的数据模型相符合的逻辑结构。ER 图向关系模型的转换如下部门(部门 编号,部门名称,人数)其中部门编号是主键,此为部门实体对应的关系模式。 员工(员 工编号,姓名,性别,年龄,政治面貌,学历,入职时间,所在部门,状态。。。)其中员 工编号是主键,此为员工实体对应的关系模式,该模式包含了联系 “从属”所对应的关系模 式。 培训记录 (培训编号, 培训内容, 费用, 天数, 培训员工姓名) 其中记录编号是主键、 此为培训信息表所对应的关系模式, 包含了联系 “培训” 所对应的关系模式。 奖罚信息 (奖 罚编号,姓名,原因,地点,时间,备注)奖罚编号为主键,此为奖罚信息表所对应的关系 模式,包含了联系 “奖罚” 所对应的关系模式。 薪资信息 (编号, 姓名,基本工资, 福利, 奖金,计量方法,实发工资)编号为主键,此为薪资信息表所对应的关系模式,包含了联系 “薪资”所对应的关系模式。 (3)数据库的创建 ①在创建数据表结构之前,首先要创建一个数据库,本系统使用的数据库被命名 为 EmployeeInationMS 创建语句如下 if exists select* from sysdatabaseswhere name EmployeeInationMS drop database EmployeeInationMS go Create DATABASE EmployeeInationMS ②数据库表的设计与创建本系统包括的表主要有部门信息表、员工基本信息 表、培训记录表、薪资信息表、奖罚信息表、用户信息表。 表 3.1 部门信息表 创建部门信息表,其代码如下 USE EmployeeInationMS go CREATE TABLE DepartmentInation D_Number INT IDENTITY1,1, D_Name VARCHAR 20 NOT NULL, D_Count VARCHAR 20 NOT NULL, 员工基本信息表用来企业内部员工的各项基本信息,其结构设计如下 表 3.2 员工基本信息表 创建员工信息表,其代码如下 USE EmployeeInationMS go CREATE TABLE EmployeeInation E_NumberINTIDENTITY1,1, E_NameVARCHAR30NOTNULL, E_SexVARCHAR2NOTNULL, E_BornDateVARCHAR30NOTNULL, E_MarriageVARCHAR4NOTNULL, E_PoliticsVisageVARCHAR20NOTNULL, E_SchoolAgeVARCHAR20NOTNULL, E_EnterDateVARCHAR30NOTNULL, E_InDueDateVARCHAR30NOTNULL, E_DepartmentVARCHAR20NOTNULL, E_HeadshipVARCHAR20NOTNULL, E_EstateVARCHAR10NOTNULL, E_RemarkVARCHAR500, 培训信息表保存公司所安排员工进行的各种培训信息,其结构设计如下 表 3.3 培训信息表 创建培训信息表,其代码语句如下 USE EmployeeInationMS go CREATE TABLE TrainInation T_Number int IDENTITY1,1, T_Content VARCHAR100 NOT NULL, T_Name VARCHAR20 NOT NULL, T_Date INT Not NULL, T_Money INT 薪资信息表用来保存员工的各项薪酬信息及其加总数据。其结构设计如下 表 3.4 薪资信息表 创建薪资信息表,其代码如下 USE EmployeeInationMS go CREATE TABLE WageInation W_Number INT IDENTITY1,1, W_Name VARCHAR30 NOT NULL, W_BasicWage INT NOT NULL, W_Boon INT NOT NULL, W_Bonus INT NOT NULL, W_Count VARCHAR50 NOT NULL, W_FactWage INT NOT NULL, 奖罚信息表又来保存企业内部员工所获得的奖励或接受惩罚的信息,结构设计如下 表 3.5 奖罚信息表 创建奖罚信息表,语言如下 USE EmployeeInationMS go CREATE TABLE EncouragementPunishInation EP_Number INT IDENTITY1,1, EP_Name VARCHAR30 NOT NULL, EP_Date VARCHAR30 NOT NULL, EP_Address VARCHAR50 NOT NULL, EP_Causation VA