实线和虚线之间的差异

时间:2015-08-24 14:38:45

标签: mysql mysql-workbench entity-relationship

在使用表关系时。实线和虚线的使用有什么区别?

例如

表:消息/ 表:用户

用户有0个或多个消息。

实线还是虚线?

1 个答案:

答案 0 :(得分:1)

如评论中所述,虚线表示不确定的关系。

实体线=>识别关系

mySQL文档中的定义:标识关系是指如果没有其父表就无法唯一标识子表的关系。通常这 发生在创建中间表来解决 多对多关系。在这种情况下,主键通常是 由两个原始主键组成的复合键 表。

示例: 我们有一个使用此模型注册员工到达时间的应用程序:

user { id_user, name, department, job } 
arrival_log { id_user, arrival_time, department }

每行到达都需要指定user_id。没有user_id,我们将不知道谁到达了办公室。实体到达日志很薄弱,因为它依赖于其他实体的存在(用户)来工作。

虚线=>不可识别的关系。

定义:一种不可识别的关系是可以独立于父项识别孩子的关系。

示例:

flower( flower_id, flower_latin_name, flower_type_id )
flower_type( flower_type_id, name, description )

flower和flower_type之间的关系是不确定的,因为可以识别每个flower_type,而不必在花表中存在。