gpt4 book ai didi

uml - 我如何避免类图中的循环关系

转载 作者:行者123 更新时间:2023-12-02 03:35:28 27 4
gpt4 key购买 nike

您好,我有一个关于我在数据库设计中面临的一些循环关系的问题。我又读了几个类似的问题,但无法解决我的问题,所以这是我的类图: enter image description here

逻辑是这样的:

  • 文档属于文档类型(发票、订单、..)
  • documentField(日期,地址,nameClient,...)属于一个文档类型(每个文档类型都有其适当的字段
  • FieldValue 是将保存在数据库中的 documentfield 的值,它属于 document 和 documentField,值应根据 fieldType ( date , char , long , double...) 保存

但是,从数据库架构师的角度来看,这种循环关系是不正确的,因为它会导致完整性问题:

如果您有任何想法如何处理这个问题,欢迎发表评论。

预先感谢您的帮助。

最佳答案

这里的情况比你的其他类似问题还要简单。很明显,底部两个类描述抽象文档结构,而顶部两个类描述具体文档

抽象元素永远不应该依赖于具体的元素,因此只需使两个垂直关联单向并将它们指向抽象类即可。这将巧妙地打破循环依赖。

此外,我会进一步完善您的模型:

  • Document 和 FieldValue 之间的关联应该是一个组合
  • 一些较低的重数应更改为 0(而不是 1),以使您的模型实例化更加灵活(例如 - 为什么不允许没有 DocumentFields 的文档?很明显您迟早会添加一些字段,但您可以先创建一个空文档并保存)

更新:

enter image description here

关于uml - 我如何避免类图中的循环关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23719371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com