我有以下locations
表:在这种情况下反规格化是否可接受?
----------------------------------------------------------
| ID | zoneID | storeID | address | latitude | longitude |
----------------------------------------------------------
和phones
表:
-----------------------
| locationID | number |
-----------------------
现在,请记住,对于任何给商店也可以是最多五个电话号码,顶部。顺序无关紧要。
最近我们需要添加另一个表,其中将包含商店相关的信息,其中还包括电话号码。
现在,对于这个新表格不应用locationID,因此我们无法将电话存储在上一个电话表中。
保持数据库规范化最终需要2个新表和总共4个联接来检索数据。对其进行非规范化将使旧表如下:
----------------------------------------------------------------------------------
| ID | zoneID | storeID | address | latitude | longitude | phone1 | ... | phone5 |
----------------------------------------------------------------------------------
并且总共有2个表和2个连接。
我不喜欢data1
,data2
,data3
字段,因为它可能是一个巨大的痛苦。那么,你有什么看法。
+1强调数据库设计的一致性 – 2010-09-06 01:02:52
也许我必须坐下来重新考虑整个手机的情况。把所有的手机都放在一张桌子里,而不是两张或四张,最后好多了。而男人我讨厌所有'SELECT data1,data2 ....'让我觉得很肮脏。谢谢Pax。 – Ben 2010-09-06 01:09:45
如果我可以多次投票... – 2010-09-06 01:16:52