我有很多 table :客户,潜在客户, friend ..
他们都有一些笔记。

问题1:
我是否应该与所有父表共享一个Notes表。
或者
我应该有一个NotesCustomer,NotesProspects,NotesFriends表吗?

问题2:
如果最好的解决方案是第一个解决方案,那么此通用Notes表应该对父表使用FK,但对父表的类型也应如此?

我正在使用EntityFramework,但我想这个问题也很普遍...

谢谢
乔恩

最佳答案

第一个选项是为准客户,客户和 friend 提供的不同的Notes表,它可能是更干净的解决方案。

如果使用常规注释表,则需要具有三个可为空的FK列来确定FK属于哪个相关表,并且每行中仅填充其中一个。

一般而言,良好的关系模型的目标不是(或不一定)将类似的数据存储在一起,而是只将特定的数据存储一次。因此,在设计时要问自己一个很好的问题是“通过将所有笔记存储在同一张表中,我会得到什么?”

关于sql - 在SQL中为许多实体表实现Notes表的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3584517/

10-11 03:15