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