首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将所有关系聚合到一个表SQL Server中

问将所有关系聚合到一个表SQL Server中
EN

Stack Overflow用户
提问于 2019-01-06 20:18:09
回答 1查看 65关注 0票数 0

我正在尝试设计一个企业级数据库架构。在ERD级别我有个问题。

我的许多表都有彼此之间的关系。未来可能会有一些发展,我的设计应该是灵活的,并且在收集结果方面也应该快速。

最近几天,我创建了一个名为Node的父表,我的所有功能表都与该表具有一对一的关系。(功能表是那些保存真实数据的表,如内容、用户、文件夹、角色...因此,在向每个表添加记录之前,我们必须将一个节点添加到节点表中,并将新的NodeId添加到辅助表中。

节点表本身与自身具有多对多关系。所以我设计了这个表来保存我所有的关系关注点。

​

​

所有其他实体都类似于用户,并与如上所示的节点表相关。

问题是:这种设计是让我在NodeAssoc表上的关系查询更快,还是让关系单独保存更好?

EN

回答 1

Stack Overflow用户

发布于 2019-01-07 08:40:50

你可以说:

它们有不同的方法来接近或解决它们。当你设计一个数据库时,你必须了解数据库的原理。一对一和多对多的关系在设计上并不常见。在您的案例中,您提到的是一对一和多对多关系,对此我有我的担忧。

  • 建议one ->将一对一的表反规范化(合并)为一个表。
  • Advice ->在多对多表上引入了桥接表,因为可能会有多个匹配。修复多个匹配意味着复杂的查询,这会导致性能下降。
  • 建议三个->使用适当的索引来提高

的性能

增加灵活性可以通过使用数据库视图来实现,这是一种查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54061405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档