这个模式设计是否是循环引用?

问题描述 投票:0回答:1

我想问一下这个schema设计是不是循环引用。

语言 <--(one-to-many)--> 用户语言 <--(many-to-one)-->配置文件 <--(one-to-one)--> 用户 --(一对多)--> UserProject --(多对一)--> 项目 <--(one-to-many)--> 项目语言 --(多对一)--> 语言

如果是这样,我该如何解决这个问题?

提前谢谢您

我找到了这两个参考文献

https://medium.com/akurey/dont-be-circular-b59c5609d472

https://www.codeproject.com/Articles/38655/Prevent-Circular-References-in-Database-Design

第一个说我应该添加一个中间表,另一个说我应该删除其中一个关系并修改架构

Database design schema

database database-design schema project-planning
1个回答
0
投票

这个设计很好,没有歧义或可能的不一致,事实上,在任何重要的模型中,这种“循环”都是很常见的。唯一的潜在问题是技术问题,例如MS SQL Server(与 Oracle 不同,我不知道其他的)将图视为无向,并且如果您尝试将级联更新/删除附加到图的非叶节点,则会抱怨存在循环:这是 DBMS 的一个(众所周知的)技术限制,而不是模型本身的限制。

© www.soinside.com 2019 - 2024. All rights reserved.