mysql - 这些数据库模式中哪一个更可取?

标签 mysql database database-schema

只是想询问您对这些数据库模式的看法。 您认为哪个更可取,请告诉我原因?

选项 1:

Table Name: Residents

id | name | street_id

1 | Peter | 1

1 | John | 1

Table Name: Streets

id | name

1 | Rock St.

2 | Green St.

选项 2:

Table Name: Residents

id | name | street

1 | Peter | Rock St.

1 | John | Rock St.

最佳答案

这要看情况。 (这总是取决于!:-)

选项 1 的优点是,如果您需要更改“Rock St.”的名称,到“摇滚路”。那么您只需更改 Streets 表中的一行。如果您需要更改选项 2 中的街道名称,则可能需要更改许多行。

选项 2 的优点是您不需要执行 JOIN 查询来获取道路名称和居民姓名。一般来说,执行 JOIN 通过主键查找街道的成本并不高,但某些应用程序对性能优化的要求非常高,以至于它们试图消除连接。但老实说,没有多少应用程序如此敏感以至于无法偶尔进行 JOIN 操作。

关于mysql - 这些数据库模式中哪一个更可取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46397156/

相关文章:

java - MySQL根据一年中的一个月获取所有记录

mysql 选择名称和总名称列数

mysql - Rails 3.2 - ActiveRecord `where` 查询与调用属性的方法

mysql - 对存储超过 255 个字符的文本列的数据库架构的建议

mysql - 使用数百个 bool 值处理 SQL 中的用户行

javascript - for循环中的node.js mysql查询

mysql - 基于多个计算值的 MySQL View

mysql - 如何在 MySQL 中使用关键字 IN OR 内部连接 ​​3 个表?

database-schema - 家谱关系映射为何基于家庭

mysql 在查询中获取空闲点