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所示。