我正在尝试建模一个数据库,其中我有 2 个反向外键,这两个表字段都需要 NOT NULL。我该如何建模?
这里有一个小样本:
我有两个表,第一个是泛型,称为“SystemObjects”,第二个称为“Users”。每个“SystemObject”都是由一个“User”对象创建的,因此需要一个不能为空的“CreatedBy”外键。同时,所有用户也具有通用关联的 SystemObject 条目,并且“用户”表包含有关具有特定类型“用户”的那些对象的更多信息。
在 OOP 类比中,“User”继承自“SystemObject”并具有补充成员。所以我需要跟踪这种联系。
我的问题总结:
- “A”有一个外键字段到“B”
- “B”对“A”有一个外键字段
- 两者都是必需的(非空)
如何摆脱这个陷阱?任何替代模型可以解决我的问题并允许我进行这种 vis-verca 跟踪?
谢谢!