2012-07-06 49 views
0

說我有存儲有關該個人信息的人表(奇怪吧?)。我有性別,頭髮顏色和眼睛顏色等選擇框。不是爲每個表創建帶有描述字段的單獨表,是否有一種使用單個表的好方法?也許是一個帶有名稱和說明字段的資源表?這只是簡單嗎?使用Rails,我可以用一個表來存儲簡單值(性別,頭髮顏色,眼睛的顏色)?

Resources 
========= 
ID Name  Description 
-------------------- 
1  Gender  Male 
2  Gender  Female 
3  Eye Color Blue 
4  Eye Color Green 
5  Eye Color Brown 
6  Hair Color Black 
7  Hair Color Brunette 
8  Hair Color Blonde 
9  Hair Color Red 

Person 
========= 
ID Name Gender Eye_Color Hair_Color 
----------------------------------------------- 
1 Ryan 1  3   8 

這是推薦的方法還是有更好的方法呢?

回答

1

是的,就是這麼簡單,IMO你的方法是正確的。但是請注意,如果您選擇Ex:一個人的多種頭髮顏色,您的方法將無法使用。

但我相信,保持代碼的簡單,直到你的要求去改變它,瞭解YAGNI當u有一些時間:)

+0

是的,我明白這是唯一的好了一對一和我需要一個橋接表的一對多。我認爲這是我將採取的路線。謝謝! – 2012-07-06 18:19:05

+0

很高興這是有用的.. :) – sameera207 2012-07-09 05:25:44

1

你可以這樣做的,這將是一個多態關聯。

如果您不需要查詢這些信息,但是隻能夠訪問它,你可以使用序列化,只是所有的值存儲在一列。 因此,一個人的記錄將有一列,我們稱之爲屬性,這將有「eye_color:藍色,性別:男」等...

0

我想創建一個名爲Physical_attributes一個單獨的表和Person和Physical_attributes之間的assossiative一個,personal_physical_attributes,我要存儲該人的ID,Physical_attribute的ID和該Physical_attribute的描述。

相關問題