问题描述
|
见下图
由于1个帐户具有1个配置文件关系,因此为什么要有一个配置文件表?除了存储状态外,配置文件表的用途是什么。为什么不在“帐户”表中包括状态,并直接从“帐户”表与BasicInformation,PersonalInformation等建立关系。
http://i.stack.imgur.com/u7GKB.jpg
解决方法
如果在将来的某个时间更改模型,以便一个帐户可以有多个配置文件,那么使用两个表比只使用一个表要好得多。
关于连接的成本,您需要对其进行量化,并确定不应该担心速度差异的位置。关系数据库中最常见的新手错误之一是过度担心使用联接降低速度。
, 一些想法和有根据的猜测。
在概念上,一个帐户
和个人资料是两个不同的
东西。
将配置文件状态添加到
帐户表使该表更宽
慢一点
由于地位只占您的多数
最近的帖子(是吗?),那个
桌子可以放在另一个地方
表空间,可能是疯狂的
快速磁盘阵列,用于快速查找。
状态可能看起来很多
比任何东西都更频繁
帐户表。
安全性更易于管理。
许多第三方应用可能是
允许访问您的状态,但是
他们不一定有
访问您的电子邮件地址和
密码。物理隔离(单独的表)很容易得到正确的解决。
, 我想这是因为并非每个帐户都有与之关联的个人资料。即关系实际上是1:0/1,而不是1:1。
, 这只是一个抽象问题。
帐户中包含个人资料数据。因此,它具有一个配置文件的实例(表)。
这样,您可以单独访问配置文件数据,并且将来可能会向帐户中添加更多数据。