Проектирование реляционных баз данных - 6 стр.

UptoLike

7
представляющие все типичные ситуации (и, желательно, предусмотреть
исключительные случаи), возникающие в данной задаче.
КОНСУЛЬТАНТ
Сном Сфам Кном Тном Курс Семестр Оценка
3215 Беляев 52412 217 Мтн1 01 Хор
3215 Беляев 52412 217 Лал1 01 Удв
3215 Беляев 52412 217 Мтн2 02 Хор
3215 Беляев 52412 217 Дфг2 02 Хор
4362 Русин 63220 118 Мтн2 02 Отл
4362 Русин 63220 118 Дфг3 03 Отл
4362 Русин 63220 118 Лал1 01 Отл
3567 Клюквин 51306 108 Трм2 02 Хор
3567 Клюквин 51306 108 Мтн1 01 Хор
3567 Клюквин 51306 108 Дфг3 03 Отл
4756 Ягодкин 51306 108 Мтн1 01 Хор
Рис.4 Универсальное отношение для базы «Консультант»
После составления универсального отношения необходимо протестировать
его на стандартные запросы пользователя БД. При этом могут быть выявлены
наиболее типичные проблемы, возникающие при использовании единственного
отношения. В качестве наиболее типичных можно отметить.
Проблема вставки
.
Пусть студент сдал очередной курс, и при этом в базу заносится новая запись,
в которой помимо новых данных должны повторяться уже имеющиеся в базе
данные относительно студента. Это представляет для программиста
определенные проблемы по обеспечению однозначности и непротиворечивости
заполнения БД. С другой стороны, новые записи могут создать проблемы при
получении ответа на некоторые запросы. Например, в базу консультант будет
внесена запись о вновь поступившем студенте, не успевшем сдать ни одного
курса. При подсчете средний балл для студентов, занесенных в базу, будет
понижен из-за этой записи.
Проблема обновления.
Наличие избыточно дублируемых данных в универсальном отношении
приводит к ситуации, когда исправляются данные в одних кортежах, а в других
могут остаться неисправленными. В этом случае программист должен затратить
дополнительные усилия на то, чтобы при исправлении дублируемых данных
отслеживались все кортежи с этими данными. Например, в базе «Консультант»
при изменении номера телефона в одной из комнат приходится отслеживать все
записи, в которых встречается этот номер комнаты. Если отношение содержит
большое количество записей, их поиск требует достаточно много времени.
Проблема удаления.
Если отношение имеет нескольких пользователей, и один из них удаляет
ненужную ему информацию, то вместе с этим могут быть потеряны и
                                       7


представляющие все типичные ситуации (и, желательно, предусмотреть
исключительные случаи), возникающие в данной задаче.
   КОНСУЛЬТАНТ
  Сном       Сфам       Кном       Тном      Курс       Семестр    Оценка
  3215       Беляев     52412      217       Мтн1       01         Хор
  3215       Беляев     52412      217       Лал1       01         Удв
  3215       Беляев     52412      217       Мтн2       02         Хор
  3215       Беляев     52412      217       Дфг2       02         Хор
  4362       Русин      63220      118       Мтн2       02         Отл
  4362       Русин      63220      118       Дфг3       03         Отл
  4362       Русин      63220      118       Лал1       01         Отл
  3567       Клюквин    51306      108       Трм2       02         Хор
  3567       Клюквин    51306      108       Мтн1       01         Хор
  3567       Клюквин    51306      108       Дфг3       03         Отл
  4756       Ягодкин    51306      108       Мтн1       01         Хор
   Рис.4 Универсальное отношение для базы «Консультант»
   После составления универсального отношения необходимо протестировать
его на стандартные запросы пользователя БД. При этом могут быть выявлены
наиболее типичные проблемы, возникающие при использовании единственного
отношения. В качестве наиболее типичных можно отметить.
    Проблема вставки.
   Пусть студент сдал очередной курс, и при этом в базу заносится новая запись,
в которой помимо новых данных должны повторяться уже имеющиеся в базе
данные относительно студента. Это представляет для программиста
определенные проблемы по обеспечению однозначности и непротиворечивости
заполнения БД. С другой стороны, новые записи могут создать проблемы при
получении ответа на некоторые запросы. Например, в базу консультант будет
внесена запись о вновь поступившем студенте, не успевшем сдать ни одного
курса. При подсчете средний балл для студентов, занесенных в базу, будет
понижен из-за этой записи.
   Проблема обновления.
   Наличие избыточно дублируемых данных в универсальном отношении
приводит к ситуации, когда исправляются данные в одних кортежах, а в других
могут остаться неисправленными. В этом случае программист должен затратить
дополнительные усилия на то, чтобы при исправлении дублируемых данных
отслеживались все кортежи с этими данными. Например, в базе «Консультант»
при изменении номера телефона в одной из комнат приходится отслеживать все
записи, в которых встречается этот номер комнаты. Если отношение содержит
большое количество записей, их поиск требует достаточно много времени.
   Проблема удаления.
   Если отношение имеет нескольких пользователей, и один из них удаляет
ненужную ему информацию, то вместе с этим могут быть потеряны и