bepack
@bepack
Погружаюсь в мир JavaScript

Когда использовать внешний ключ, а когда литеральную запись?

Когда использовать связь указывающую на другую таблицу, а когда записывать литералом?

Например rbac:
Есть таблица пользователи (user) :
id | login
А есть таблица ролей пользователей (role):
id | name
Так же есть таблица назначений этих ролей (role_assignment):
id | role_id*** | user_id

я встречал разные варианты, где-то role_id - внешний ключ, указывающий на запись в role, а где-то там просто записано имя роли

Почему и в каких случаях - следует делать не внешний ключ, а записывать имя?
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Текст — когда роль имеет отдельную смысловую нагрузку, например, роль в фильме.
Код из связанной таблицы — когда роль определяет общий функционал, например, уровень доступа.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы