在使用表关系时。实线和虚线的使用有什么区别?
例如
表:消息/ 表:用户
用户有0个或多个消息。
实线还是虚线?
答案 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,而不必在花表中存在。