在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

最后在程序中映射?

前者通常更好。 后者违反了第一范式(1NF)。 非规范化是一种有效的现实生活方法,但可能不适用于这种情况。

最新更新