database - 数据库中一对一和一对多关系的区别

标签 database database-design

当数据库中存在一对一关系时,另一个表具有外键 ID(在本例中)。在一对多关系中,表包含许多外键。

但是数据库知道这是一对一还是一对多关系吗?我在 ER 图中建立的关系是否只是为了指示在制作实际表格时哪里应该有外键?

数据库中一对一和一对多关系有什么区别?

最佳答案

从某种意义上说,我们谈论的所有关系都不为数据库所知,它们是我们为了更好地理解如何设计表而发明的结构。

一对一和一对多在表结构方面的最大区别在于,在一对一中,可能(但不是必须)具有双向关系,这意味着表 A 可以具有一个外键进入表 B,而表 B 可以有一个外键进入表 A 中的关联记录。这在一对多关系中是不可能的。

一对一关系将一个表中的一条记录与另一个表中的一条记录相关联。一对多关系将一个表中的一条记录与另一个表中的许多记录相关联。

关于database - 数据库中一对一和一对多关系的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4751923/

相关文章:

mysql - 如何在 MySQL 中删除带有循环外键的表

php - 无法获取 URL 中的用户名

mysql - 数据库架构 : User Team administration

sql - 设计问题 - 在列、行或其他位置放置数百个是/否开关?

mysql - 在 ER 图中表示登录

sql-server - 多级数据库外键

database - Cassandra - 对于给定的 ColumnFamily,每个节点恰好一行宽?

mysql - 单独的姓氏和名字表

mysql - 如果记录尚不存在,则插入记录的有效方法是,如果存在则获取 ID 并将其用作外键?

mysql - 如何知道我在 MySQL 中的时区