微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

设计工具可以区分“一到零或更多”和“一对一”的关系.我可以想象如何实现“一个零或更多”的关系:

CHILD_TABLE

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

PARENT_TABLE

(pk)parent_id

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

解决方法

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

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

原文地址:https://www.jb51.cc/mssql/75501.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐