0

您将如何设计数据库以满足以下两个要求

设备地址簿要求

User 1.* Device
Device 1.* Contact
Contact 1.* Email
Contact 1.* Phone

脸书/推特要求

User 1.* SocialNetworkAccount (i.e 1 user can have many facebook accounts)
SocialNetworkAccount 1.* FSocialNetworkAccountFriends (i.e 1 facebook account can have many facebook friends)

USER 是应用程序用户。

设备可以是 iPhone、ipad、Android、Windows Phone 等

4

2 回答 2

0

也许是这样的。这是一个mssql数据库图。但我想你明白了:

数据库图

编辑

我对类型表没有任何好的经验。这些表很难查询,并且在大多数情况下需要大量的case when语句来获取正确的数据。我会遵循 tum 规则,即一张桌子有一个目的。问题还在于,如果您想添加另一种类型,则可能需要其他列。然后您可能会发现自己必须添加可为空的列,这可能会导致糟糕的数据库设计。

于 2012-04-21T11:00:05.903 回答
0

@Arion

那这个呢?(忽略设备)

在此处输入图像描述

于 2012-04-21T12:56:12.063 回答