2014-09-28 2 views
1

Я пытаюсь разработать приложение, в котором пользователи могут иметь свои профили, а профили могут показывать навыки пользователей, а навыки могут иметь одобрения других пользователей (или «нравится» », как LinkedIn!).Структурирование базы данных для 'likes' или 'endorsements'

У меня есть таблица profiles и таблица skill. Эти 2 таблицы имеют отношение «многие ко многим» (профиль может иметь много навыков, а навык может быть связан со многими профилями). Я пытаюсь сохранить имена навыков unique, когда новый умение хранится в db. Я пытаюсь получить endorsements (или likes) за каждое умение, которое пользователь добавляет к своему профилю. Есть ли стандартный или оптимизированный способ решения этой проблемы?

ответ

2

Добавить дополнительный внешний ключ от endorsement до profile человека, осуществляющего индоссамент. Это говорит вам, кто любит, кто и что им нравится в них.

Смотрите этот ERD:

ERD

Смежные вопросы