早上好,专家
我需要你的建议。假设我们有user
,profile
和post
个实体。
变式1:user
有很多profile
,profile
有很多post
变式2:user
有很多profile
,user
有很多post
什么是最好的?方便,“正确的方式”,或甚至表现?
答案 0 :(得分:2)
这取决于......
1)关于系统如何工作..如果帖子与个人资料相关联。然后你应该使用Variant 1.例如,我在Stackoverflow中发布的问题应该与我的Stackoverflow配置文件相关联。我在超级用户中发布的问题应该与该个人资料相关联。
如果您想使用Variant 2维护此类行为。帖子必须有一个字段,指明帖子所属的位置。
2)关于如何使用数据。如果您在查询帖子时不需要个人资料信息,那么您可能不应该关联个人资料和帖子。
3)在性能方面,使用非常基本的逻辑,连接3个表来检索某些信息可能比连接2个表更糟糕(当然取决于连接中的列,索引等...但是说其他一切都是平等的。)
我认为最好的办法就是保持简单。保持简单,更容易弄清楚某些东西是否会像你期望的那样工作。如果没有,将更容易找出原因并修复它。如果需要,您以后也可以更容易地修改它。
答案 1 :(得分:1)
假设你的意思是问:“一般来说,在设计数据模型时,应该最重视哪些考虑因素 - 方便性,正确性或性能?”,那么我会说正确性应该是首要任务。便利性和性能将成为次要问题。
答案 2 :(得分:1)
选项2对我来说似乎好多了 但是,在个人资料中指定商店中的哪种信息有助于理解 我假设该个人资料包含角色/类别信息。