我怀疑这是这些问题之一,不会有一个明确的答案。但我希望能深入了解什么通常被认为是最佳实践,无论如何大多数时候都是如此。所以,在此先感谢那些参与此事的人。
我有两种类型的文件夹用于存储记录。个人文件夹和团队文件夹。
我可以通过两种方式在数据库中表示这一点......
选项 1:两个独立且不相关的文件夹表。
personalFolders( id, userId, title )
teamFolders( id, teamId, title )
records( id, folderId, folderType, title )
选项 2:具有两个连接表的公共文件夹表
folders( id, title )
personalFolders( folderId->folders.id, userId )
teamFolders( folderId->folders.id, teamId )
records( id, folderId->folders.id, title )
我的问题是:一般来说,什么模式被认为是最佳实践?
(我的直觉告诉我选择选项 2,因为这样我就可以将外键约束保留在记录表中。但是,在某些情况下选择选项 1 可能更好吗?)
如果不知道完整和准确的需求,我们就无法设计出完整的数据模型。根据我对问题的理解,可以得出以下规则。
在这里,我不清楚一些事情,例如:
我设计了下面的模型,希望未来的变化可以在设计上没有太大变化的情况下被采用。
我的建议是从概念数据模型开始,不管项目大小。您在此过程中回答的问题越多,应用程序就会越好。
我希望这个答案会有所帮助。谢谢!