gpt4 book ai didi

sql - 记录链接到任何表?

转载 作者:行者123 更新时间:2023-12-04 15:05:31 25 4
gpt4 key购买 nike

嗨,我对此有些挣扎,可以使用一些想法......

假设我的数据库有以下表格;
顾客
供应商
销售发票
购买发票
货币

等等等等

我希望能够将“注释”记录添加到任何类型的记录

Notes 表是这样的

NoteID        Int (PK)
NoteFK Int
NoteFKType Varchar(3)
NoteText varchar(100)
NoteDate Datetime

其中 NoteFK 是客户或供应商等的 PK,而 NoteFKType 表示该注释所针对的记录类型

现在我意识到我无法添加一个引用多个表的 FK,而 NoteFK 不需要出现在所有表中。

那么你将如何设计上述内容?
注释 FK 需要在上述任何表格中

干杯,
丹尼尔

最佳答案

您必须接受这样的限制,即您无法教授数据库有关此外键约束的信息。因此,您将不得不进行完整性检查(和级联删除)。

你的设计很好。
它很容易扩展到额外的表,每个实体可以有多个注释,目标表甚至不需要知道注释功能。

这种设计相对于每个实体表使用单独的笔记表的一个优点是,您可以轻松地跨所有笔记运行查询,例如“最近的笔记”或“由给定用户创建的所有笔记”。

至于那个表增长太大的论点,将它拆分为五个表会将表缩小到其大小的五分之一左右,但这不会对基于索引的访问产生任何影响。数据库是为处理大表而构建的(只要它们被正确索引)。

关于sql - 记录链接到任何表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1177091/

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