
Нормализация отношений.
Нормализация отношений – формальный аппарат ограничений на формирование таблиц, который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение БД
Отношение называется нормализованным (или находящимся в первой нормальной форме), если все его атрибуты далее неделимы. Преобразование отношения к первой нормальной форме может привести к увеличению количества полей таблицы и изменению ключа.
Например, таблица Студент –(Номер,ФИО, Дата рождения, группа) находятся в первой нормальной форме.
Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и каждый неключевой атрибут функционально полно зависит от (составного) ключа.
Так, отношение СТУДЕНТ находится во второй нормальной форме, так как его неключевые атрибуты функционально зависят от ключа Номер зачетной книжки. Отношение СЕССИЯ, имеющее составной ключ Номер зачетной книжки + Результат сдачи сессии, не находится во второй нормальной форме, так как атрибуты Оценка1 и т.д. не находятся в полной функциональной зависимости от составного ключа. Функциональная зависимость реквизитов – зависимость, при которой в экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного характера.
Понятие третьей нормальной формы связано с понятием транзитивной зависимости. Транзитивная зависимость наблюдается в том случае, если один из двух описательных реквизитов зависит от ключа, а другой описательный реквизит зависит от первого описательного реквизита. Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от ключа.
Пример. Если в состав описательных реквизитов информационного объекта Студент включить фамилию старосты группы (староста), которая определяется только номером группы то одна и та же фамилия старосты будет многократно повторяется в разных экземплярах данного информационного объекта. В этом случае наблюдаются затруднения в корректировке фамилии старосты и в случае назначения нового старосты,а также неоправданный расход памяти для хранения дублированной информации.
Типы связей.
Различают связи нескольких типов:
Один к одному;
Один ко многим;
Многие ко многим.
Пример. Студент (Номер,Фамилия,Имя,ОтчествоДата рождения, группа)
Сессия (Номер,Оценка 1,Оценка 2, и т.д.,Результат)
Стипендия (результат)
Преподаватель (код преподавателя,ФИО)
Связь один к одному предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот.
Пример:Студент и Сессия
Каждый студент имеет определенный набор экзаменацационных оценок в сеесию.
При связи один ко многим одному экземпляру информационного объекта А соответствует 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экз. объекта А.
Пример: Стипендия и сессия. Установленный размер стипендии по результатам сдачи сессии может повторяться многократно для различных студентов.
Связь многие ко многим предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 1или более экземпляров информационного объекта В и наоборот.
Пример: Связь между объектами Студент Преподаватель.
Один студент обучается у многих преподавателей, один преподаватель обучает многих студентов.