Реляционная база данных школы содержит таблицы: StudyGroup(GroupCode, Curator), Student(StudentID, FullName, GroupCode), Exam(ExamID, Subject, ExamDate), Result(StudentID, ExamID, Score). Каждый студент учится ровно в одной группе, в группе много студентов. Студент сдаёт несколько экзаменов, каждый экзамен сдают многие студенты, по каждому экзамену у студента одна оценка. Оценки в таблице Result повторяются. Определите верные утверждения об этой базе данных.
Показать ответ и разборСкрыть ответ и разбор
Верный ответ
- AСвязь между Student и Exam — «многие ко многим», она реализована через Result
- CПервичный ключ таблицы Result составляют поля StudentID и ExamID
- EПоле GroupCode в таблице Student является внешним ключом
Разбор
1) Студент может сдавать много экзаменов, а экзамен сдают многие студенты. Поэтому ни StudentID, ни ExamID по отдельности запись не определяют, а пара значений уникальна (по экзамену у студента одна оценка). Значит, «Первичный ключ таблицы Result составляют поля StudentID и ExamID» — верно. 2) GroupCode — первичный ключ в StudyGroup, а в Student он ссылается на эту таблицу, то есть является внешним ключом. Утверждение верно. 3) Student и Exam связаны «многие ко многим», а таблица Result со связями с обеими таблицами служит связующей. Утверждение верно. 4) Оценки повторяются, поэтому Score не уникально и не может быть первичным ключом. 5) Группа содержит многих студентов, а студент учится в одной группе, значит связь «один ко многим», а не «многие ко многим». 6) Студент сдаёт несколько экзаменов, поэтому StudentID в Result повторяется, и требование уникальности неверно.