Sql “链接”;“朋友”;与帐户持有人档案

Sql “链接”;“朋友”;与帐户持有人档案,sql,friend,Sql,Friend,我正在设计一个应用程序,其中帐户持有人有“朋友”。我如何将这些朋友链接到原始帐户持有人?一个高效的SQL表是这样的: AccountHolderID (varChar 20) FriendsID (nText) 我们实现了类似的功能--使用一张桌子来容纳朋友。。。我们的桌子只是一张朋友的桌子 AccountHolderId( type) FriendAccountHolderId ( type) Created(datetime) // useful for tracking when th

我正在设计一个应用程序,其中帐户持有人有“朋友”。我如何将这些朋友链接到原始帐户持有人?一个高效的SQL表是这样的:

AccountHolderID (varChar 20)
FriendsID (nText)

我们实现了类似的功能--使用一张桌子来容纳朋友。。。我们的桌子只是一张朋友的桌子

AccountHolderId( type)
FriendAccountHolderId ( type)
Created(datetime)  // useful for tracking when the friend was added

这两个Id字段都链接回Accounts/Users表。

朋友是您系统中的另一个用户/帐户持有人吗?是的,您是正确的。我想FriendID可能必须是一个外键(所以不能是nText)?如果假设每个帐户持有人都可以有一个或多个朋友,并且每个朋友都可以与一个或多个帐户持有人关联,那么您需要多对多关系。有关MySQL中多对多关系的示例,请参见我的答案。将项目替换为帐户持有人,将标记替换为好友,这样您就有了架构的基础。网络上充斥着关于数据库关系的教程。你是否打算让FriendsID成为一个NTEXT字段,以存储一个“personid1,personid2,personid3”的字符串?如果是这样的话,您应该明白,这会使涉及此字段的查询非常难以编写,而且效率非常低-您应该避免在单个字段中存储多个值-这不是数据库方式!是的,目的是说UserID1001有一个朋友UserID2001、UserID3021、UserID3310等等。您的AccountHolderID和FriendAccountHolderID是什么数据类型?您在使用SQL Server吗?我们在SQL Server中使用GUID。(哇,五年后!)