数据库工资管理系统课程设计实验报告 联系客服

发布时间 : 星期日 文章数据库工资管理系统课程设计实验报告更新完毕开始阅读

五、逻辑结构设计和优化

5.1关系模型设计

关系模式:员工信息(员工编号、姓名、性别、出生年月、所属部门、

文化程度、职称)

模式判定:员工信息∈2NF,且每个非主属性都不传递函数依赖于员工信

息的主关系键,所以员工信息∈3NF

关系模式:部门信息(部门编号、部门名称、部门负责人、部门人数)

模式判定:部门信息∈2NF,且每个非主属性都不传递函数依赖于部门信

息的主关系键,所以部门信息∈3NF

关系模式:基本工资(工资级别、工资金额)

模式判定:基本工资∈2NF,且每个非主属性都不传递函数依赖于基本工

资的主关系键,所以基本工资∈3NF

关系模式:岗位工资(工资级别、工资金额)

模式判定:岗位工资∈2NF,且每个非主属性都不传递函数依赖于岗位工

资的主关系键,所以岗位工资∈3NF

关系模式:工资信息(员工编号、基本工资、岗位工资、水电费、津贴

工资、扣除工资、实发金额)

模式判定:工资信息∈2NF,且每个非主属性都不传递函数依赖于工资信

息的主关系键,所以工资信息∈3NF

关系模式:考勤信息(员工编号、姓名、性别、迟到次数、缺勤次数)

模式判定:考勤信息∈2NF,且每个非主属性都不传递函数依赖于考勤信

息的主关系键,所以考勤信息∈3NF

关系模式:津贴信息(员工编号、姓名、性别、加班时间、加班天数、

加班类型、津贴情况)

模式判定:津贴信息∈2NF,且每个非主属性都不传递函数依赖于津贴信

息的主关系键,所以津贴信息∈3NF

- 12 -

5.2数据库表结构设计

表5.1员工信息表 char (4) 主键,不允许重复 varchar (8) char (2) datetime varchar (20) 外键 varchar (20) char (12) 表5.2部门信息表 char (4) 主键,不允许重复 varchar (20) varchar (20) int 表5.3基本工资表 char (2) 主键,不允许重复 int 表5.4岗位工资表 char (2) 主键,不允许重复 int 表5.5工资信息表 char (4) 主键,不允许重复; 外键 int int float int int int 加班工资 迟到、缺席扣薪 员工编号 姓名 性别 出生年月 所属部门 文化程度 职称 部门编号 部门名称 部门负责人 部门人数 工资级别 工资金额 工资级别 工资金额 员工编号 基本工资 岗位工资 水电费 津贴工资 扣除薪酬 实发金额 员工编号 姓名 性别 迟到次数 缺席次数 员工编号 姓名 性别 加班时间

表5.6考勤信息表 char (4) 主键不允许重复 varChar(8) Char(2) int int 表5.7津贴信息表 char (4) 主键不允许重复 varChar(8) Char(2) Varchar(10) - 13 -

加班天数 加班类型 津贴情况 float varChar(8) int

六、物理设计与实施

6.1 数据库的物理设计

数据库物理设计的主要任务是确定数据库物理结构,即确定数据库的存储

结构设计和存取方法。包括确定关系、索引、聚簇、日志、备份等的存储安排 和存储结构,确定系统配置等。

6.1.1存储结构设计

为了提高系统的性能,根据应用情况将数据的易变部分与稳定部分、经常

存取部分与不经常存取部分分开存放。

由于现在的计算机都有多个磁盘,将表(如员工信息表)和索引放在不同 的磁盘上,在查询过程中,大大提高I/O读写的效率,而对于较大的分放在两 个磁盘上,可以加快存取速度,在多用户环境下的作用更有效;为了改进系统 的性能,将日志文件与数据库对象(表、索引等)放在了不同的盘上。同时, 考虑到本系统是多用户的,为了提高效率,数据库备份的数据和日志文件将保 存在磁盘中。

在数据库中经常存取的部分包括:

员工(员工编号、姓名、性别、出生年月、所属部门.....) 部门(部门编号、部门名称、部门负责人、部门人数.....) 工资(员工编号、基本工资、岗位工资、水电费.....) 考勤(员工编号、姓名、性别、迟到次数、缺勤次数) 不经常存取部分包括:

基本工资(工资级别、工资金额) 岗位工资(工资级别、工资金额)

在数据库设计初始阶段,为了对以后的数据库进行物理优化,提供了一些 系统配置变量、存储分配系数,并对这些变量赋予合理的缺省值。但这些值不

- 14 -

一定适合每一种应用环境,在进行物理设计时,对这些变量重新赋值,以改善 系统的性能。在选择硬件设备、服务器操作系统、数据库时应该考虑能够逐步 增加和扩展。

在配置系统变量时,要注意同时使用数据库的用户数,同时打开的数据库 对象数,内存分配参数,缓冲区分配参数,时间片大小,数据库的大小,锁的 数目等。这些参数值都会影响数据库的存储时间和存储空间的分配。

6.1.2存储方法设计

在本系统中,采用顺序查找,平均查找n/2次,建立B+树索引,则平均 查找次数为B+树的层数log2 n+1。所以选择B+树作为索引,再设计过程中对 关系的码建立索引。

6.2 数据库的实施

6.2.1 数据库的建立

create database gongzi on

(name=gongzi_data,

filename='d:\\gongzidata.mdf', size=10, maxsize=50, filegrowth=5) log on

(name=gongzi_log,

filename='d:\\gongzidata.ldf', size=5, maxsize=25, filegrowth=5 )

6.2.2 表对象的建立

(1)员工信息表:

create table 员工信息

(员工编号char(4)primary key, 姓名varchar(8), 性别char(2), 出生年月datetime, 所属部门varchar(20),

- 15 -