- •Лекция 1. Основные понятия бд
- •Основные понятия бд.
- •Назначение бд
- •Этапы развития бд
- •Средства и методы анализа предметной области.
- •Модель процесса
- •Модель потока данных
- •Функции, структура и архитектура субд.
- •Архитектура субд.
- •Структура современной субд.
- •Языки субд.
- •Модели данных.
- •Иерархическая модель данных
- •Сетевая модель данных
- •Проблемы проектирования рбд
- •Инфологическое моделирование бд
- •Этапы инфологического моделирования
- •Лекция 3. Основные понятия реляционной модели бд
- •Основные понятия
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Лекция 4. Методы проектирование реляционной модели данных
- •Аномалии реляционной модели бд
- •Получение реляционной схемы из er-схемы
- •Нормальные формы отношения
- •Ограниченность реляционной модели при проектировании баз данных
- •Лекция 5. Физический уровень представления
- •Основные понятия
- •Файлы прямого доступа
- •Организация стратегии свободного замещения
- •Методы управления физической моделью бд
- •Особенности методов доступа
- •Лекция 6. Основы языка sql
- •Структура и типы данных sql
- •Состав sql
- •Типы данных в sql
- •Команды sql
- •Оператор create table
- •Оператор insert
- •Оператор alter table
- •Оператор update
- •Оператор delete
- •Оператор select
- •Оператор create index
- •Оператор drop
- •Лекция 7. Хранимые процедуры и триггеры
- •Хранимая процедура
- •Триггеры
- •Программирование триггера
- •Особенности применения триггера
- •Лекция 8. Транзакции.
- •Проблемы параллелизма
- •Понятие транзакции
- •Управление транзакциями
- •Управление транзакциями в среде ms sql Server
- •Определение транзакций
- •Описание явных транзакций
- •Вложенные транзакции
- •Уровни изоляции sql Server
- •Блокировки
- •Назначение блокировок
- •Уровни блокировок
- •Тупиковые блокировки
Нормальные формы отношения
Каждой нормальной форме соответствует определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений. Примером может служить ограничение первой нормальной формы – значения всех атрибутов отношения атомарны. В теории РБД обычно выделяется следующие нормальные формы:
первая нормальная форма (1NF);
вторая нормальная форма (2NF);
третья нормальная форма (3NF);
нормальная форма Бойса-Кодда (BCNF);
четвертая нормальная форма (4NF);
пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).
Основные свойства нормальных форм состоят в следующем:
каждая следующая нормальная форма в некотором смысле лучше предыдущей нормальной формы;
при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.
Ограничения нормальной формы связаны с понятием функциональной зависимости атрибутов. Дадим определение функциональной зависимости.
Пусть X и Y – атрибуты некоторого отношения R. Если в любой момент времени каждому значению X соответствует единственное значение Y, то Y функционально зависит от X (X→Y).
Атрибут Y функционально полно зависимости от составного атрибута X, если он функционально зависит от X и не зависит функционально от любого подмножества атрибута X.
Теперь введем определения НФ.
Определение 3. Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда каждое поле отношение содержит атомарное значение.
Определение 4. Отношение находится во второй нормальной форме (2НФ), если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от ключа.
Определение 5. Отношение находится в третьей нормальной форме (3НФ), если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Определение 6. Отношение находится в нормальной форме Бойса-Кодда (НФБК), тогда и только тогда, когда любая функциональная зависимость между его атрибутами сводится к полной функциональной зависимости от вероятностного ключа.
Для получения качественной РБД в большинстве случаев достаточно приведение схемы её отношений в 3НФ или НФБК. Для достижения этого используют процесс нормализации, т.е. приведения отношения в требуемую НФ. Процесс нормализации схемы отношения, входящего в состав РБД, выполняется путём её декомпозиции, разбиения отношения на отношения с более простой схемой. Декомпозицией схемы отношения R называется замена её совокупностью схем отношений Аi таких, что
,
При этом не требуется, чтобы отношения Аi были непересекающимися. Декомпозиция должна удовлетворять двум основным свойствам:
соединения без потерь
сохранение зависимостей.
Многозначные зависимости: Пусть А, В и С – подмножества атрибутов R . В А, тогда и только тогда, когда множество значений В, соответствующее заданной паре (А,С) в R , зависит от А, но не зависит от С.
Теорема Фейгина: (более строгая форма теоремы Хита) Пусть А,В,С – множества атрибутов в R. R будет равна соединению ее проекций {A,B} и {A,C} тогда и только тогда, когда для R выполняется В А,
Переменная R находится в 4НФ, если она находится в НФБК и все многозначные зависимости фактически представляют собой функциональные зависимости от ее ключей.
Определение 7. Отношение R удовлетворяет зависимости соединения тогда и только тогда, когда любое допустимое значение R эквивалентно соединению ее проекций по подмножествам ее атрибутов.
Определение 8. Отношение R находится в 5НФ (проекционно-соединительной НФ) тогда и только тогда, когда каждая нетривиальная зависимость соединения (т.е. не совпадающая с R) подразумевается ее потенциальными ключами.
Процесс нормализации включает следующие шаги:
Отношение в 1НФ разбить на проекции, которые позволяют исключить все функциональные зависимости, не являющиеся неприводимыми. Получаем набор отношений в 2НФ.
Отношений в 2НФ разбиваем на проекции, в которых нет транзитивных зависимостей. Получаем набор отношений в 3НФ.
Отношения в 3НФ разбиваем на проекции, в которых нет отношений с детерминантами, не являющимися потенциальными ключами. Получаем набор отношений в НФБК.
Отношения НФБК разбиваем на проекции, исключающие многозначные зависимости , которые не являются функциональными. Получаем набор отношений в 4НФ.
Исключаем зависимости соединения для 4НФ.
