有3个表,即FN,ADM,USR代表a
功能,管理功能,参加功能的用户。
管理员将是用户,ADM必须从USR继承
FN_I,USR_I应该是FN和USR的基本密钥。(许多其他表引用了这一点)
ADMN是新增的能力
我需要实施以下限制
1.一个功能只能有一个管理员。(1-1)
2.一个管理员只能管理一个功能。(1-0 / 1)
我尝试通过将FN_ADM_I设置为FN_I的外键来实现1使用。
是否有人可以帮助我实现可以同时满足要求的约束/关系?
答案 0 :(得分:1)
您可能想要创建一个链接表:
FN_ADMIN_REL
FN_I, -- PK
ADMIN_I --PK
其中两个字段都是具有UNIQUE约束的主键:
ALTER TABLE FN_ADMIN_REL
ADD CONSTRAINT uc_Func_Admin UNIQUE (FN_I, ADMIN_I)
答案 1 :(得分:1)
我认为你在这里混淆了术语。我认为1-1(一对一)关系并不完全符合您的想法。
无论如何,如果我正确理解你的问题(很容易就是这种情况),这就是你所做的。
这有意义吗?