【发布时间】:2019-01-18 12:23:47
【问题描述】:
我正在开发一个 CRM 应用程序,用于存储与我们合作的公司的一些数据。例如:CEO 姓名和其总部的实际地址。我经常需要查找位于特定城市的公司,然后按街道名称对搜索结果进行排序。
我知道正确的解决方案很可能是整数类型的地址列,它将指向地址表,地址表本身将包含其他列,如 state、city、street、housing_number、office_number 所有这些都将它本身可以是指向相关表(城市、州、街道)的整数,也可以是最终的数据(房屋编号、办公室编号)。
问题不仅在于我更喜欢使用一两个链接表之类的东西,而不是在 3、4(就像我之前设想的设计)甚至更多表中使用困难的 JOIN,而是而且我真的不明白不做这样的事情的意义:
| id | name | ceo_name | city | street | house | office |
|-----|-----------------|-------------|-------------|------------------|--------|--------|
| 1 | Company Name 1 | CEO Name 1 | New-York | 5th Ave | 22 | 12 |
| 2 | Company Name 2 | CEO Name 2 | New-York | 44th St. | 42 | 88 |
| 3 | Company Name 3 | CEO Name 3 | Boston | Irish Lane | 2 | 14 |
| 4 | Company Name 4 | CEO Name 4 | Washington | Tahoe boulevard | 54 | 19 |
如果我实施这样的解决方案,我会遇到什么问题?我有所有的原子,所以如果需要增加,我可以稍后再实施 3-NF 解决方案。
【问题讨论】:
标签: sql database-design street-address