数据库关系概念

时间:2010-11-22 05:17:15

标签: mysql database-design entity-relationship

早上好,专家

我需要你的建议。假设我们有userprofilepost个实体。

变式1:user有很多profileprofile有很多post

变式2:user有很多profileuser有很多post

什么是最好的?方便,“正确的方式”,或甚至表现?

3 个答案:

答案 0 :(得分:2)

这取决于......

1)关于系统如何工作..如果帖子与个人资料相关联。然后你应该使用Variant 1.例如,我在Stackoverflow中发布的问题应该与我的Stackoverflow配置文件相关联。我在超级用户中发布的问题应该与该个人资料相关联。

如果您想使用Variant 2维护此类行为。帖子必须有一个字段,指明帖子所属的位置。

2)关于如何使用数据。如果您在查询帖子时不需要个人资料信息,那么您可能不应该关联个人资料和帖子。

3)在性能方面,使用非常基本的逻辑,连接3个表来检索某些信息可能比连接2个表更糟糕(当然取决于连接中的列,索引等...但是说其他一切都是平等的。)

我认为最好的办法就是保持简单。保持简单,更容易弄清楚某些东西是否会像你期望的那样工作。如果没有,将更容易找出原因并修复它。如果需要,您以后也可以更容易地修改它。

答案 1 :(得分:1)

假设你的意思是问:“一般来说,在设计数据模型时,应该最重视哪些考虑因素 - 方便性,正确性或性能?”,那么我会说正确性应该是首要任务。便利性和性能将成为次要问题。

答案 2 :(得分:1)

选项2对我来说似乎好多了 但是,在个人资料中指定商店中的哪种信息有助于理解 我假设该个人资料包含角色/类别信息。