2012-03-21 95 views
0

我有一個表Students其中包含以下colums: Id,FirstName,LastName,Adress。 Colum Adress將只包含街道地址。數據庫優化問題

現在的問題是:數據庫優化將在​​另一個表中隔離Adress列更好嗎?

+0

你想要優化什麼? 「地址」欄的內容是什麼?它是否包含一個人的完整地址?如果是這樣,最好把它分成不同的列,用於街道,城市,郵政編碼等......如果你想得到一個好的答案,你必須更多地瞭解你的數據庫/表格設計。 – 2012-03-21 11:45:16

回答

1

是的。如果你把它分成另一張桌子,你可以爲每個人設置多個地址。如果你把它分成兩個不同的表格,一個地址表格和一個StudentAddress表格將兩者映射在一起,你可以確保一個地址在人們之間共享,甚至跟蹤一個人的地址歷史記錄。此外,在單獨的表格中,您可以將地址分成多列,以便您可以輕鬆地按城市或省或國家/地區進行搜索。

你不能做任何將地址放入單獨列的Student表。

+0

最重要的是,使用外國客戶端的城市,國家/地區表格將顯着減少數據庫的大小,並使查詢速度更快(您處理的國家數量多少)?至少大多數情況下。 – TomTom 2012-03-21 11:50:55

+0

感謝您的回答,我會嘗試這種方法 – cascadox 2012-03-21 12:00:54

+0

@TomTom絕對同意。規範化是一種優化技術。對於存儲,性能和易用性...... – 2012-03-21 12:58:26

1

這取決於你將如何處理該地址。如果你需要將它作爲不同的實體對待,即把單個地址鏈接到幾個學生,反之亦然,你應該做標準化。 如果地址只是實體學生的屬性,則保留原樣。

0

有關管理地址的完整正確的數據結構:數據模型資源庫,第1卷。這比獲得正確的結果要複雜得多。