我很惊讶地看到网上没有关于这个问题的信息......
假设我有两张桌子,A和B.
A具有作为表B中的外键的主键。
B没有自己的主键但只有外键
那么在标准化的情况下,表B怎么样?
我的意思是,我们应该通过在表b中制作我们自己的主键来保留它或将其标准化,这要求表B中需要规范化。
答案 0 :(得分:-2)
TLDR :如果只有一列,您就不需要表B.
如果您有tableA
id_x | x
1 a
2 c
3 b
和tableB
id_x references tableA.id_x
规范化将取决于tableB中id_x的用法。
如果您将多次使用id_x,您可以在tableA中添加一个带有int的字段。
所以,tableA
id_x | x | number_of_times_id_x_would_appear_in_table_b
1 a 10
2 c 0
3 b 19
如果它不会多次出现在tableB中,那么它应该是一个布尔值
id_x | x | would_id_x_appear_in_table_b
1 a true
2 c false
3 b true