在这种情况下难以找出关系:
我想为收入类型创建一个复选框列表。用户界面将显示为“您收到什么类型的收入?”。为简单起见,选择可以是全职,兼职和退休。
我的一部分认为这是一对多关系,因此不需要关联表,因为一个人可以拥有一种或多种收入类型。然而,从字面上看,“全职”就业可能与许多人有关。在这种情况下,我不会显示有多少人是“全职”的汇总表,我只是与一个人打交道并确定他们的就业状况。
但我并不认为“全职”是一个实体,例如演员和电影 - 许多演员可以在很多电影中播放,很多电影可以有很多不同的演员。
我想让我感到震惊的是,用户可以选择多个选项,而不是单选按钮列表或下拉列表。
在这种情况下,是吗?
答案 0 :(得分:1)
many-to-many
:Person
至Employment Type
。
许多Person
可能共享一个Employment Type
。
单个Person
可能有多个Employment Type
s。
话虽如此,我不知道您的商业模式有多丰富,但我会将Employment Type
附加到名为Employment
的实体,该实体会Employment Type
引用many-to-one
1}}关联(而不是直接从Person
引用)。
答案 1 :(得分:1)
从我的观点来看,这是一种多对多的关系。
全职是一个实体(假设一个INCOME_TYPES
表),就像演员或电影一样。
既然你告诉我们,你不会展示 income-type-side 但只有个人方的东西,有两种选择:
取消规范化您的架构并将3个字段放在INDIVIDUALS
表中。这不是很好。
如果您执行代码端的某些操作,则可以使用位掩码。
答案 2 :(得分:0)
这取决于您是将收入类型作为单独的表还是仅仅是一个字符串。
对于单独的表,它是多对多的:每个人都有多种收入类型。每种收入类型都有多人。