Путаница кардинальности: между пользователями_ролями и ролями

Я разрабатывал базу данных в качестве своей практики, и я столкнулся с путаницей, когда я не уверен в кардинальности между парой моих таблиц — users_roles и roles.

введите здесь описание изображения

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

Кроме того, я хотел бы спросить, правильно ли я назвал свою промежуточную таблицу.


person PHP    schedule 13.04.2020    source источник


Ответы (1)


Зависит от того, каких отношений вы хотите достичь.

Таблицы users и roles содержат всех пользователей и роли. users_roles сопоставляет пользователей с ролями или идентификаторы пользователей с идентификаторами ролей. И user_id, и role_id являются FOREIGN KEYs, ссылающимися на id в других таблицах как PRIMARY KEY.

Это дает вам отношение one-many между roles и user_roles, поскольку у одного пользователя может быть несколько ролей. Вы также можете иметь отношения one-one, если вы сделаете role_id UNIQUE, в этой ситуации у пользователя будет только одна роль. Надеюсь это поможет.

person osiris_v6    schedule 13.04.2020