Слайд 2
1) выбор СУБД и определение модели представления данных
2)
преобразование сущностей концептуальной модели с учетом выбранной модели представления
данных
Нормализация Алгоритм
3) определение состава хранящихся в БД и вычисляемых показателей
4) введение искусственных идентификаторов
Содержание даталогического проектирования баз данных
Арефьева Е.А. ДП БД
Слайд 3
Критерии оценки базы данных
Адекватность
Полнота
Адаптируемость к изменениям предметной области
Адаптация
к изменениям информационных потребностей пользователей
Адаптация к изменению программных и
технических средств
Универсальность
Сложность
Степень дублирования данных в БД
Сложность обработки данных
Объем требуемой памяти
Скорость обработки информации
Арефьева Е.А. ДП БД
Слайд 4
Реляционная модель представления данных
Арефьева Е.А. ДП БД
Номера зачеток
Фамилия,
Имя, Отчество
Коды групп
Размер стипендии
Домены
Целые числа
Строки символов
Деньги
Типы данных
Атрибуты
Первичный ключ
Кортежи
Схема отношения
«Студенты»
Отношение «Студенты»
Слайд 5
Реляционная модель представления данных
Арефьева Е.А. ДП БД
Схема отношения
- это именованное множество пар {имя атрибута, имя домена
(или типа)}.
Кортеж - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения.
Отношение - это множество кортежей, соответствующих одной схеме отношения.
Реляционная база данных - это набор отношений.
Слайд 6
Требования к реляционной модели
Арефьева Е.А. ДП БД
Слайд 7
Последовательность нормальных форм
Основные свойства нормальных форм
Арефьева Е.А. ДП
БД
первая нормальная форма (1NF);
вторая нормальная форма (2NF);
третья
нормальная форма (3NF);
нормальная форма Бойса-Кодда (BCNF);
четвертая нормальная форма (4NF);
пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).
каждая следующая нормальная форма в некотором смысле лучше предыдущей;
при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.
Нормализация отношений
Слайд 8
Некоторые понятия
Арефьева Е.А. ДП БД
Определение 1. Функциональная зависимость
В отношении R атрибут Y функционально зависит от атрибута
X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.
Определение 2. Транзитивная функциональная зависимость
Функциональная зависимость R.X -> R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X -> R.Z и R.Z -> R.Y и отсутствует функциональная зависимость R.Z --> R.X.
Определение 3. Неключевой атрибут
Неключевым атрибутом называется любой атрибут отношения, не входящий в состав первичного ключа.
Определение 4. Взаимно независимые атрибуты
Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.
Слайд 9
1 и 2 нормальные формы
Арефьева Е.А. ДП БД
Первая
нормальная форма (1NF)
Значения всех атрибутов отношения атомарны.
Отсутствуют повторяющиеся
группы атрибутов.
Вторая нормальная форма
Один ключевой атрибут - Отношение R находится во второй нормальной форме (2NF) в том и только в том случае, когда находится в 1NF, и каждый неключевой атрибут полностью зависит от первичного ключа.
Несколько ключей - Отношение R находится во второй нормальной форме в том и только в том случае, когда оно находится в 1NF, и каждый неключевой атрибут полностью зависит от каждого ключа R.
Слайд 10
Пример. Исходное отношение
Арефьева Е.А. ДП БД
СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ
(СОТР_НОМЕР, СОТР_ЗАРП,
ОТД_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)
Первичный ключ:
СОТР_НОМЕР, ПРО_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР -> СОТР_ЗАРП
СОТР_НОМЕР -> ОТД_НОМЕР
ОТД_НОМЕР -> СОТР_ЗАРП
СОТР_НОМЕР, ПРО_НОМЕР -> СОТР_ЗАДАН
Слайд 11
Пример. Преобразованные отношения
Арефьева Е.А. ДП БД
СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, СОТР_ЗАРП,
ОТД_НОМЕР)
Первичный ключ:
СОТР_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР -> СОТР_ЗАРП
СОТР_НОМЕР -> ОТД_НОМЕР
СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)
Первичный ключ:
СОТР_НОМЕР, ПРО_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН
Слайд 12
3 нормальная форма
Арефьева Е.А. ДП БД
Третья нормальная форма.
Единственный ключ - Отношение R находится в третьей нормальной
форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Составной ключ - Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 1NF, и каждый неключевой атрибут не является транзитивно зависимым от какого-либо ключа R.
Слайд 13
Пример. Исходное отношение
Арефьева Е.А. ДП БД
СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, СОТР_ЗАРП,
ОТД_НОМЕР)
Первичный ключ:
СОТР_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР -> СОТР_ЗАРП
СОТР_НОМЕР -> ОТД_НОМЕР
ОТД_НОМЕР -> СОТР_ЗАРП
Слайд 14
Пример. Преобразованные отношения
Арефьева Е.А. ДП БД
СОТРУДНИКИ (СОТР_НОМЕР, ОТД_НОМЕР)
Первичный ключ:
СОТР_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР -> ОТД_НОМЕР
ОТДЕЛЫ
(ОТД_НОМЕР, СОТР_ЗАРП)
Первичный ключ:
ОТД_НОМЕР
Функциональные зависимости:
ОТД_НОМЕР -> СОТР_ЗАРП
Слайд 15
Нормальная форма Бойса-Кодда
Арефьева Е.А. ДП БД
Детерминант
Детерминант -
любой атрибут, от которого полностью функционально зависит некоторый другой
атрибут.
Нормальная форма Бойса-Кодда
Отношение R находится в нормальной форме Бойса-Кодда (BCNF) в том и только в том случае, если каждый детерминант является возможным ключом.
Слайд 16
Пример. Исходные отношения
Арефьева Е.А. ДП БД
СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, СОТР_ПАСПОРТ,
ПРО_НОМЕР, СОТР_ЗАДАН)
Возможные ключи:
СОТР_НОМЕР, ПРО_НОМЕР
СОТР_ПАСПОРТ, ПРО_НОМЕР
Функциональные
зависимости:
СОТР_НОМЕР -> CОТР_ПАСПОРТ
СОТР_НОМЕР -> ПРО_НОМЕР
СОТР_ИМЯ -> CОТР_НОМЕР
СОТР_ИМЯ -> ПРО_НОМЕР
СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН
СОТР_ПАСПОРТ, ПРО_НОМЕР -> CОТР_ЗАДАН
Слайд 17
Пример. Преобразованные отношения
Арефьева Е.А. ДП БД
СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ПАСПОРТ)
Возможные ключи:
СОТР_НОМЕР
СОТР_ПАСПОРТ
Функциональные зависимости:
СОТР_НОМЕР -> CОТР_ПАСПОРТ
СОТР_ПАСПОРТ -> СОТР_НОМЕР
СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)
Возможный ключ:
СОТР_НОМЕР, ПРО_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН
Слайд 18
4 нормальная форма
Арефьева Е.А. ДП БД
Многозначные зависимости
В отношении R (A, B, C) существует многозначная зависимость
R.A -> -> R.B в том и только в том случае, если множество значений B, соответствующее паре значений A и C, зависит только от A и не зависит от С.
Теорема Фейджина
Отношение R (A, B, C) можно спроецировать без потерь в отношения R1 (A, B) и R2 (A, C) в том и только в том случае, когда существует MVD A -> -> B | C. Под проецированием без потерь понимается такой способ декомпозиции отношения, при котором исходное отношение полностью и без избыточности восстанавливается путем естественного соединения полученных отношений.
Четвертая нормальная форма
Отношение R находится в четвертой нормальной форме (4NF) в том и только в том случае, если в случае существования многозначной зависимости A -> -> B все остальные атрибуты R функционально зависят от A.
Слайд 19
Пример
Арефьева Е.А. ДП БД
ПРОЕКТЫ (ПРО_НОМЕР, ПРО_СОТР, ПРО_ЗАДАН)
В
отношении ПРОЕКТЫ существуют следующие две многозначные зависимости:
ПРО_НОМЕР ->
-> ПРО_СОТР
ПРО_НОМЕР -> -> ПРО_ЗАДАН
Результат
ПРОЕКТЫ-СОТРУДНИКИ (ПРО_НОМЕР, ПРО_СОТР)
ПРОЕКТЫ-ЗАДАНИЯ (ПРО_НОМЕР, ПРО_ЗАДАН)
Слайд 20
5 нормальная форма
Арефьева Е.А. ДП БД
Зависимость соединения
Отношение
R (X, Y, ..., Z) удовлетворяет зависимости соединения *
(X, Y, ..., Z) в том и только в том случае, когда R восстанавливается без потерь путем соединения своих проекций на X, Y, ..., Z.
Пятая нормальная форма
Отношение R находится в пятой нормальной форме (нормальной форме проекции-соединения - PJ/NF) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.
Слайд 21
Пример
Арефьева Е.А. ДП БД
СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (СОТР_НОМЕР, ОТД_НОМЕР, ПРО_НОМЕР)
Введем
следующие имена составных атрибутов:
СО = {СОТР_НОМЕР, ОТД_НОМЕР}
СП
= {СОТР_НОМЕР, ПРО_НОМЕР}
ОП = {ОТД_НОМЕР, ПРО_НОМЕР}
Предположим, что в отношении СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ существует зависимость соединения: * (СО, СП, ОП)
Результат:
СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, ОТД_НОМЕР)
СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР)
ОТДЕЛЫ-ПРОЕКТЫ (ОТД_НОМЕР, ПРО_НОМЕР)
Слайд 22
Нормализация отношений
Исходной точкой является представление предметной области в
виде одного или нескольких отношений, и на каждом шаге
проектирования производится некоторый набор схем отношений, обладающих лучшими свойствами. Процесс проектирования представляет собой процесс нормализации схем отношений, причем каждая следующая нормальная форма обладает свойствами лучшими, чем предыдущая.
Арефьева Е.А. ДП БД
Слайд 23
Пример нормализации отношений
Арефьева Е.А. ДП БД
Слайд 24
Алгоритм перехода от ER-модели к реляционной модели данных
Арефьева
Е.А. ДП БД
Слайд 25
Алгоритм перехода от ER-модели к реляционной модели данных
Арефьева
Е.А. ДП БД
Слайд 26
Преобразование связи «Многие ко многим»
Арефьева Е.А. ДП БД
Слайд 27
Преобразование связи «Один ко многим»
Арефьева Е.А. ДП БД
Слайд 28
Алгоритм перехода от ER-модели к реляционной модели данных
Арефьева
Е.А. ДП БД
Слайд 29
Пример преобразования
ER-диаграммы в логическую модель
Простые объекты:
Единичные
свойства
Множественные свойства
Условные свойства
Составные свойства
Вычисляемые поля
Связь:
«Многие ко многим»
«Один
к многим»
«Один к одному»
Арефьева Е.А. ДП БД
Слайд 30
Результаты даталогического проектирования
Арефьева Е.А. ДП БД