Слайд 1Лекция 10
Проектирование реляционных баз данных на основе принципов нормализации
Слайд 2Проектирование БД
При разработке БД обычно выделяется несколько уровней моделирования, при
помощи которых происходит переход от предметной области к конкретной реализации
БД средствами конкретной СУБД. Выделяют следующие уровни:
Сама предметная область
Модель предметной области
Логическая модель данных
Физическая модель данных
Собственно БД и приложения
Слайд 3Проектирование БД
Предметная область - это часть реального мира, данные о
которой мы хотим отразить в БД.
Слайд 4Проектирование БД
Модель предметной области - это наши знания о предметной
области. Знания могут быть как в виде неформальных знаний в
мозгу эксперта, так и выражены формально при помощи каких-либо средств.
Слайд 5Проектирование БД
Логическая модель данных описывает понятия предметной области, их взаимосвязь,
а также ограничения на данные, налагаемые предметной областью.
Примеры понятий
- "сотрудник", "отдел", "проект", "зарплата".
Примеры взаимосвязей между понятиями - "сотрудник числится ровно в одном отделе", "сотрудник может выполнять несколько проектов", "над одним проектом может работать несколько сотрудников".
Примеры ограничений - "возраст сотрудника не менее 16 и не более 60 лет".
Слайд 6Проектирование БД
Физическая модель данных описывает данные средствами конкретной СУБД.
Отношения, разработанные
на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты
становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД.
Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур.
Слайд 7Критерии оценки качества логической модели данных
Адекватность БД предметной области
Легкость
разработки и сопровождения БД
Скорость выполнения операций обновления данных (вставка, обновление,
удаление кортежей)
Скорость выполнения операций выборки данных
Слайд 8Адекватность базы данных предметной области. Условия
Состояние БД в каждый момент
времени должно соответствовать состоянию предметной области.
Изменение состояния предметной области
должно приводить к соответствующему изменению состояния БД.
Ограничения предметной области, отраженные в модели предметной области, должны некоторым образом отражаться и учитываться БД.
Слайд 9Проектирование БД
Проектирование схемы БД может быть выполнено двумя путями:
путем декомпозиции
(разбиения), когда исходное множество отношений, входящих в схему БД заменяется
другим множеством отношений (число их при этом возрастает), являющихся проекциями исходных отношений;
путем синтеза, то есть путем компоновки из заданных исходных элементарных зависимостей между объектами предметной области схемы БД.
Слайд 10Проектирование БД
Классическая технология проектирования реляционных баз данных связана с теорией
нормализации, основанной на анализе функциональных зависимостей между атрибутами отношений.
Понятие функциональной
зависимости является фундаментальным в теории нормализации реляционных баз данных.
Слайд 11Основные понятия
Функциональные зависимости определяют устойчивые отношения между объектами и их
свойствами в рассматриваемой предметной области.
Функциональной зависимостью набора атрибутов В отношения
R от набора атрибутов A того же отношения, обозначаемой как R.A→R.B или A→B называется такое соотношение проекций R[A] и R[B], при котором в каждый момент времени любому элементу проекции R[A] соответствует только один элемент проекции R[B], входящий вместе с ним в какой-либо кортеж отношения R.
Слайд 12Пояснение
Функциональные зависимости определяют не текущее состояние БД, а все возможные
ее состояния, то есть они отражают те связи между атрибутами,
которые присущи реальному объекту, который моделируется с помощью БД.
Поэтому определить функциональные зависимости по текущему состоянию БД можно только в том случае, если экземпляр БД содержит абсолютно полную информацию (то есть никаких добавлений и модификации БД не предполагается).
Слайд 13Пример диаграммы FD
Для иллюстрации минимального множества используют диаграммы FD.
Например
на рисунке приведена диаграмма FD отношения СЛУЖАЩИЕ_ПРОЕКТЫ.
Слайд 14Основные понятия
Функциональная зависимость R.A→R.B называется полной, если набор атрибутов
B функционально зависит от A и не зависит функционально от
любого подмножества A,
то есть R.A→R.B называется полной, если для любого A1, являющегося подмножеством А, R.B функционально не зависит от R.A, в противном случае зависимость R.A→R.B называется неполной.
Слайд 15Основные понятия
Функциональная зависимость R.A→R.B называется транзитивной, если существует набор атрибутов
С такой, что:
С не является подмножеством А,
С не включает
в себя B,
Существует функциональная зависимость R.A→R.С,
Не существует функциональной зависимости R.С→R.А ,
Существует функциональная зависимость R.С→R.B .
Слайд 16Основные понятия
Ключом отношения называется набор атрибутов отношения, который полностью и
однозначно (функционально полно) определяет значения всех остальных атрибутов отношения, то
есть возможный ключ — это набор атрибутов, однозначно определяющий кортеж отношения, и при этом при удалении любого атрибута из этого набора его свойство однозначной идентификации кортежа теряется.
Слайд 17Основные понятия
Неключевым атрибутом называется любой атрибут отношения, не входящий в
состав ни одного возможного ключа отношения.
Взаимно-независимые атрибуты — это такие
атрибуты, которые не зависят функционально один от другого.
Если в отношении существует несколько функциональных зависимостей, то каждый атрибут или набор атрибутов, от которого зависит другой атрибут, называется детерминантом отношения.
Слайд 18Основные понятия
Схемы БД называются эквивалентными, если содержание исходной БД может
быть получено путем естественного соединения отношений, входящих в результирующую схему,
и при этом не появляется новых кортежей в исходной БД.
Слайд 19Пояснение
Процесс проектирования с использованием декомпозиции представляет собой процесс последовательной нормализации
схем отношений, при этом каждая последующая итерация соответствует нормальной форме
более высокого уровня и обладает лучшими свойствами по сравнению с предыдущей.
Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений.
Слайд 20Классификация НФ
В теории реляционных БД обычно выделяется следующая последовательность нормальных
форм:
первая нормальная форма (1NF);
вторая нормальная форма (2NF);
третья нормальная
форма (3NF);
нормальная форма Бойса—Кодда (BCNF);
четвертая нормальная форма (4NF);
пятая нормальная форма, или форма проекции-соединения (5NF или PJNF).
Слайд 21Свойства НФ
Основные свойства нормальных форм:
каждая следующая нормальная форма в некотором
смысле улучшает свойства предыдущей;
при переходе к следующей нормальной форме
свойства предыдущих нормальных форм сохраняются.
Слайд 221НФ
Отношение находится в первой нормальной форме тогда и только тогда,
когда на пересечении каждого столбца и каждой строки находятся только
элементарные значения атрибутов.
Слайд 23Свойства 1НФ
Свойства 1НФ:
В отношении нет одинаковых кортежей.
Кортежи не
упорядочены.
Атрибуты не упорядочены и различаются по наименованию.
Все значения
атрибутов атомарны.
Слайд 24Пояснение 1НФ
Отношения, находящиеся в первой нормальной форме, часто называют просто
нормализованными отношениями.
Соответственно, ненормализованные отношения могут интерпретироваться как таблицы с
неравномерным заполнением.
Слайд 25Таблица с неравномерным заполнением
Слайд 282 НФ
Схема отношения R находится во 2НФ относительно множества функциональных
зависимостей F, если она находится в 1НФ и каждый неключевой
атрибут полностью зависит от каждого ключа для R.
Пояснение.
Отношение находится во 2НФ, если оно находится в 1НФ, и при этом все неключевые атрибуты зависят только от ключа целиком, а не от какой-то его части.
Слайд 303 НФ
Схема отношения R находится в 3НФ относительно множества функциональных
зависимостей F, если она находится в 2НФ и ни один
из непервичных атрибутов в R не является транзитивно зависимым от ключа для R.
Пояснение.
Чтобы привести отношение к 3НФ, необходимо устранить функциональные зависимости между неключевыми атрибутами отношения. Другими словами, факты, хранимые в таблице, должны зависеть только от ключа.
Слайд 32НФ Бойса-Кодда
Отношение находится в нормальной форме Бойса—Кодда, если оно находится
в третьей нормальной форме и каждый детерминант отношения является возможным
ключом отношения.
Примечания.
Если в отношении существует несколько функциональных зависимостей, то каждый атрибут или набор атрибутов, от которого зависит другой атрибут, называется детерминантом отношения.
Возможный ключ — это набор атрибутов, однозначно определяющий кортеж отношения, и при этом при удалении любого атрибута из этого набора его свойство однозначной идентификации кортежа теряется.
Слайд 334НФ
Отношение R находится в четвертой нормальной форме (4NF) в том
и только в том случае, если в случае существования многозначной
зависимости A ->> B все остальные атрибуты R функционально зависят от A.
Слайд 345 НФ
Отношение R находится в пятой нормальной форме (нормальной форме
проекции-соединения — PJ/NF) в том и только в том случае,
когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.