只有外键的 table 可以规范化吗?
Can a table with only Foreign key be normalized?
我很惊讶网上没有关于这个问题的信息...
假设我有两个 table,A 和 B。
A 有一个主键,它在 table B 中充当外键。
B没有自己的主键,只有外键。
那么在归一化的情况下,table B 呢?
我的意思是我们应该保留它还是通过在 table b 中创建我们自己的主键来规范化它需要在 table B.
中需要规范化
TLDR: You don't need Table B if it only has 1 column
如果你有tableA
id_x | x
1 a
2 c
3 b
和tableB
id_x references tableA.id_x
规范化将取决于 id_x 在表 B 中的用法。
如果您将 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
我很惊讶网上没有关于这个问题的信息...
假设我有两个 table,A 和 B。
A 有一个主键,它在 table B 中充当外键。
B没有自己的主键,只有外键。
那么在归一化的情况下,table B 呢?
我的意思是我们应该保留它还是通过在 table b 中创建我们自己的主键来规范化它需要在 table B.
TLDR: You don't need Table B if it only has 1 column
如果你有tableA
id_x | x
1 a
2 c
3 b
和tableB
id_x references tableA.id_x
规范化将取决于 id_x 在表 B 中的用法。
如果您将 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