2

见下图 在此处输入图像描述

既然 1 个账户有 1 个个人资料关系,为什么要有个人资料表?除了存储状态之外,配置文件表的用途是什么。为什么不在 Account 表中包含 status 并从“account”表与 BasicInformation、PersonalInformation 等建立直接关系。

http://i.stack.imgur.com/u7GKB.jpg

4

4 回答 4

3

如果在未来某个时间,您更改模型以便一个帐户可以拥有多个配置文件,那么使用两张表比仅使用一张要好得多。

关于连接成本,您需要对其进行量化,并确定不值得担心速度差异的地方。过度担心使用连接会减慢速度是关系数据库最常见的新手错误之一。

于 2011-05-30T14:31:42.543 回答
2

一些想法和有根据的猜测。

  • 在概念层面上,帐户和配置文件是两个不同的东西。
  • 将配置文件状态添加到帐户表会使该表更宽且更慢。
  • 由于 status 仅包含您最近的帖子(对吗?),该表可以放在一个单独的表空间中,可能放在一个非常快的磁盘阵列上以进行快速查找。
  • 状态可能比帐户表中的任何内容都更频繁地查找。
  • 安全性更易于管理。许多第三方应用程序可能被允许访问您的状态,但它们不一定可以访问您的电子邮件地址和密码。物理隔离(单独的表)很容易得到明显正确。
于 2011-05-30T12:03:44.687 回答
1

我想这是因为不是每个帐户都有与之关联的个人资料。即关系实际上是 1:0/1,而不是 1:1。

于 2011-05-30T14:36:12.783 回答
0

这只是一个抽象问题。

帐户中包含个人资料数据。因此,它有一个配置文件的实例(表)。

通过这种方式,您可以单独访问个人资料数据,并且将来可能会向帐户添加更多数据。

于 2011-05-30T08:44:59.800 回答