0

在这种情况下无法确定关系:

我想为收入类型创建一个复选框列表。UI 将显示为“您收到哪些类型的收入?”。为简单起见,选择可能是全职、兼职和退休。

我的一部分认为这是一对多的关系,因此不需要关联表,因为一个人可以有一种或多种收入类型。然而,从字面上看,“全职”工作可能与许多人有关。在这种情况下,我不会显示有多少人是“全职”的汇总表,我只是与一个人打交道并确定他们的就业状况。

但我不认为“全职”是一个实体,例如演员和电影——很多演员可以在很多电影中,很多电影可以有很多不同的演员。

我想让我失望的是用户可以选择多个选项,而不是单选按钮列表或下拉列表。

在这种情况下,它是什么?

4

3 回答 3

1

many-to-many:PersonEmployment Type

许多Persons 可能共享一个Employment Type.

一个Person可能有几个Employment Types。

话虽如此,我不知道您的业务模型有多丰富,但我会附加到一个Employment Type称为关联的实体(而不是直接从 引用它Employment)。Employment Typemany-to-onePerson

于 2013-03-24T15:10:27.773 回答
1

在我看来,这是一个多对多的关系。

全职是一个实体(假设是一张INCOME_TYPES桌子),就像一个演员或一部电影。

既然你告诉我们,你不会显示的东西income-type-side而只有individual-side,有两种选择:

  1. 反规范化您的架构并将 3 个字段放入INDIVIDUALS表中。这不是很好。

  2. 如果你在代码方面做一些事情,你可以使用位掩码。

    • 例如,1 代表全职,2 代表兼职,4 代表退休。
于 2013-03-24T15:10:44.473 回答
0

这取决于您将收入类型作为单独的表还是只是一个字符串。

对于单独的表格,它是多对多的:每个人都有多种收入类型。每种收入类型都有多人。

于 2013-03-24T15:10:54.613 回答