Задать вопрос
@ragnar_ok

Можно ли использовать только PK в таблице?

Дана MySQL БД для хранения анкет и результатов их заполнения.
  1. Таблица answer хранит ответы на вопросы анкет.
  2. Таблица user_profile хранит ответы на вопросы профиля пользователя.
  3. Таблица user хранит только id для связи user_profile и answer.

Мне нужно разграничить ответы на вопросы анкет и ответы на вопросы профиля пользователя. Поля в answer и user_profile будут почти идентичны.
Правильно ли будет использовать таблицу user, в которой будет только PK и ничего больше для связи user_profile и answer?
5d4831f7e2ef6794644724.png
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@dimuska139
Backend developer
  1. А почему user_profile и answer нельзя объединить в одну общую таблицу с опциональным значением в поле user_id (некоторые другие поля тоже можно сделать опциональными)? Зачем ответы делить на 2 таблицы? Аналогично и с answer_options и user_profile_options
  2. В любой таблице БД всегда должен присутствовать первичный ключ. Я про таблицы answer_options и user_profile_options - им нужно поле id (первичный ключ). Даже если по смыслу таблицы он не нужен особо, насколько я знаю, СУБД его использует для построения плана запроса.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы