- •Введение
- •1. Основные понятия и термины
- •2. Логическое и концептуальное моделирование бд
- •Процесс построения модели данных
- •3. Модели данных
- •3.1. Иерархическая модель данных
- •3.2. Сетевая модель данных
- •3.3. Модель данных “сущность - связь”
- •3.4. Бинарная модель данных
- •3.5. Реляционная модель данных
- •4. Проектирование реляционных баз данных
- •4.1. Основные понятия
- •4.2. Ключи отношений
- •5.3. Операции над отношениями
- •5.3.1. Реляционные операторы
- •3. Применяем оператор выбора,
- •4.3.2. Операции обновления отношений
- •4.3.3. Другие операции над отношениями
- •4.4. Функциональные зависимости
- •4.5. Нормальные формы схем отношений
- •4.5.1. Первая нормальная форма ( 1 нф)
- •4.5.2. Вторая нормальная форма ( 2 нф)
- •4.5.3. Третья нормальная форма ( 3 нф)
- •4.5.4. Нормальная форма Бойса-Кодда (нфбк)
- •4.5.5. Многозначные зависимости. Четвертая нормальная форма
- •4.6. Декомпозиция схем отношений
- •4.7. Целостность данных
- •5. Системы управления базами данных (субд)
- •5.1. Функции субд
- •5.2. Языки баз данных
- •5.3. Типовая организация современной субд
- •5.4. Структуры внешней памяти
- •5.5. Хранение отношений
- •5.6. Индексы
- •5.6.2. Хэширование
- •5.6.3. Доступ к данным на основе инвертированных списков
- •6. Сетевые базы данных
- •6.1. Субд в архитектуре "клиент-сервер"
- •6.1.1. Открытые системы
- •6.1.2. Клиенты и серверы локальных сетей
- •6.1.3. Системная архитектура "клиент-сервер"
- •6.1.4. Серверы баз данных
- •6.1.5. Принципы взаимодействия между клиентом и сервером
- •6.1.6. Протоколы удаленного вызова процедур
- •6.1.7. Разделение функций между клиентами и серверами
- •6.1.8. Требования к аппаратным возможностям и программному обеспечению клиентов и серверов
- •6.2. Распределенные бд
- •6.2.1. Разновидности распределенных систем
- •6.2.2. Однородные распределенные системы
- •6.2.3. Интегрированные или федеративные системы и мультибазы данных
- •7. Современные направления разработок баз данных
- •Список используемой литературы:
4.5.3. Третья нормальная форма ( 3 нф)
Пример:
Отношение “Эксперимент”
R=
-
Шифр
Ш
Дата
D
Код
К
Испытатель
И
Р21
6 июня
31174
Иванов
Р21
7 июня
30046
Петров
П814
9 июня
31174
Иванов
Х
A
Y
Этому отношению назначены ФЗ-ти
F
К И
И К
Допустим, мы хотим модифицировать это отношение:
СН( Эксперимент; Р21, 6 июня; Код=31035; Испытатель=Иванов)
Выполнение этой модификации приводит к нарушению объявленной ФЗ-ти И К.
Отношение “Эксперимент” находится во 2-ой НФ, так как ключ ШD - единственный, атрибуты Код и Исследователь являются непервичными и полностью зависят от ключа.
Для данной схемы отношения R подмножества Х (Х R), атрибута А R и множества ФЗ-тей F на R, атрибут А называется транзитивно зависимым от Х в R, если существует подмножество YR такое, что X Y (функционально связано), YX (функционально не связано), и Y A относительно F, при этом AXY (не принадлежит ни X, ни Y).
Пример:
Отношение “Эксперимент”
F
ШD КИ
К И
И К
Атрибут И транзитивно зависит от ШD, так как (по аксиоме проективности).
Аналогично К будет транзитивно зависеть от ШD.
Схема отношений R находится в 3-ей НФ относительно множества ФЗ-тей F, если она находится в 1-ой НФ и ни один из первичных атрибутов не является транзитивно зависимым от ключей в R.
Лемма: Любая схема отношения, находящегося в 3-ей НФ относительно F, находится и во 2-ой НФ относительно F.
Доказательство этого факта вытекает из того факта, что частичная зависимость определяет транзитивную зависимость
Пример:
Отношение “Эксперимент” в предыдущем примере заменим двумя отношениями, каждое из которых будет находиться в 3-ей НФ:
“Эксперимент” “Испытатель”
-
-
Код
Испытатель
31174
Иванов
30046
Петров
Дата
Код
Р21
6 июня
31174
Р21
7 июня
30046
П814
9 июня
31174
-
Теперь ФЗ-ть Испытатель Код не может быть нарушена при проведении модификации в отношении “Испытатель”.
4.5.4. Нормальная форма Бойса-Кодда (нфбк)
Пример:
-
Подсистема
П
Подпрограмма
S
Параметр
Р
А
SUB 1
P1
В
SUB 1
P1
В
SUB 2
P2
С
SUB 1
P1
F
ПS
P
P
S
1) В подсистеме каждая подпрограмма вычисляет только один параметр;
2) Каждый параметр вычисляется только одной подпрограммой.
Данное отношение находится в 3-ей НФ , так как в нем отсутствуют непервичные атрибуты.
Ключи = { ПS, ПP }
Можно выявить следующие особенности этого отношения:
- имеется избыточность информации из-за дублирования пар S и P;
- кроме того, имеется такая аномалия, что нельзя записать информацию о параметре, вычисляемом в некоторой подсистеме, если пока неизвестна подпрограмма, которая вычисляет этот параметр.
Таким образом, 3 НФ может обладать подобными нежелательными свойствами. Чтобы избавиться от них, необходимо использовать так называемую нормальную форму Бойса-Кодда.
Схема отношений R находится в нормальной форме Бойса-Кодда (НФБК) относительно множества ФЗ-тей F, если она находится в 1-ой НФ и всякий раз, когда в F+ имеет место зависимость ХА, где А Х и Х включает в себя некоторый ключ отношения R.
Иными словами, допускаются только такие нетривиальные зависимости (не типа ХХ), в которых ключ функционально определяет 1 или более атрибутов. Отношение может быть в 3 НФ, но не быть в НФБК.
В рассмотренном примере имеется нетривиальная зависимость PS и в то же время Р не является ключом.
Теорема: Любая схема отношения, находящаяся в НФБК относительно F, находится и во в 3-ей НФ.
Пример:
Приведение к НФБК превращает одно отношение в два.
Первое ПР с ключом {ПР}, второе SP с ключом Р.
-
-
Подпрограмма
S
Параметр
Р
SUB 1
P1
SUB 2
P2
П
Параметр
Р
А
P1
В
P1
В
P2
НФБК
СP1
-
Проблемы НФБК:
Схема БД находится в некоторой НФ, если каждое отношение этой БД находится в этой НФ.
Справедливо, что при заданном множестве ФЗ-тей, приписанных схеме БД, над схемой можно произвести преобразование, приводящее ее в 3-ю НФ. Эта форма полностью характеризует ФЗ-ти. Все соединения отношений осуществляется без потери информации.
Для НФБК подобное утверждение уже неверно, так как не всегда можно найти схему БД, полностью характеризующую множество ФЗ-тей F.