一、概念设计概念设计的目的是建立概念数据模型。 概念数据模型也被称为高级数据模型。 之所以被称为高级数据模型,是因为它更接近人类的思维,而不是机器的思维。 这里的高级和低级概念与程序语言领域的高低级相同。 我们之所以把Java语言称为高级语言,汇编语言称为低级语言,是因为高级语言对我们来说比汇编语言更容易理解。
一般用E-R图描述概念数据模型。 E-R图的规则如下。
1 .实体采用矩形框,联系采用菱形框,属性采用椭圆形框。
2 .实体、联系、属性必须用文字描述。 文字写在框内。 实体和属性使用名词。 联系使用动词或动宾短语。 例如,发送消息。
3 .实体主键属性的说明需要下划线。
4 .实体联系的数量关系需要标记在实体和联系之间的线段上。
4 .关键约束。 我们知道使用主键来唯一地标识实体,但是如何唯一地表示联系呢? 答案是用键约束的,怎么确认键约束? 可分为三种情况
)1)联系为1:1时,密钥约束双方都存在。
)2)联系为1:n时,密钥制约存在于n侧。
)3)与m:n联系时,不存在键约束。
密钥约束在E-R图中表示如下。
也就是说,有钥匙制约的一方需要画箭头指向联系。
二、逻辑设计1 .所有实体都需要单独转换为表格。
2 .联系需要按情况讨论(此处只讨论二元联系) :
(1)联系有属性。
无论联系人数如何,都必须转换为表。 此外,联系相关实体的主键也必须移动到此联系人表中。 此表的主键确定有三种情况:
a .联系数为1:1时,将两个实体的主键中的任意一个作为联系表的主键。
b .如果联系数量关系为1:n,则n侧实体移动主键作为联系表的主键。
c .如果联系人数量为m:n,则两个实体主键共同是联系人表的主键。
)2)无属性联系。
a .如果联系人数量为1:1,则联系人不需要转换为表,而是将一个主键移动到另一个表中以创建外键。
b .联系数为1:n时,联系不需要转换成表,将一个主键向n方向移动做外键。
c .联系数为m:n时,联系需要转换为表,m和n端主键都是联系表的主键。
用上述方法进行逻辑设计,由E-R图转换的关系模型,至少可以达到3NF范式。
tag :有关更复杂的数据库概念设计和逻辑设计案例的详细信息,请参阅https://blog.csdn.net/weixin _ 45138601/article/details/116738450。 spm=1001.2014.3001.5502。
3359 blog.csdn.net/weixin _ 45138601/article/details/118293849? spm=1001.2014.3001.5501。