关系型数据库虽然存储用户的关系很简单,但是要求出用户关注被关注和互粉这种这块特别的麻烦,特别是用户A的粉丝与用户B的粉丝之间的关系,或者用户A的关注者与用户A自己的粉丝直接的关系等。
下面是一个要求:
功能:A关注B B关注A A取消关注B B取消关注A
求出关系:A的粉丝列表 A的关注列表 A的互粉列表
方案1
测试准备
1.创建两个表:CREATE TABLE [dbo].[FollowTest_User](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_FollowTest_User] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[FollowTest_UserFollow](
[Id] [int] IDENTITY(1,1) NOT NULL,
[FollowUser] [int] NOT NULL,
[BeFollowedUser] [int] NOT NULL,
CONSTRAINT [PK_FollowTest_UserFollow] PRIMARY KEY CLUSTERED
(