2012-04-21 91 views
0

你会如何设计一个数据库,以满足以下要求数据库设计用于存储的Facebook朋友列表+设备通讯录

设备通讯录要求

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

的Facebook/Twitter的要求

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,安卓,Windows手机等

回答

0

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

Database diagram

编辑

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

+0

谢谢,我固定它,见上面的图,:)电子邮件,可以放在同一个表,并通过Contacttype – 001 2012-04-21 12:57:45

+0

过滤什么遐想? :) – 001 2012-04-21 13:19:45

+0

更新了答案 – Arion 2012-04-21 13:35:28

0

@Arion

这个怎么样? (忽略设备)

enter image description here