sql – 数据库:如何区分“一个或多个”和“零或多”关系?

前端之家收集整理的这篇文章主要介绍了sql – 数据库:如何区分“一个或多个”和“零或多”关系?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
设计工具可以区分“一到零或更多”和“一对一”的关系.我可以想象如何实现“一个零或更多”的关系:

CHILD_TABLE

(pk)chid_id
(fk)parent_id(必需)

PARENT_TABLE

(pk)parent_id

如何实现“一对一”的关系?如何说,父母至少需要一个孩子?或者是“一个或多个”通常实现为“零或多”?

解决方法

通过业务逻辑或至少使用交易来实现1对1或更多的关系.您不能同时插入两个表中;一次插入一张表.因此,您需要插入父级才能插入子级,并且没有内置的方式来使数据库强制执行所需的逻辑.

如果将事务中的两个INSERT语句包装在一起,则保证子插入失败,父插入将被回滚.但是,由业务逻辑来确保没有子进程插入父进程.

猜你在找的MsSQL相关文章