- •Добряк Павел Вадимович управление данными
- •Управление данными
- • Угту-упи, 2012
- •Введение
- •1. Основные определения
- •1.1. Элементы баз данных
- •1.2. Технологии управления данными
- •1.3. Модели данных
- •2. Реляционная модель
- •2.1. Основные понятия реляционной модели
- •2.2. Нормализация
- •2.3. Проблемы проектирования реляционных баз данных
- •Задачи для самостоятельного решения
- •3. Реляционные алгебра и исчисления
- •3.1. Реляционная алгебра
- •3.2. Реляционное исчисление на кортежах
- •3.3. Реляционное исчисление на доменах
- •4.1. Введение в sql
- •4.2. Пример реляционной базы данных
- •4.3. Запросы к одной таблице
- •4.4. Запросы к нескольким таблицам
- •4.5. Вложенные запросы
- •4.6. Вложенные подзапросы и кванторы
- •4.7. Объединение однотипных запросов
- •4.8. Рекурсивные запросы
- •Объединение однотипных запросов.
- •Запросы для самостоятельного программирования
- •5. Olap и хранилища данных
- •5.1. Архитектура хранилищ данных
- •5.2. Аналитические запросы
- •6. Триггеры, хранимые процедуры, события
- •7. Транзакции
- •7.1. Функции транзакций
- •7.2. Уровни изолированности
- •7.3. Сериализация транзакций
- •7.4. Синхронизационный захват
- •7.5. Метод временных меток
- •8. Обзор перспективных направлений баз данных
- •9. Объектные технологии в субд
- •9.1. Три манифеста баз данных
- •9.2. Объектная модель sql
- •9.3. Модель данных odmg и язык oql
- •10. Запросы к интернет-страницам
- •10.1. Теговая парадигма
- •10.2. Язык запросов xQuery
- •11. Пространственные базы данных
- •12. Лабораторные работы
- •13. Курсовая работа
- •13.1. Концептуальное проектирование
- •13.2. Семантическое проектирование
- •13.3. Физическое проектирование. Реляционная модель данных
- •13.4. Запросы
- •Объединение однотипных запросов.
- •13.5. Интеллектуализация базы данных.
- •13.6. Клиентская часть информационной системы
- •13.7. Дополнительные элементы базы данных
- •Вопросы к экзамену
- •1. Основные определения.
- •2. Реляционная модель
- •3. Реляционные алгебра и исчисления
- •10. Запросы к интернет-страницам
- •11. Пространственные базы данных
- •Литература
- •Список иллюстраций список таблиц
- •Список листингов
- •Алфавитный указатель
- •Список сокращений
3. Реляционные алгебра и исчисления
Прежде чем изучать языки запросов, рассмотрим математические основания, лежащие в их основе – реляционные алгебру и исчисления. Идея о том, что в основе языка программирования может лежать строгая математика, может быть необычной для программиста на объектно-ориентированных языках. Родословная языков и их математических основ приведена на Рис. 14. Реляционная «веточка» изучается в данном курсе, «веточка» Пролога – в курсе «Представление знаний в информационных системах», «веточка» Lispa – в интеллектуальных информационных системах.
Рис. 14. Схема языков и их математических основ
Реляционное исчисление на кортежах предложено Коддом, на доменах - Лакруа и Пиро. В выражениях реляционной алгебры всегда явно задается некий порядок, а также подразумевается стратегия вычисления. В исчислениях отсутствует описание процедуры вычисления, так как указывается, что, а не как следует извлечь. В совокупности с реляционной алгеброй эти формы реляционного исчисления составляют три эквивалентных абстрактных языка запросов к реляционным БД. Они не реализованы в чистом виде в какой-либо действующей СУБД, но служат эталоном для оценки существующих систем.
3.1. Реляционная алгебра
Реляционная алгебра, предложенная Коддом, содержит несколько основных и дополнительных операций над отношениями, которые позволяют получать различные результаты на основе исходных отношений. Эти операции описаны в Табл. 7.
Табл. 7. Операции реляционной алгебры
Операция |
Результат |
Графическая интерпретация |
||||||||||||||||||||||||||||||||||||||||||
Селекция
|
Кортежи из R, которые удовлетворяют условию (предикату). |
|
||||||||||||||||||||||||||||||||||||||||||
Проекция
|
Оставляются значения указанных в проекции атрибутов, удаляются кортежи-дубликаты. |
|
||||||||||||||||||||||||||||||||||||||||||
Объединение
|
В результат входят кортежи из обоих отношений, дубликаты удаляются. Отношения должны быть совместимыми по атрибутам |
|
||||||||||||||||||||||||||||||||||||||||||
Разность
|
Те кортежи из R, которых нет в S |
|
||||||||||||||||||||||||||||||||||||||||||
Пересечение
|
Общие для R и S кортежи |
|
||||||||||||||||||||||||||||||||||||||||||
Декартово произведение
|
Каждый кортеж из R соединяется со всеми кортежами из S |
|
||||||||||||||||||||||||||||||||||||||||||
Тета-соединение
|
Из декартова произведения выбираются кортежи, удовлетворяющие предикату F |
|
||||||||||||||||||||||||||||||||||||||||||
Соединение по эквивалентности
|
Из декартова произведения R на S выбираются кортежи, удовлетворяющие предикату F, который содержит условие на равенство двух атрибутов. |
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||
Естественное соединение
|
Соединение по эквивалентности, выполненное по общим атрибутам. В результате общий атрибут присутствует один раз. |
|
||||||||||||||||||||||||||||||||||||||||||
Композиция
|
Соединение отличается от естественного тем, что из результирующего отношения удаляются оба атрибута соединения. |
|
||||||||||||||||||||||||||||||||||||||||||
Левое внешнее соединение
|
Помимо кортежей как в естественном соединении, в результат входят также не включенные в естественное соединение кортежи R с пустыми атрибутами из S, которых нет в R |
|
||||||||||||||||||||||||||||||||||||||||||
Полусоединение
|
Те кортежи из R, которые входят в соединение R и S. |
|
||||||||||||||||||||||||||||||||||||||||||
Деление
|
Множество кортежей из R (берутся только атрибуты, имеющиеся в R, но отсутствующие в S). |
|
||||||||||||||||||||||||||||||||||||||||||
Операции не являются независимыми, их связывают формулы. Например:
R S = R — (R — S)
R[A B]S = R[A] – (S X R[A]-R)[A]
Желаемый результат описывается в виде формул с операциями реляционной алгебры над отношениями.
