- •Курс лекций для студентов заочной формы обучения
- •Содержание
- •Введение
- •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. Нормальные формы схем отношений
Для того, чтобы избежать информационной избыточности БД, а также трудностей сохранения целостности БД при выполнении операций включения, удаления и модификации необходимо логическую схему БД выражать в виде совокупности схем отношений в так называемой нормальной форме (НФ).
НФ представляет собой ограничения на схему отношений. Различают 4 вида НФ: 1 НФ, 2 НФ, 3 НФ и 4НФ. Эти формы подчиняются правилу вложенности, то есть если отношение находится в 4 НФ, одновременно оно находится и в 1, 2 и 3 НФ.
4.5.1. Первая нормальная форма ( 1 нф)
Схема отношений R находится в 1НФ, если значение, определяемое доменом каждого атрибута является атомарным, то есть значения не являются ни списками, ни множествами простых или сложных значений, и если их нельзя использовать по частям. Другими словами, в БД нет одинаковых кортежей.
Пример:
Отношение “Эксперимент”
-
Это отношение не находится в 1 НФ, если по отношению к нему назначается запрос типа “Выдать шрифты всех экспериментов, которые проводились в июне”
R=
ШифрДата
Р2В
7 июня 1999
Р2Г
21 марта 2000
П1Н
14 мая 2000
П2Н
26 июня 2000
- 1 НФ
-
R=
ШифрДень
Месяц
Год
Р2В
7
июнь
1999
Р2Г
21
март
2000
П1Н
14
май
2000
П2Н
26
июнь
2000
4.5.2. Вторая нормальная форма ( 2 нф)
Пример:
Этому отношению назначена ФЗ-ть типа
шифр №
стенда
R=
-
Шифр
Дата
Испытатель
№ стенда
Р21
6 июня
Иванов
1
Р21
7 июня
Петров
1
П814
9 июня
Иванов
3
ключ
Допустим, мы хотим модифицировать:
СН( Эксперимент; Р21, 6 июня; Испытатель=Иванов; № стенда=2)
Выполнение этой модификации приводит к нарушению объявленной ФЗ-ти шифр № стенда. Чтобы ее не нарушить, необходимо произвести замену для данного шифра № стенда на новый, хотя изначально предполагалось скорректировать только 1 кортеж. Эта проблема возникла из-за того, что схема отношений не находится во 2-ой НФ.
Схема отношений R находится в 2 НФ, если она находится в 1 НФ и если в этом отношении каждая позиция, не входящая в ключ (непервичный атрибут), функционально полно зависит от ключа.
Для данного множества ФЗ-тей F и данной ФЗ - ти XY, в F+множество Y называется частично зависимым от Х относительно F, если существует ХХ такое, что зависимость из ХYF+(также принадлежит F*). В противном случае Y называется полностью зависимым от Х.
Пример:
Отношение “Эксперимент”
-
R=
ШифрДата
Испытатель
№ стенда
Р21
6 июня
Иванов
1
Р21
7 июня
Петров
1
П814
9 июня
Иванов
3
Ш
Д
И
N
Обозначим
F
ШD ИN
Ш N
ФЗ-ти F трактуются следующим образом:
1-я - одновременно эксперимент может производится только на одном стенде;
2-я - каждый эксперимент производится только на одном стенде.
Рассмотрим ФЗ-ть вида ШD N.
Так как существует F-зависимость ШD ИN, то согласно аксиоме проектирования существует ФЗ-ть вида ШDNF+ . В этой ФЗ-ти № стенда частично зависит от ШD.
ШD NF+,
X Y
Х Х, ХYF+
Таким образом, атрибут N частично зависит от атрибута ШD.
Рассмотрим ФЗ-ть вида ШD И.
Атрибут И зависит от ШD полностью, так как мы не можем из исходного набора ФЗ-тей вывести зависимости вида Ш И или DИ, следовательно, по смыслу один и тот же исследователь может проводить эксперименты в различные сроки и различными шифрами.
Для данной схемы отношений R, атрибута АR и множества ФЗ-тей F на R, атрибут А называетсяпервичнымв R относительно F, если А содержится в каком-либо ключе схемы R. В противном случае А называетсянепервичным атрибутом.
Пример:
ШD ИN
Ш N
F = {
Ш и D являются первичными атрибутами,
И и N - непервичными.
Данное отношение не находится во 2-ой НФ, так как имеется частичная зависимость между непервичным атрибутом N и ключом ШD.
Чтобы привести это отношение ко 2-ой НФ, мы декомпозируем его на два. Переход от 1 НФ ко 2 НФ (а далее и к 3 НФ) осуществляется с помощью операций проекции и расщепления.
-
-
Шифр
№ стенда
Р21
1
П814
3
Дата
Испытатель
Р21
6 июня
Иванов
Р21
7 июня
Петров
П814
9 июня
Иванов
-