1.4 数据库分析与设计

1.4 数据库分析与设计

1.4.1 数据库分析

在开发企业日常事务管理系统时,考虑到中小型企业的需求,项目开发成本以及维护成本。本系统将采用MySQL5.0作为后台数据库,数据库名为db_Affairmanage。数据库中一共包含4张表,用来储存不同的信息,详细信息如图1-13所示

1.4.2 数据库概念设计

本系统一共设计规划出4个实体,分别是员工信息实体消息信息实体消息回复实体以及消息批复实体.
只有企业内部员工才能使用该系统,因此需要在数据库中建立一个员工信息表,用来储存员工的相关信息。员工信息实体ER图如图1-14所示。

公司每个员工都可以发表消息,这时就需要有一个表来储存这些消息信息。消息信息实体ER图如图1-15所示。

公司每个员工可以对已经发布的消息进行回复,这时就需要一个表来储存这些消息回复消息回复实体E-R图如图1-16所示。

公司的管理层领导可以对已经发布的消息进行批复,这时就需要一个表来储存这些消息批复。消息批复实体ER图如图1-17所示。

1.4.3 数据库逻辑结构设计

根据设计好的各实体E-R图创建数据库的逻辑结构,数据库各表的结构如下。

员工信息表

(1)员工信息表用来储存员工的基本信息,如员工编号、员工姓名、员工性别、出生日期以及办公室电话等信息,该表的逻辑结构如表1-1所示。

字段名 数据类型 是否主键 描述
employeeID 整数(int) 员工编号
employeeName 文本(varchar) 员工姓名
employeeSex 位(bit) 员工性别
employeeBirth 日期(date) 出生日期
employeePhone 文本(varchar) 办公室电话
employeePlace 文本(varchar) 住址
joinTime 日期date) 录入时间
password 文本(varchar) 系统口令
isLead 位(bit) 是否为管理层领导

消息信息表

(2)消息信息表用来储存发布消息的信息,如消息ID、消息标题、消息内容、发布人以及发布时间,该表的逻辑结构如表1-2所示

字段名 数据类型 是否主键 描述
messageID 整数(int) 是(自动递增) 消息ID
messageTitle 文本(varchar) 消息标题
messageContent 文本(Text) 消息内容
employeeID 整数(int) 否(外键) 发布人
publishTime 日期时间(datetime) 发布时间

消息回复表

(3)消息回复表用来储存消息的回复信息,如消息回复ID、回复内容、回复人、回复时间以及消息ID,该表的逻辑结构如表1-3所示

字段名 数据类型 是否主键 描述
replyID 整数(int) 是(自动递增) 消息回复ID
replyContent 文本(Text 回复内容
employeeID 整数(int) 否(外键) 回复人
replyTime 日期时间(datetime) 回复时间
messageID 整数(int) 否(外键) 消息ID

消息批复表

(4)消息批复表用来储存消息的批复信息,如消息批复⑩D、批复内容、批复人、批复时间以及消息ID,该表的逻辑结构如表1-4所示。

字段名 数据类型 是否主键 描述
criticismID 整数(int) 是(自动递增) 消息批复ID
criticismContent 文本(Tex) 批复内容
employeeID 整数(int) 否(外键) 批复人
criticismTime 日期时间(datetime) 批复时间
messageID 整数(int) 否(外键) 消息ID

1.4.4 绘制表之间关系ER图

根据各表关系绘制关系ER图如图1-18所示。