哪个数据库模式更可取?

时间:2017-09-25 03:24:14

标签: mysql database database-schema

想问一下你对这些数据库模式的看法。 您认为哪个更优选,请告诉我原因?

选项1:

  

表名:居民

     

id |名字| street_id

     

1 |彼得| 1

     

1 |约翰| 1

     

表名:Streets

     

id |名称

     

1 | Rock St。

     

2 | Green St。

选项2:

  

表名:居民

     

id |名字|街

     

1 |彼得| Rock St。

     

1 |约翰| Rock St。

1 个答案:

答案 0 :(得分:0)

这取决于。 (这总是取决于!: - )

选项1的优势在于,如果您需要更改“Rock St.”的名称到“Rock Rd。”那么你只需要更改Streets表中的一行。如果您需要在选项2中更改街道的名称,则可能需要更改许多行。

选项2的优势在于您无需执行JOIN查询即可获取道路名称以及居民姓名。通常,通过其主键执行JOIN查找街道并不是一个很大的成本,但是一些应用程序对性能优化有如此高的要求,以至于他们试图消除连接。但老实说,没有多少应用程序如此敏感,以至于他们不能偶尔做JOIN