我有以下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