
- •Тема 4. Отношения.
- •Операция объединения (объединение множеств кортежей a и b)
- •Операция пересечения (пересечение множеств a и b)
- •Операция разности (разность множеств кортежей a и b)
- •Операция тета-соединения
- •Левое внешнее соединение (тут же правое)
- •Типы нормальных форм Первая нормальная форма (1nf)
- •Вторая нормальная форма (2nf)
- •Третья нормальная форма (3nf)
Левое внешнее соединение (тут же правое)
Левым внешним соединением называется соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение.
SELECT R.a1, R.a2, S.b1, S.b2
FROM R LEFT JOIN S ON R.a2=S.b1
Существует
и правое внешнее
соединение ,
называемое так потому, что в результирующем
отношении содержатся все кортежи правого
отношения. Кроме того, имеется и
полное внешнее
соединение,
в его результирующее отношение помещаются
все кортежи из обоих отношений, а для
обозначения несовпадающих значений
кортежей в нем используются
определители NULL.
SELECT R.a1, R.a2, S.b1, S.b2
FROM R RIGHT JOIN S ON R.a2=S.b1
Проектирование данных (отношений). Нормализация. Функциональные зависимости. Декомпозиция базы данных.
Нормализация: 1, 2, 3-ья нормальные формы.
Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.
Последовательность выполнения и содержание работы соответствует этапам проектирования баз данных:
1. Определение таблиц базы данных в соответствии с назначением базы данных и требованиям к еефункциональности.
2. Определение необходимых в таблице полей.
3. Задание индивидуального значения каждому полю.
4. Определение связей между таблицами.
5. Обновление структуры базы данных.
6. Добавление данных и создание другихобъектов базы данных.
Основная цель процесса проектирования БД состоит в получении проекта, который удовлетворяет следующим требованиям:
Корректность схемы БД, т.е. база должна быть гомоморфным образом моделируемой предметной области (ПО), где каждому объекту предметной области соответствуют данные в памяти ЭВМ, а каждому процессу – адекватные процедуры обработки данных.
Обеспечение ограничений (на объёмы внешней и оперативной памяти и другие ресурсы вычислительной системы).
Эффективность функционирования (соблюдение ограничений на время реакции системы на запрос и обновление данных).
Защита данных (от аппаратных и программных сбоев и несанкционированного доступа).
Простота и удобство эксплуатации.
Гибкость, т.е. возможность развития и адаптации к изменениям предметной области и/или требований пользователей.
Нормализацией схемы базы данных называется процедура, производимая над базой данных с целью удаления в ней избыточности.
Нормализация несет с собой немало преимуществ. Очевидно, что в нормализованной базе данных уменьшается вероятность возникновения ошибок, она занимает меньше места на жестком диске и т.д.
Процесс преобразования отношений базы данных (БД) к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных[1]. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации.
Функциональные зависимости
R {A1, A2, … An}
X, Y {A1, A2, … An}
X Y если любому значению X соответствует в точности одно значение Y
X Y |Y(X=x(R))|1
Название фирмы Адрес, телефон.
Название фирмы, товар Цена
Функциональная зависимость описывает связь между атрибутами отношения: если в отношении R, содержащем атрибуты А и В, атрибут В функционально зависит от атрибута А, то каждое отдельное значение атрибута А связано только с одним значением атрибута В (причем в качестве А и В могут выступать группы атрибутов). Атрибут или группа атрибутов А называются при этом детерминантом функциональной зависимости.
Декомпозиция базы данных
Декомпозиция – это разбиение на множества, может быть пересекающиеся, такие, что их объединение – это исходное отношение.
Восстановить исходное отношение можно только естественным соединением.
Декомпозиция отношений проводится, чтобы исключить избыточное дублирование в отношениях. Выделяют два типа декомпозиций отношений: без потерь и с потерями. Декомпозиция без потерь происходит тогда, когда после соединения вновь полученных отношений получается исходное отношение. В ряде случаев невозможно провести декомпозицию без потерь, т.к. простое выделение ФЗ в отдельное отношение не дает желаемого результата. В этом случае надо решить:
· или поддерживать избыточное дублирование;
· или теряем ФЗ и поддерживаем ее программным путем.
Выбор должен быть обоснован.
Нормальная форма
Нормальная форма - требование, предъявляемое к структуре таблиц в теории реляционных баз данных для устранения из базы избыточных функциональных зависимостей между полями таблиц.
Нормализация базы данных
Процесс преобразования базы данных к виду, отвечающему нормальным формам, называется нормализацией. Нормализация позволяет обезопасить базу данных от логических и структурных проблем, называемых аномалиями данных. К примеру, когда существует несколько одинаковых записей в таблице, существует риск нарушения целостности данных при обновлении данных. Таблица, прошедшая нормализацию, менее подвержена таким проблемам, т.к. ее структура предполагает определение связей между данными, что исключает необходимость в существовании записей с повторяющейся информацией.
Нормализация может применяться к таблице, первоначально отвечающей следующим требованиям:
таблица содержит нуль или более записей;
все записи таблицы имеют одно и то же множество полей, причем одноименные поля относятся к одинаковым полям;
таблица не может содержать двух полностью идентичных записей.