Redes sociales y afiliaciones de redes

Estoy en el proceso de planificar una base de datos para un proyecto de red social y me topé con esta url que es una suposición (cruda) de ingeniería inversa en el esquema de Facebook:

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

Lo que me interesa es la noción de "Afiliaciones" y estoy tratando de entender completamente cómo funcionan, técnicamente hablando. Donde estoy algo confundido es la columna NetworkID en las tablas Grupos de Facebook "," Evento de Facebook "y" Afiliaciones "(NID en Afiliaciones). ¿Cómo se interconectan estas afiliaciones de red?

En mi propio proyecto, tengo una tabla de perfil simple:

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]

Un perfil puede tener muchas afiliaciones. Y una afiliación puede tener muchos perfiles. Y me gustaría diseñarlo de tal manera que las relaciones entre afiliaciones me digan algo sobre los perfiles asociados. De hecho, según las afiliaciones que seleccionan los usuarios, me gustaría saber cómo inferir tantas cosas como sea posible sobre esa persona.

Mi pregunta es, ¿cómo debo diseñar las tablas de afiliación de mi red y cómo funcionan según mis requisitos anteriores? Un esquema SQL aproximado sería apreciado en su respuesta.

Gracias por adelantado...

Respuestas a la pregunta(1)

Su respuesta a la pregunta