我有以下表格:
根据类型,用户具有1到3个值。例如,用户1是典型的B,而类型B总是有3个值。类型A总是有2个值。我是否创建了不同的值表
并使用UserId作为外键,并根据类型决定我应该使用哪个表。或者,我是否创建一个包含所有值字段的值表,并在某些行中保留空字段,并将ValueId添加到users表中?或者这是一个更好的方法吗?
答案 0 :(得分:0)
更好的方法是normalize您的值行。
Value
-----
User ID
Type ID
Sequence
Value
此表的主键是(用户ID,类型ID,序列)。 Sequence列是使主键唯一的原因。对于类型A,序列将为1和2.对于类型B,序列将为1,2和3。
此设计允许您灵活地为给定用户和类型设置零值,5个值或150个值。