2.4 设计数据库

接下来开始为我们的企业信息管理系统进行数据库的设计。首先需要根据业务系统的需求,来分析数据库实体,然后设计E-R表关系图,最后形成数据表格。

2.4.1 数据库需求分析

实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语及由“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。

根据本课中的需求功能可知,用户登录和用户注册时均包含用户信息,因此我们需要抽象出一个用户实体。

在用户登录界面中,包括用户名、密码字段;在用户注册页面中,包括用户名、密码和E-mail地址字段。因此抽象出来的用户实体应该包含用户名、密码和E-mail地址3个字段。

根据前面的需求分析可知,除了用户信息以外,其他的6个功能模块分别提供的数据项如下。

● 通讯录管理的输入数据项:包括姓名、性别、手机、E-mail、QQ、工作单位、地址、邮政编码。

● 短消息管理的输入数据项:包括接收者、发送者、消息内容、发送时间、是否阅读。

● 日程安排的输入数据项:包括用户名、年份、月份、日期、安排内容。

● 工作记录的输入数据项:包括用户名、年份、月份、日期、日志标题、日志内容、记录时间。

● 公司公告的输入数据项:包括公告填写人、公告标题、公告内容、公告时间。

● 工作会议的输入数据项:包括会议填写人、会议开始时间、会议结束时间、会议地点、会议标题、会议内容。

2.4.2 设计数据表E-R图

根据以上的数据项分析,我们使用Visio设计出E-R关系图,如图2-8所示。

图2-8 E-R关系图

其中的用户实体通过用户名与其他的各个实体关联。

● 通讯录管理:用户名。

● 短消息管理:接收者、发送者。

● 日程安排:用户名。

● 工作日志:用户名。

● 公司公告:用户名。

● 工作会议:用户名。

2.4.3 设计数据表结构

根据以上的实体分析和E-R图,现在我们来设计数据表的结构。

1)用户表user

设计用户表user,包含4个字段,如表2-1所示。

表2-1 用户表user

2)通讯录管理表schedule

通讯录中需要保存的信息有姓名、性别、手机、E-mail地址、QQ号码、公司、家庭住址、邮编。设计通讯录管理表address,包含10个字段,如表2-2所示。

表2-2 通讯录管理表address

3)短消息管理表sms

短消息管理表中需要保存的信息有接收者、发送者、消息内容、发送时间、是否阅读。设计短消息管理表sms,包含6个字段,如表2-3所示。

表2-3 短消息管理表sms

4)日程安排表schedule

日程安排表中需要保存的信息有用户名、年份、月份、日期、安排内容。设计日程安排表schedule,包含6个字段,如表2-4所示。

表2-4 日程安排表schedule

5)工作日志表worklog

工作日志表中需要保存的信息有用户名、年份、月份、日期、日志标题、日志内容、记录时间。设计工作日志表worklog,包含8个字段,如表2-5所示。

表2-5 工作日志表worklog

6)公司公告管理表notice

公司公告管理表中需要保存的信息有公告填写人、公告标题、公告内容、公告时间。设计公告管理表notice,包含5个字段,如表2-6所示。

表2-6 公司公告表notice

7)工作会议表meeting

工作会议管理表中需要保存的信息有会议填写人、会议开始时间、会议结束时间、会议地点、会议标题、会议内容。设计会议管理表meeting,包含7个字段,如表2-7所示。

表2-7 工作会议表meeting