数据库设计
数据库设计第一步:标识实体
•在需求分析阶段,需要知道要在数据库中存储哪些信息。
•即标识实体:找出该系统要将哪些事物的信息存储到数 据库中。
•数据库中的数据对象,称为实体。
–实体是客观存在并可相互区分的事物,可以是人、物 等实际对象,也可以是某些概念;可以是事物本身, 也可以是事物间的联系。
•实体有一个或多个属性。 –属性指实体具有的特性。
•实体间存在一定的关系。
数据库设计第二步:绘制E-R图 •E‐R图(Entity Relationship Diagram),中文称为 “实体‐关系图”,提供了表示实体、属性和关 系的图形符号。
数据库设计第三步:E-R模型转换为数据表
•将E‐R模型转换为数据表的基本原则:
1.将各实体转换为对应的表,将各属性转换为各表对应 的列。
2.标识每个表的主键列,需要注意的是:没有主键的表 要添加ID编号列,它没有实际含义,用于做主键。 例如:通知数据表中除了标题、内容外,还应加一个ID 主键列,用以区分每条记录。
3.如果实体之间有某种关系,还要在表中添加外键。
如何将E-R图中的关系转换为数据表
•如果实体A和实体B之间存在一对一的关系,将E‐R 图转换为数据表有以下三种方法:
1.把A实体的主关键字加入到B实体转换后的数据表 中作为外键,如果关系有属性也一并加入。
2.把B实体的主关键字加入到A实体转换后的数据表 中作为外键,如果关系有属性也一并加入。
3.直接将关系转换为数据表,表中包含两个实体的主 关键字,如果关系有属性也一并加入。
注意,这个表可以是A表, 也可以使B表,也可以是单 独一张表
一对多的关系转换为数据表
•如果实体A和实体B之间是一对多的关系,关系转换 方法为: –可将“一方”实体的主关键字纳入“n方”实体转 换后的数据表中作为“外部关键字”,同时把关 系的属性也一并其中。
多对多的关系转换为数据表
•如果实体A和实体B之间是多对多的关系,必须按 以下原则转换化数据表: 1.必须对“关系”单独建立一个数据表。 2.该数据表的属性中至少要包括实体A和实体B的主关键字 作为外键,并且如果关系有属性,也要归入这个关系中。