2013-01-07 206 views
0

我在表user中有三個字段,其中最多可保存三個用戶的位置。表的模式是這樣的:數據庫架構建議

UserID, name, location_1, location_2, location_3 

現在的問題是我也必須保存用戶最喜歡的位置,所以有兩種方法。

要麼我添加另一列(在表user),名爲favorite_location這將是三個保存的位置之一的值。

OR

我應該只存儲位置的位置(在列favorite_location),即2表示location_2是目前最喜歡的位置。

UPDATE:

我有一個限制,不創建另一個表用戶位置

+0

如果您不想創建另一個表,可以將FavoriteLocation列添加到「用戶」表,該表包含位置的名稱。 –

+3

如何擁有「fav_location」,「location_1」,「location_2」列。如果「fav_location」是強制性的,那麼只有這3列就足夠了。如果不是,請添加另一個位列「IsFavoriteDefined」。 – Sunny

+1

如果序列不重要,那麼可以有三列:location_1,location_2和location_3。然後,分別在location_1和其他兩個位置分別輸入收藏位置和位置_3和位置_3。這樣,您不需要添加新的表格或新的列。 –

回答

0

無論哪種方式,你要創建favorite_location列。因此,您可以選擇存儲完整的位置值或列索引。