应该如何映射有效的SQL值?

时间:2017-05-24 17:06:29

标签: sql validation

假设我有一个包含鲜花的桌子,其中一列是"颜色"。我经常收到有关鲜花数据的饲料文件(假设每个物种都有自己的ID,我检查我的数据库并更新该行。从饲料文件中我也收到鲜花颜色(这个obv。在现实生活中不会改变但是对于为了争论而让我们说它可能)。现在我需要确保那个颜色字段的值是一个有效的颜色而不是" asdasd"例如。所以我的问题是我应该如何以及在哪里保持我检查的有效颜色数组以及如何将它们存储在表格中(将这些名称转换为数字并存储它们?)我知道颜色可以用rgb值表示,这样可以很容易,但是让我们说它来自于以字符串形式提供。

这些类型的"有效性检查映射" for SQL是作为自己的表存储还是作为脚本中的常量存储?我知道没有一个人能够做到这一点,但我很想知道如何处理这个问题。

1 个答案:

答案 0 :(得分:1)

  

这些类型的"有效性检查映射" for SQL存储为自己的表

  

或者可能是脚本中的常量?

没有

  

我知道没有一个正确的答案

嗯,对于这个,这是一个非常强大的最佳实践。有一个表存储"有效"每种颜色带有ID的颜色。然后将颜色的ID存储为花表的一部分。

例如:

Colors table:
ID    Name
----  -------
1     Red
2     Blue
3     Yellow
...

Flowers table:
ID    Type     ColorID
---   ------   -------
1     Orchid   2       (Blue Orchid)
2     Rose     1       (Red Rose)

下一步将是"反规范化"类型也是如此,但我并不想过度复杂化。