如何将其制作成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)
早上好, 我想知道如何确保此架构在 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)