- •Р а з д е л 3. Технологии обработки данных, реализуемые системами управления базами данных
- •Логическая и физическая независимость данных:
- •Независимость Зависит от средств физического
- •Тема 4.2. Реляционный подход к построению предметной области
- •Например, отношение
- •Студент_группы Студент Группа
- •Успеваемость Студент Оценка_дисциплина
- •Типы связей. ИОб конкретной по обычно связаны между собой. При этом возможны связи следующих типов:
- •Студент Сессия,
- •Стипендия Сессия,
- •Студент Преподаватель,
- •Атрибут, Название цеха, в котором он работает
- •Завод-поставщик детали Страна-местонахождение завода-поставщика Служащий (из варианта 2).
- •Приведем пример таблицы Служащий:
- •Деталь*, Поставщик*, Цех*.
Например, отношение
Студент2 = (ФИО*, Дата, Факультет, Группа)
не приведено к 1НФ, а отношение
Студент3 = (Фамилия*, Имя*, Отчество*, Дата, Факультет, Группа)
приведено к 1НФ.
Следствием нормализации отношения и приведения его к 1НФ может быть увеличение количества атрибутов (полей) отношения и изменение его ключа. Так у отношения “Студент3” пять атрибутов, что больше трех, определяемых отношение “Студент2”, и, кроме того, составной ключ: Фамилия+Имя+Отчество. Поскольку же составной ключ хуже простого и в больших системах может оказаться неуникальным, целесообразно ввести, как и в табл.1, вспомогательный атрибут – номер, который и использовать в качестве простого ключа.
2НФ. Вторая НФ основывается на понятии функциональной зависимости в случае простого ключа и функционально полной зависимости в случае составного ключа.
Определение 5. Функциональная зависимость атрибутов – это зависимость, при которой определенному значению ключевого атрибута соответствует единственный набор значений описательных атрибутов.
Такое определение функциональной зависимости позволяет при анализе всех ИЭл ПО выделять самостоятельные ИОб, а по (определенному) значению ключа из представляющего данный ИОб отношения (таблицы) – выбирать его единственный экземпляр.
Например, для ИОб
Студент1 = (Номер*, Фамилия, Имя, Отчество, Дата, Факультет, Группа)
графическое представление функциональной зависимости выглядит так:
Номер*
Ф
амилия
И мя
О тчество
Д ата
Ф акультет
Г руппа
Определение 6. Функционально полная зависимость неключевых атрибутов выражается в том, что каждый неключевой атрибут функционально зависит от составного ключа, но не находится в функциональной зависимости ни от какой его части.
Определение 7. Отношение считается нормализованным и приведенным ко 2НФ, если оно отвечает требованиям 1НФ и каждый неключевой его атрибут функционально полно зависит от составного ключа.
Например, отношение Студент1 находится во 2НФ, а отношение
Успеваемость = (Номер*, Фамилия, Имя, Отчество, Дисциплина*, Оценка) находясь в 1НФ и имея составной ключ
Номер* + Дисциплина*,
не находится во 2НФ, так как его атрибуты: Фамилия, Имя, Отчество, - не находятся в полной функциональной зависимости от составного ключа, что графически может быть проиллюстрировано так:
Номер*
Фамилия
Имя
Отчество
Дисциплина*
Оценка
3НФ. Третья НФ основывается на понятии нетранзитивной зависимости.
Определение 8. Транзитивная зависимость – это такая зависимость, при которой первый из двух неключевых атрибутов отношения зависит от ключа, а второй – от первого описательного атрибута.
Определение 9. Отношение, находящееся во 2НФ, удовлетворяет 3НФ если в нем отсутствуют транзитивные зависимости.
Для устранения транзитивной зависимости описательных атрибутов, надо «расщепить» соответствующий ИОб. В результате расщепления ИОб часть атрибутов из него удаляется и включается в другие, возможно, вновь созданные, ИОб.
Пример «расщепления» структуры ИОб Студент_группы.
