Задание № 5083 по информатике: Реляционная база данных

Реляционная база данныхОдин ответ · среднее

В базе данных школы есть таблицы «Ученики» (КодУченика, ФИО, Класс) и «Кружки» (КодКружка, Название, Руководитель). Ученик может посещать несколько кружков, в каждом кружке занимается много учеников. Для каждого ученика нужно хранить дату записи в каждый конкретный кружок. Какая структура корректно реализует это в реляционной базе данных без избыточности и с неделимыми значениями полей?

  1. AДобавить в «Кружки» поля КодУченика и ДатаЗаписи, а в «Ученики» — поле КодКружка, чтобы таблицы ссылались друг на друга
  2. BДобавить в таблицу «Ученики» текстовое поле, где через запятую перечислены коды кружков вместе с датами записи
  3. CСоздать таблицу с полями КодУченика, КодКружка, ДатаЗаписи; составной ключ — КодУченика и КодКружка, оба поля — внешние ключи
  4. DДобавить в таблицу «Ученики» поля КодКружка и ДатаЗаписи, где КодКружка — внешний ключ на таблицу «Кружки»
Показать ответ и разборСкрыть ответ и разбор

Верный ответ

  • CСоздать таблицу с полями КодУченика, КодКружка, ДатаЗаписи; составной ключ — КодУченика и КодКружка, оба поля — внешние ключи

Разбор

Связь «ученики — кружки» имеет тип «многие-ко-многим»: один ученик посещает много кружков, а в кружке много учеников. В реляционной модели такая связь реализуется отдельной связующей таблицей. Её поля КодУченика и КодКружка — внешние ключи на «Ученики» и «Кружки», а их пара образует составной первичный ключ, поэтому одна запись соответствует одной паре «ученик — кружок». Дата записи относится к паре, а не к ученику или кружку по отдельности, поэтому её место именно в связующей таблице. Остальные варианты неверны: поле КодКружка в «Ученики» даёт связь только «один-ко-многим» и не позволяет хранить несколько кружков; перечисление кодов и дат через запятую нарушает неделимость значений (первую нормальную форму); взаимные ссылки в обеих таблицах приводят к дублированию данных и не позволяют корректно хранить дату для каждой пары.

Ошибка в задании

Опишите ошибку в условии, вариантах или разборе. Не больше 1000 знаков.

Похожие задания по теме «Реляционная база данных»

Все 22 задания темы

Репетиторы по информатике

Тренажёр

Потренируйте тему «Реляционная база данных»

22 задания по одному, с ответом и разбором сразу. Без лимита времени.

Свой пробник

Соберите пробник с таймером

Как на ЕНТ: 2 минуты на задание.

Из каких заданий
Сколько заданий