如何将其制作成BCNF

How to make it into BCNF

早上好, 我想知道如何确保此架构在 BCNF 中。

请愿书(ID、标题、内容、预算、组织ID、官方、结果ID、申请人ID)

申请人(身份证,姓名)

官方(身份证、姓名、部门)

组织(ID、姓名、电话号码)

*每个请愿都有一个官员。

*每个请愿书应该有一个以上的组织。

This is the hardest option that I cannot handle. With the same petitionID, there can be several organizations. Also, even though I insert several tuples whose elements are the same except organizationID, if there is any change in budget or result, those tuples should be changed together without causing any anomaly.

*预算可以为 NULL。

*他们处理完问题后会补上结果

从你写的内容,我了解到“请愿”和“组织”之间存在 many-to-many 关系。 这意味着您需要一个额外的 table 来表示这种关系。 例如:

请愿书(ID、标题、内容、预算、官方、resultID、applicantID)

申请人(身份证,姓名)

官方(身份证、姓名、部门)

组织(ID、姓名、电话号码)

organization_petition(organizationID, petitionID)