- •С.В. Никитина. Базы и Банки Данных. – Москва, 2009. – 80 стр.
- •Содержание
- •Глава 1. Назначение и основные компоненты системы баз данных 6
- •Глава 2. Типовая организация современной субд 10
- •Глава 3. Инфологическая модель данных «сущность-связь» 21
- •Глава 4. Ранние подходы к организации бд. Иерархические и сетевые субд. 31
- •Глава 5. Реляционная модель 35
- •Глава 6. Базисные средства манипулирования реляционными данными 40
- •Глава 7. Особенности теоретико-множественных операций реляционной алгебры 45
- •Глава 1. Назначение и основные компоненты системы баз данных Данные и эвм
- •Концепция баз данных
- •Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков бд
- •Глава 2. Типовая организация современной субд
- •Классификация пользователей субд
- •Распределение обязанностей в системах с базами данных.
- •Администраторы данных и администраторы баз данных.
- •Администрирование данных и администрирование баз данных.
- •Администрирование данных.
- •Задачи администрирования данных.
- •Администрирование Базы Данных.
- •Задачи администрирования базы данных.
- •Администрирование данных и администрирование базы данных
- •Преимущества централизованного подхода к управлению данными
- •Возможность совместного доступа к данным
- •Сокращение избыточности данных
- •Устранение противоречивости данных (до некоторой степени)
- •Возможность поддержки транзакций
- •Обеспечение целостности данных
- •Организация защиты данных
- •Возможность балансировки противоречивых требований
- •Возможность введения стандартизации
- •Независимость данных
- •Глава 3. Инфологическая модель данных «сущность-связь»
- •Основные понятия
- •Характеристика связей и язык моделирования
- •О первичных и внешних ключах
- •Ограничения целостности
- •Глава 4. Ранние подходы к организации бд. Иерархические и сетевые субд.
- •Иерархические системы
- •Иерархические структуры данных
- •Манипулирование данными
- •Ограничения целостности
- •Сетевые системы
- •Сетевые структуры данных
- •Манипулирование данными
- •Ограничения целостности
- •Достоинства и недостатки ранних субд
- •Глава 5. Реляционная модель Основные понятия реляционных баз данных
- •Тип данных
- •Кортеж, отношение
- •Фундаментальные свойства отношений
- •Отсутствие кортежей-дубликатов
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов
- •Общая характеристика реляционной модели данных
- •Глава 6. Базисные средства манипулирования реляционными данными Реляционная структура данных. Общие понятия реляционного подхода к организации бд. Основные концепции и термины
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Замкнутость реляционной алгебры и операция переименования
- •Глава 7. Особенности теоретико-множественных операций реляционной алгебры Объединение
- •Пересечение
- •Вычитание
- •Произведение
- •Специальные реляционные операции* Выборка
- •Проекция
- •Соединение
- •Деление
- •Ассоциативность и коммутативность
- •Зачем нужна реляционная алгебра
- •Операция расширения
- •Операция обобщения
- •Группирование и разгруппирование
- •Реляционные сравнения
- •Реляционное исчисление.
- •Глава 8. Нормализация данных. 1-я, 2-я, 3-я нормальные формы
- •Функциональная зависимость
- •Вторая нормальная форма
- •Третья нормальная форма
- •Глава 9. Нормализация данных. Нормальные формы более высоких порядков
- •Нормальная форма бойса-кодда
- •Многозначные зависимости. Четвертая нормальная форма
- •Зависимость соединения. Пятая нормальная форма
- •Глава 10. Внутренняя организация реляционных субд Структуры внешней памяти
- •Хранение отношений
- •Индексы
- •Журнальная информация
- •Служебная информация
- •Глава 11. Методы организации индексов
- •Методы поиска по дереву
- •Автоматическое поддержание свойства сбалансированности b-деревьев при выполнении операций занесения и удаления записей *
- •Хэширование
- •Глава 12. Защита бд Обеспечение защиты данных в базе
- •Идентификация пользователя
- •Управление доступом
- •Защита данных при статистической обработке
- •Физическая защита
- •Глава 13. Целостность бд
- •Целостность сущности и ссылок
- •Обеспечение целостности данных
- •Транзакции и целостность баз данных
- •Изолированность пользователей
- •Сериализация транзакций
- •Глава 14. Степень соответствия субд реляционной модели
- •Список литературы по теме курса
- •Кори Майкл Дж., Эбби Майкл, Абрамсон Ян
Замкнутость реляционной алгебры и операция переименования
Уже не раз отмечалось, что результат выполнения любой операции над отношением также является отношением. Эта особенность называется свойством реляционной замкнутости. Поскольку результат выполнения любой операции имеет тот же тип, что и исходные объекты (отношения), результат одной операции может использоваться в качестве исходных данных для другой. Другими словами, можно записывать вложенные реляционные выражения, т.е. выражения, в которых операнды сами представлены реляционными выражениями, причем произвольной сложности.
Отношение имеет две части — заголовок и тело. Нестрого говоря, заголовок — это атрибуты, а тело — это кортежи. Заголовок для базового отношения, т.е. значения базовой переменной-отношения, очевидно, вполне конкретен и известен системе, поскольку он задается как часть определения соответствующей базовой переменной-отношения. Обязательное наличие заголовка диктуется реляционной замкнутостью, и системе должно быть известно, что он собой представляет (в равной степени это необходимо знать и пользователю, как мы скоро увидим). Иначе говоря, результат обязательно — непременно! — должен иметь вполне определенный тип отношения. Поэтому, если рассматривать свойство реляционной замкнутости более строго, каждая реляционная операция должна быть определена таким образом, чтобы выдавать результат с надлежащим типом отношения (в частности, с соответствующим набором имен атрибутов или заголовком).
Основная причина, по которой мы требуем, чтобы каждое результирующее отношение обязательно имело соответствующий набор имен атрибутов, заключается в необходимости иметь возможность ссылаться на эти имена атрибутов в последующих операциях, в частности в последующих операциях, расположенных на более глубоких уровнях вложенного выражения.
Другими словами, необходим такой встроенный в реляционную алгебру набор правил вывода типов (отношений), чтобы можно было вывести тип (отношения) на выходе произвольной реляционной операции, зная тип или типы (отношения) на входе этой операции. Задав такие правила для всех операций, можно гарантировать, что для реляционного выражения любой сложности будет вычисляться результат, имеющий вполне определенный тип (отношения) и, в частности, известный набор имен атрибутов.
Для достижения этой цели в качестве предварительного действия введем новый оператор RENAME, предназначенный для переименования атрибутов в определенном отношении. Точнее, для заданного отношения оператор RENAME возвращает другое отношение, которое идентично начальному, за исключением того, что, по крайней мере, один из атрибутов имеет другое имя. (Заданное отношение, конечно же, может быть результатом вычисления реляционного выражения, возможно, включающего другие алгебраические операции.) Например, можно написать следующее.
S RENAME CITY AS SCITY
С помощью этого выражения (рассматриваемая запись является именно выражением, а не "командой" или оператором, а значит, может быть вложена в другие выражения) вычисляется отношение, имеющее то же самое тело, что и отношение S, но с именем атрибута SCITY вместо CITY.
Важно отметить, что выражение RENAME не изменяет базовую переменную-отношение поставщиков в базе данных — оно является выражением (точно так, как и выражение S JOIN SP) и, следовательно, выдает некоторый результат (в данном случае этот результат очень похож на текущее значение переменной-отношения поставщиков).
Вот еще один пример (на этот раз переименовывается сразу несколько атрибутов).
Р RENAME PNAME AS PN, WEIGHT AS WT
Результат вычисления этого выражения будет выглядеть следующим образом.