- •1.Информационные системы
- •2.Основные понятия теории баз данных
- •2.1.Предметная область
- •2.2.Пользователи информационной системы
- •2.3.Интеграция данных Достоинства интеграции данных
- •Проблемы, связанные с интеграцией данных
- •Функции администратора бд
- •Проектирование и развитие бд
- •3.Архитектура информационной системы
- •4.Сетевые базы данных
- •4.1.Способы упорядочения подчиненных записей
- •4.2.Режим включения подчиненных записей
- •4.3.Режим исключения подчиненных записей
- •4.4.Операции над данными
- •5.Иерархические базы данных
- •5.1.Операции над данными
- •6.Реляционные базы данных
- •6.1.Цели проектирования баз данных
- •6.2.Универсальные отношения
- •6.3.Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •6.4.Функциональные зависимости
- •6.5.Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •6.6.Общая схема проектирования баз данных
- •6.7.Избыточные функциональные зависимости. Правила вывода
- •Правило 1. Избыточные зависимости
- •6.8.Схема проектирования баз данных методом декомпозиции
- •7.Метод проектирования бд «Сущность-связь»
- •7.1.Сущности и связи
- •Диаграмма еr–экземпляров:
- •Д иаграмма er–типа:
- •7.2.Степень связи
- •Правило 1.
- •Правило 2.
- •Правило 3.
- •Правило 4.
- •Правило 5.
- •7.3.Бинарные связи степени m:n.
- •Правило 6.
- •Пример проектирования с использованием связей степенью м:n
- •7.4.Связи более высокого порядка
- •Правило 7
- •Пример проектирования с использованием связей более высокого порядка
- •7.5.Использование ролей
- •Правило 8
- •Пример проектирования с использованием ролей
- •8.Постреляционные базы данных
- •8.1.Ограничения реляционных баз данных.
- •Недостатки реляционных баз данных
- •8.2.Системы управления базами данных следующего поколения
- •Абстрактные типы данных
- •Генерация систем баз данных, ориентированных на приложения
- •8.3.Ориентация на расширенную реляционную модель
- •Расширенная реляционная модель
- •9.Объектно-ориентированные субд.
- •9.1.Объектно-ориентированная парадигма.
- •Структура:
- •Целостность данных:
- •Средства манипулирования данными:
- •9.2.Анализ эффективности объектно-ориентированных баз данных Преимущества объектно-ориентированных баз данных:
- •Недостатки объектно-ориентированных баз данных:
- •9.3.Стандарт odmg.
- •Объектная модель
- •Язык описания объектов
- •Язык объектных запросов
- •Связывание с оо-языками
- •9.4.Объектные расширения реляционных субд. Язык sql-3.
- •10.Базы знаний
- •10.1.Понятие системы баз знаний.
- •10.2.Структура системы базы знаний Компоненты Системы баз знаний (сбз):
- •Экстенсиональная и интенсиональная части базы данных
- •10.3.Активные базы данных
- •10.4.Дедуктивные базы данных
- •10.5.Инструментальные средства построения систем баз знаний.
- •11.Язык sql
- •11.1.Стандарт языка доступа к бд
- •11.2.Классификация операторов sql
- •Ddl (data definition language) – операторы определения объектов бд.
- •Insert into (Вставка записей).
- •Update (Редактирование записей).
- •Delete (Удаление записей).
- •Оператор select.
- •Модификатор distinct (предотвращение выборки повторяющихся слов).
- •Order by (упорядочение строк в результате запроса).
- •Использование псевдонимов (alias).
- •11.4.Арифметические выражения.
- •11.5.Групповые функции.
- •Предложение having.
- •11.6.Вложенные запросы.
- •Подзапросы, возвращающие набор значений.
- •Подзапросы, возвращающие значения из нескольких столбцов.
- •Составные запросы с несколькими подзапросами.
- •Синхронизация повторяющихся подзапросов
- •Комбинация нескольких команд Select
- •11.7.Индексы
- •7. Метод проектирования бд «Сущность-связь» 41
- •8. Постреляционные базы данных 75
- •9. Объектно-ориентированные субд. 81
- •10. Базы знаний 87
- •11. Язык sql 93
6.5.Нормальные формы отношений Первая нормальная форма
Атрибут называется простым, если значение его атомарно, т.е. неделимо (пример простых атрибутов: табельный номер сотрудника, фамилия сотрудника, оклад). Атрибут называется сложным, если его значение представляет собой объединение значений различных атрибутов (на Пример: атрибут Адрес [индекс, город, улица, дом, квартира]). Отношение называется отношением в первой нормальной форме, если все его атрибуты простые. Отношение «начальник отдела» находится в первой нормальной форме.
Вторая нормальная форма
П
олная
функциональная зависимость. Пусть
А – это некоторый атрибут, Х – это набор
атрибутов. Говорят, что А функционально
полно зависит от Х, если Х
А, Y А, где Y любое подмножество Х.
Набор атрибутов Х называют детерминантом
отношения. Отношение находится во
второй нормальной форме, если оно
находится в первой нормальной форме,
и каждый неключевой атрибут функционально
полно зависит от возможного ключа. Так,
отношение с зависимостью Сном,
Лном, ТномСном
не находится во второй нормальной
форме.
Третья нормальная форма
Т ранзитивная зависимость. Пусть X, Y, Z – наборы атрибутов некоторого отношения.
Если XY, YZ но Y Х то XZ , тогда говорят что Z транзитивно зависит от X
Пример: транзитивной зависимости СномТном, ТномЛном СномЛном.
Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от ключа.
Если в отношении, находящемся в третьей нормальной форме, только один ключ и имеются зависимости только от ключа, оно будет свободно от аномалий.
Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
Если отношение в третьей нормальной форме имеет несколько ключей или в нем существуют зависимости отличные от зависимостей от ключей, отношение будет иметь аномалии.
Отношение находится в НФБК тогда и только тогда, когда каждый детерминант отношения является возможным ключом. Отношение, создаваемое для начальника отдела имеет четыре детерминанта:
Сном
Лном
Тном
Сфам, Проект, Квартал
Кодд доказал, что отношение в НФБК практически не содержит аномалий, поэтому на практике придерживаются приведения отношения в НФБК.
6.6.Общая схема проектирования баз данных
Строим универсальное отношение;
Определяем все функциональные зависимости между атрибутами отношения;
Определяем, находится ли отношение в НФБК, если да - проектирование закончить, если нет – отношение разбивается на два.
Шаги 2 и 3 повторяются для всех отношений, полученных в результате декомпозиции, до тех пор пока все отношения не будут находиться в НФБК.
Декомпозиция получается приведением к получению двух отношений из одного.
Например, было R(X,Y,Z), а в результате декомпозиции получили два R1(X,Y), R2(Y,Z).
Декомпозиция аномального отношения выполняется следующим образом.
Пусть R – отношение, не находящееся в НФБК, ai – некоторый атрибут, детерминант и является первичным ключом. Пусть ai зависит от aj (ai aj). Эта зависимость препятствует нахождению отношения в НФБК. Отношение R(a1,…,ai,…,aj) разбивают на два
R1 (a1,…,ai,…,aj-1,aj) и R2(ai,aj)
Отношение R2 называется проекцией отношения R.
Декомпозиция считается выполненной правильно, если любой один и тот же запрос, примененный к исходному отношению и к полученным в результате декомпозиции отношениям, дает один и тот же результат.
Теория реляционных баз данных говорит, что результаты запроса будут совпадать, если декомпозиция выполнена способом, при котором соединение R1 и R2 дает в точности исходное соотношение R1 – это декомпозиция без потерь.
Если естественное соединение R1 и R2 в итоге дает больше кортежей, чем в R – то это декомпозиция с потерями.
Отсутствие потерь при декомпозиции отношения R(X,Y,Z) в R1(X,Y), R2(Y,Z) гарантируется при условии, что от общего атрибута (Y) функционально зависит хотя бы один атрибут из двух оставшихся (теорема Хеза).
|
|
Возвратимся снова к нашему примеру.
У нас имеются следующие детерминанты:
Сном
Лном
Тном
Сфам, Проект, Квартал
Цепочки функциональных зависимостей:
Сном Лном Тном
Сном Тном Лном
Сном, Проект, КварталВклад
Формируем отношения.
R1 (Сном, Сфам, Лном, Проект, Квартал, Вклад) – не находится в НФБК.
|
Рис. 6.2 Исходное отношение R1. |
R2 (Лном, Тном) – находится в НФБК.
Сном Сфам и одновременно Сном Лном, значит Сном Сфам, Лном.
R3 (Сном, Проект, Квартал, Вклад) – находится в НФБК.
R4 (Сном, Сфам, Лном) – находится в НФБК.
Таким образом, в результате декомпозиции мы получили следующие отношения
R 2 (Лном, Тном)
R3 (Сном, Проект, Квартал, Вклад)
R4 (Сном, Сфам, Лном)
Рис. 6.3 Отношение R4 (Сном, Сфам, Лном) |
Рис. 6.4 Отношение R 2 (Лном, Тном) |
Рис. 6.5 Отношение R3 (Сном, Проект, Квартал, Вклад) |
R2 |
|
R4 |
|
R3 |
||||||
Лном |
Тном |
|
Сном |
Сфам |
Лном |
|
Сном |
Проект |
Квартал |
Вклад |
25АП |
5-17 |
|
289 |
Иванов |
25АП |
|
289 |
РКТ14 |
1990,3 |
3 |
4КТ |
8-29 |
|
315 |
Николаев |
4КТ |
|
289 |
Зенит |
1990,3 |
5 |
14ММ |
4-85 |
|
429 |
Андреев |
25АМ |
|
289 |
ВКТ14 |
1990,4 |
2 |
|
|
|
559 |
Зайцев |
14ММ |
|
289 |
ВТА2 |
1990,4 |
4 |
|
|
|
|
|
|
|
315 |
ВКТ14 |
1990,3 |
6 |
|
|
|
|
|
|
|
315 |
ВТА8 |
1990,4 |
7 |
|
|
|
|
|
|
|
315 |
ВКТ14 |
1990,4 |
8 |
|
|
|
|
|
|
|
429 |
Зенит |
1990,3 |
2 |
|
|
|
|
|
|
|
429 |
ОТР6 |
1990,4 |
7 |
|
|
|
|
|
|
|
429 |
ВКТ14 |
1990,4 |
4 |
|
|
|
|
|
|
|
559 |
ОВ77 |
1990,3 |
6 |
Присутствуют ли в этой БД аномалии вставки, удаления и обновления?
Вставка. На работу в лабораторию 25АР приняли Сорокина, его номер 687. Эта информация помещается в отношение R3 <687,Сорокин, 25АР>. Если теперь сделать запрос составить список сотрудников, вклад которых хотя бы в один проект равен или меньше 2, мы получим ответ: Иванов, Андреев. Сорокина здесь нет таким образом аномалия вставки, присутствующая в исходном отношении, устроена в результате декомпозиции.
Обновление. В исходном отношении возникла проблема при изменении телефона у Иванова на 9-17
Запрос: напечатать телефон лаборатории 25АР
Ответ: 9-17
Аномалия обновления, исходного отношения устранена в результате декомпозиции.
Удаление. Финансирование проекта ОВ77 прекращено. Информация о проекте должна быть удалена из БД. В отношении R4 нужно удалить все записи со значением
Проект=ОВ77
В исходном отношении это правило к удалению из базы информации о сотруднике 559 Зайцев.
В нашем случае информация о сотрудниках храниться в R3 и не будет потеряна при удалении кортежей со значением Проект=ОВ77 из отношения R4 , таким образом, в результате декомпозиции устранена аномалия удаления. Цена за устранение аномалии – увеличение количества отношений. Теперь запросы к БД будут реализовываться более сложно, т.к. возможно понадобится прохождение цепочки из двух или трех отношений при поиске требуемых данных.
