概念设计的目的就是为了建立概念数据模型,概念数据模型也称为高级数据模型,之所以称为高级数据模型是因为它更接近于人的思维,而不是机器的思维,相比于关系模型更容易理解,此处的高级和低级的概念,与程序语言领域的高低级是一样的。我们通常称Java语言为高级语言,汇编语言为低级语言,是因为高级语言对于我们而言要比汇编语言更容易理解。
关于概念数据模型,我们一般都会采用E-R图进行描述。E-R图的规则如下:
1.实体采用矩形框,联系采用菱形框,属性采用椭圆形框。
2.实体、联系、属性必须使用文字描述,文字写在框内,实体和属性使用名词,联系使用动词或者动宾短语,例如:发送消息。
3.实体的主键属性的文字描述需要加下划线。
4.实体联系的数量关系需要标在实体与联系之间的线段上。
4.键约束。唯一标识实体大家都知道是用主键,那么如何唯一表示联系呢?答案是用键约束,键约束是如何确认的呢?它分为3种情况:
(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时,联系无需转化成表,把1方主键移入到n方做外键。
C. 联系的数量关系为m:n时,联系需要转化成表,m和n方主键共同作为联系表的主键。
通过上述方法进行逻辑设计,从E-R图转化而成的关系模型,可以至少达到3NF范式。
tag:更为复杂的数据库概念设计与逻辑设计案例详见,https://blog.csdn.net/weixin_45138601/article/details/116738450?spm=1001.2014.3001.5502。
https://blog.csdn.net/weixin_45138601/article/details/118293849?spm=1001.2014.3001.5501。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184143.html原文链接:https://javaforall.cn