我在这里我想规范我的表:

  Exam_Papers
ID    Country_Code    Level
1     UK               1
2     UK               2
3     UK               3
4     UK               4
5     UK               5
6     UK               6
7     UK               7
8     SA               1
9     SA               2
10    SA               3
11    SA               4
12    SA               5
13    SA               6
14    SA               7
15    IN               1
16    IN               2


我知道可以通过将Levels放在单独的表中来对此进行规范化,但是Country_Code仍将包含重复的数据,因此该表应如何进行规范化?

这样规范化了,Country_Code和Level有自己的表?

另外,在此示例中,归一化有何好处,因为通过任何一种方式制作2个单独的表都将意味着FK仍将重复(例如,如果UK的ID为1,则我的表将包含7个1)

提前致谢

最佳答案

在这种情况下,您无需制作两个表。因为正如您提到的,您仍然需要输入(可能是其ID格式)。另外,我觉得如果您以其他方式执行此操作,则在SQL查询方面的性能将下降。

关于mysql - 如何规范我的表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36139351/

10-13 08:13