我有一個數據庫在三個表中有數百萬條記錄。現在我想將這三個表分成多個表,以減少冗餘和數據重複。數據庫設計問題
很多記錄(人)有多個城市,地址,電話,傳真。
那麼新表將被 地址, ,市 ,郵編 ,國家 ,國家 ,電話 ,傳真
我的問題是,它是細到有市,郵編,國家,國家,分開電話表還是隻將這些表合併到地址表中?
我有一個數據庫在三個表中有數百萬條記錄。現在我想將這三個表分成多個表,以減少冗餘和數據重複。數據庫設計問題
很多記錄(人)有多個城市,地址,電話,傳真。
那麼新表將被 地址, ,市 ,郵編 ,國家 ,國家 ,電話 ,傳真
我的問題是,它是細到有市,郵編,國家,國家,分開電話表還是隻將這些表合併到地址表中?
您可以將地址,城市,郵政編碼,州和國家分隔到單獨的表格中,因爲這些表格通常在多個記錄之間共享。請注意,如果您爲其存儲了其他信息(例如,州名和縮寫。否則,沒有必要爲例如狀態只有一列爲州名。
至於電話號碼和傳真,他們通常不會被不同的記錄共享,也沒有必要將它們分開。
同意 - 有一個「完整的地址」表(僅限美國/加拿大,但實質上)和一個「電話」表(您有類型 - 家庭,手機,傳真等)。 –
這屬於http://dba.stackexchange.com/ – Carth
爲了減少冗餘,最好爲國家,州和城市建立單獨的表格。儘管您可以將郵編,電話和地址合併到單個表格中。 – AndyN
我建議讓他們像dim.tables所有sepearte和所有鏈接到事實 - 表與身份設置dim.tables有業務鍵? –