нужна помощь, чтобы понять его отношения с базой данных - PullRequest
0 голосов
/ 21 марта 2012

У меня есть 2 таблицы, пользователь и подписчик.

таблица пользователей.(UserId, UserName)

Таблица подписчиков (Id, UserId, FollowerId) (2 внешних ключа, UserId и FollowerId являются ссылками на UserId в таблице User)

User.UserId и Follower.FollowerIdЯ думаю, что это один ко многим, у одного пользователя может быть много подписчиков.

как насчет User.UserId и Follower.UserId, это один к одному или один ко многим.Я думаю, что запутался.

Редактировать:

это отношения многих ко многим.способ, которым я назвал это, смутил меня.

Таблица пользователей осталась прежней, таблица последователей изменится на (Id, Leader, Follower)

теперь ясно, у одного лидера может быть много последователей, один последовательможет следовать за многими лидерами.

Ответы [ 2 ]

2 голосов
/ 21 марта 2012

Я думаю, что из-за вашего именования вы запуталисьНе используйте одно и то же имя для сущности и для роли.На самом деле у вас есть таблица Person и другая таблица, которая указывает на отношения между людьми;возможно, назовите это таблицей соединений.

При таком подходе становится ясно, что человек может играть любую роль в соединении, и что все описанные отношения являются многими ко многим.

0 голосов
/ 21 марта 2012

просто посмотрите на это с точки зрения таблицы, это один ко многим.Итак, в реализации, скажем, пользователь A в таблице User может иметь строки пользователя B, C и D в таблице Follower, поэтому один ко многим.

...