gpt4 book ai didi

sql - 是否有用于减少重复连接表数据的数据库设计模式名称?

转载 作者:行者123 更新时间:2023-12-04 20:36:09 25 4
gpt4 key购买 nike

我有两个表和一个连接表以允许多对多关系。

enter image description here

这是一种非常熟悉的设计模式。它指示每个成员可以访问哪些分支。

随着成员和分支数量的增加,我最终会在连接表中得到大量数据,这些数据在成员之间重复。成员往往可以访问与其他成员相同的分支组。

因此,我正在考虑通过创建一个有效不可变的 MemberProfile 表来规范化我的数据。而不是为每个成员创建 MemberBranch 记录,而是检查匹配的 MemberProfile,如果它已经存在则使用,或者如果不存在则创建一个:

我的想法是,如果我有一百万个成员只有一百个访问配置文件,这将在我的数据库中节省大量空间。

enter image description here

我很高兴这一切都有效,并且开发工作是值得的。

我的问题是“这是一种标准的数据库设计模式吗?如果是,它叫什么?”

编辑: 有人指出这是在压缩数据而不是对其进行规范化。这是设计背后的意图。

最佳答案

除非您的 many:many 表始终是特定其他基表的连接,否则其中一个是 规范化的。你没有在这里正常化。规范化不会引入新的列名。它只是在不同的基表中重新排列当前的。

您只是在压缩/编码您的数据。这不一定有任何好处,因为尽管您的数据库更小,但现在一些查询和更新会更慢。 (您已经报告说在您的情况下这是值得的。)

关于sql - 是否有用于减少重复连接表数据的数据库设计模式名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32897557/

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