Sql-Server
儲存記錄是否是兩種選擇之一的不同儲存方式的優缺點?
我正在嘗試儲存地址是工作地址還是家庭地址。永遠不會有另一種類型的地址。
我想知道儲存它的不同方式的優缺點是什麼,以及對於這種被認為是最佳實踐的情況是否有一種公認的“風格”,
最好只有一個
IsHome
bool 列,如果它是錯誤的,我只是假設它是一個工作?2)或a
IsHome
和IsWork
column,3)或
AddressType
column是一個ID,它對應於另一個具有工作和家庭ID的表?4)還是我沒有考慮過的東西?
第三種選擇似乎更簡潔,但每次都需要加入似乎效率低下。
歸根結底,#3 仍然是最好的選擇。我們當時認為很簡單,但通常情況下,企業會想出另一個理由來添加更多類型的地址。
從一開始就正確設計!祝你好運!
如果您確實確定這些類型不會更改(或至少不會經常更改),您還可以使用 3) 的變體,使用帶有檢查約束
AddressType
的類型列,將值限制為and 。varchar``'work'``'home'
這不如查找表靈活,但仍比設置為 false 時具有某種隱含含義的布爾值好。而且您不需要聯接(儘管我懷疑對具有兩行的表的聯接會很明顯)