За последние 24 часа нас посетили 20829 программистов и 1132 робота. Сейчас ищут 359 программистов ...

Заполнить таблицу с результатами тестирования в mysql

Тема в разделе "MySQL", создана пользователем Яна Литвинова, 22 июн 2022.

  1. Яна Литвинова

    Яна Литвинова Новичок

    С нами с:
    12 июн 2022
    Сообщения:
    25
    Симпатии:
    0
    Добрый день, уважаемые форумчане. Подскажите пожалуйста как создать итоговую таблицу с результатами и связать таблицу users с имеющимися таблицами. В БД пять таблиц с соответствующими полями:
    1. answers (id, question, id answer, score)
    2. questions (id, test, id question)
    3. results (id, test_id, score_min, score_max, result)
    4..tests (id, title)
    5. users (id, full_name, login, email, password, avatar)

    Необходимо сделать итоговую таблицу в которую бы сохранялись данные: (full_name, tests (title ), results (result), answers СУММА (score)

    В прикрепленных файлах архив с БД SQL
    Скриншот связей между таблицами
     

    Вложения:

    • relation.PNG
      relation.PNG
      Размер файла:
      53 КБ
      Просмотров:
      5
    • testsystem.zip
      Размер файла:
      6,1 КБ
      Просмотров:
      4
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Скачал я дамп только для того, чтобы посмотреть на значения поля gender при наличии поля sex. Что значит gender='С обоими моими родителями'? :)

    Зачем дублировать данные? Боитесь, что пользователи будут менять имена? :) У вас есть такая функциональность? Связывайте по id.

    А зачем ее связывать? Отдельные ответы вы нигде не сохраняете. Вот итоговую и связывайте с users и другими таблицами. По id, как я выше написал. А всякие full_name убрать из итоговой.
    --- Добавлено ---
    Да, и в итоговой тоже нужен id. А если не хотите повторных прохождений/сохранения результатов, вместо id можно сделать групповой первичный ключ на первых двух полях (после их замены на поля с соотв. идентификаторами).
     
    #2 miketomlin, 22 июн 2022
    Последнее редактирование: 22 июн 2022