С введением таблицы перекрестных связей

Рассмотрим моделирование информационного представления сдачи студентом экзаменов.

1. Выделим сущности и дадим им имена: СТУДЕНТ, ЭКЗАМЕН.

2. Определим атрибуты каждой сущности:

o СТУДЕНТ - № зачетной книжки, фамилия, имя, отчество, специальность, группа, телефон, домашний адрес;

o ЭКЗАМЕН – номер экзамена, название предмета, дата, преподаватель;

3. Определим уникальный идентификатор каждой сущности – первичный ключ:

o СТУДЕНТ - № зачетной книжки,

o ЭКЗАМЕН – номер экзамена,

4. Определим связь и дадим ей имя: СТУДЕНТ сдает ЭКЗАМЕН. Эта связь – «многие-ко-многим», ее надо заменить новой таблицей, дадим ей имя ЭКЗАМЕН_СТУДЕНТА. Основной атрибут этой сущности – оценка. Чтобы отличать оценки, полученные разными студентами на разных экзаменах, добавим атрибут для первичного ключа – номер оценки.

5. Определим связи новой сущности:

o ЭКЗАМЕН_СТУДЕНТА позволяет оценить знания СТУДЕНТа (студент сдает конкретный экзамен один раз, а таких экзаменов – много, «один-ко-многим»), для связывания таблиц в дочернюю таблицу ЭКЗАМЕН_СТУДЕНТА копируем первичный ключ таблицы СТУДЕНТ – поле «№ зачетной книжки»;

o ЭКЗАМЕН_СТУДЕНТА сдается на ЭКЗАМЕНе (на конкретном экзамене многие студенты сдают экзамен и каждый получает оценку, связь «один-ко-многим»); для связывания таблиц в дочернюю таблицу ЭКЗАМЕН_СТУДЕНТА копируем первичный ключ таблицы ЭКЗАМЕН – поле «номер экзамена».

6. Построим ER-диаграмму, таблицы ЭКЗАМЕН и СТУДЕНТ можно определить как справочники, из них берется информация для таблицы ЭКЗАМЕН_СТУДЕНТА (ЭКЗАМЕН и СТУДЕНТ – родительские, расположим их выше, ЭКЗАМЕН_СТУДЕНТА – дочерняя).

СТУДЕНТ           ЭКЗАМЕН
РК № зачетной книжки фамилия имя отчество дата поступления специальность, группа домашний адрес         PK номер экзамена название предмета дата преподаватель
        ЭКЗАМЕН_СТУДЕНТА        
      PK FK FK номер оценки № зачетной книжки номер экзамена оценка        

7. Проверим, можно ли получить ответы на запросы:

o определить оценку студента по фамилии «Иванов» по предмету «Математика»,

o узнать, когда Иванов сдавал информатику,

o какой преподаватель принимал химию у Иванова,

o сколько «пятерок» поставил преподаватель Петров.

ПРИМЕЧАНИЕ. В данной задаче в таблице ЭКЗАМЕН_СТУДЕНТА можно было не вводить поле «номер оценки» (п. 4), а использовать составной первичный ключ – поля «№ зачетной книжки» и «номер экзамена», т.к. они однозначно определяют оценку каждого студента по конкретному экзамену.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: