设计工具可以区分“一到零或更多”和“一对一”的关系.我可以想象如何实现“一个零或更多”的关系:
CHILD_TABLE
(pk)chid_id
(fk)parent_id(必需)
PARENT_TABLE
(pk)parent_id
如何实现“一对一”的关系?如何说,父母至少需要一个孩子?或者是“一个或多个”通常实现为“零或多”?
解决方法
通过业务逻辑或至少使用交易来实现1对1或更多的关系.您不能同时插入两个表中;一次插入一张表.因此,您需要插入父级才能插入子级,并且没有内置的方式来使数据库强制执行所需的逻辑.
如果将事务中的两个INSERT语句包装在一起,则保证子插入失败,父插入将被回滚.但是,由业务逻辑来确保没有子进程插入父进程.