Redes sociais e afiliações de rede

Estou no processo de planejar um banco de dados para um projeto de rede social e me deparei com esse URL, que é um palpite (bruto) de engenharia reversa no esquema do facebook:

http://www.flickr.com/photos/ikhnaton2/533233247/

O que me interessa é a noção de "Afiliações" e estou tentando entender completamente como elas funcionam, tecnicamente falando. Onde estou um pouco confuso é a coluna NetworkID nas tabelas FacebookGroups "," FacebookEvent "e" Affiliations "(NID em Affiliations). Como essas afiliações de rede são interconectadas?

No meu próprio projeto, tenho uma tabela de perfil simples:

CREATE TABLE [dbo].[Profiles](
    [profileid] [int] IDENTITY(1,1) NOT NULL,
    [userid] [uniqueidentifier] NOT NULL,
    [username] [varchar](255) COLLATE Latin1_General_CI_AI NOT NULL,
    [applicationname] [varchar](255) COLLATE Latin1_General_CI_AI NOT NULL,
    [isanonymous] [bit] NULL,
    [lastactivity] [datetime] NULL,
    [lastupdated] [datetime] NULL,
 CONSTRAINT [PK__Profiles__1DB06A4F] PRIMARY KEY CLUSTERED 
(
    [profileid] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
 CONSTRAINT [PKProfiles] UNIQUE NONCLUSTERED 
(
    [username] ASC,
    [applicationname] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Um perfil pode ter muitas afiliações. E uma afiliação pode ter muitos perfis. E gostaria de projetá-lo de tal maneira que as relações entre afiliações me digam algo sobre os perfis associados. De fato, com base nas afiliações que os usuários selecionam, eu gostaria de saber como deduzir o máximo de coisas possível sobre essa pessoa.

Minha pergunta é, como devo projetar minhas tabelas de afiliação de rede e como elas operam de acordo com meus requisitos acima? Um esquema SQL aproximado seria apreciado em sua resposta.

Desde já, obrigado...

questionAnswers(1)

yourAnswerToTheQuestion