2012-09-21 38 views
0

我有一個SQL表中的值:映射在SQL - 兩種可能性

id (int) | group (int) | value (int) 

,我想映射value字符串。對於一個group,一個value只能映射到一個字符串。從兩個不同的組中,一個值可以映射到兩個不同的字符串。

是更好地創建表這樣

map_id (int) | group (int) | value (int) | mapped (string) 

或類似這樣的

map_id (int) | group (int) | mapping (text) 

,其中映射是一個文本字段如

5=something 
6=another string 
7=next string 

最後在程序中映射?

回答

1

前者通常更好。後者違反了第一範式(1NF)。非規範化是一種有效的現實生活方式,但可能不適合這種情況。