- •Базы данных
- •Введение
- •Часть 1. Проектирование баз данных
- •1.1. Некоторые понятия и определения
- •1. 2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных Основные определения
- •Типы связей между отношениями
- •1.3. Классификация баз данных
- •1.4. Цели проектирования баз данных
- •1.5. Проектирование баз данных с использованием универсального отношения
- •1.5.1. Универсальное отношение
- •1.5.2. Проблемы, вызываемые использованием универсального отношения
- •Проблема вставки
- •Проблемы обновления
- •Проблемы удаления
- •1.5.3. Нормальная форма Бойса -Кодда
- •Функциональные зависимости
- •Возможный ключ и детерминант
- •Общий подход к декомпозиции
- •Анализ исходных аномалий
- •1.5.4. Возможные потери фз при декомпозиции
- •1.5.5. Избыточные функциональные зависимости
- •Приемы удаления избыточных фз
- •Минимальное покрытие
- •Модернизированный алгоритм проектирования бд
- •1.5. Метод er - проектирования
- •1.5.1. Сущности и связи
- •1.5.2. Степень связи
- •1.5.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.5.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.5.5. Последовательность проектирования бд при использовании er- метода
- •1.5.5. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •Часть 2. Специальные аспекты работы с базами данных
- •2.1. Защита данных в базе
- •2.2.1. Общие вопросы защиты данных
- •2.2.2. Реализация защиты данных в различных системах
- •Управление доступом в sql
- •Реализация системы защиты в ms sql Server
- •2.2. Обеспечение целостности данных
- •2.3. Организация параллельных процессов обработки данных
- •2.4. Восстановление бд
- •2.4.1. Уровни восстановления.
- •2.4.2. Восстановление и логический элемент работы
- •Требования к лэр
- •2.4.3. Промежуточное восстановление
- •2.4.4. Длительное восстановление
- •2.5. Математический аппарат, используемый при работе с реляционной базой данных
- •2.5.1. Теоретико-множественные операции реляционной алгебры
- •2.5.2. Специальные операции реляционной алгебры
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.5. Отчеты в Access
- •3.2.7. Макросы в Access
- •Преобразование макросов в программы на Visual Basic
- •3.2.8. Работа с внешними данными
- •3.3. Программирование в Access
- •3.3.1. Вводные замечания
- •3.3.2. Объявление переменных
- •3.3.3. Константы
- •3.3.4. Тип данных Variant
- •3.3.5. Пользовательские типы данных
- •3.3.5.Операторы, команды и выражения в vba
- •3.3.7. Процедуры vba
- •3.3.8. Управляющие структуры в vba
- •Работа с управляющими структурами
- •3.3.9. Объекты в Access
- •3.3.10. Классы в Access
- •3.3.11. Работа с ошибками в vba
- •3.4.Работа в ms sql –Server
- •3.4.1. Основные количественные показатели системы sql-сервер
- •3.4.2. Создание баз данных
- •3.4.3. Создание таблицы
- •3.4.4. Извлечение данных
- •3.4.5. Добавление данных
- •3.4.5. Изменение данных
- •3.4.7. Удаление данных
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 70
- •Часть 3. Разработка приложений для работы с базами данных 113
2.5.2. Специальные операции реляционной алгебры
Первой специальной операцией реляционной алгебры является горизонтальный выбор, или операция фильтрации, или операция ограничения отношений, или выборка.
Операция Выборка применяется к существующему отношению. В результате генерируется новое отношение, получаемое путем выборки только тех кортежей из исходного отношения, которые удовлетворяют заданному условию. Эту операцию можно записать в следующем виде:
R[a(r)] = {r | r Î R Ù a(r) = "Истина"}, где a(r) - условие.
Операция фильтрации является одной из основных при работе с реляционной моделью данных. Условие a может быть сколь угодно сложным.
Следующей специальной операцией является операция проектирования или проекции.
Операция применяется к одному существующему отношению для получения нового отношения. Новое отношение получается путем выбора (проецирования) определенных столбцов из текущего отношения. Если результат выполнения операции Проекция содержит повторяющиеся кортежи, то в новом отношении сохраняется только один кортеж из повторяющейся группы. (В большинстве СУБД повторяющиеся кортежи автоматически не удаляются, это обязан сделать пользователь. Следует помнить, что корректное отношение не может содержать повторяющихся кортежей).
Операция проектирования, называемая иногда также операцией вертикального выбора, позволяет получить только требуемые характеристики моделируемого объекта. Чаще всего операция проектирования употребляется как промежуточный шаг в операциях горизонтального выбора (фильтрации). Кроме того, она используется самостоятельно на заключительном этапе получения ответа на запрос.
Следующей специальной операцией реляционной алгебры является операция соединения.
В отличие от рассмотренных специальных операций реляционной алгебры фильтрации и проектирования, которые являются унарными, то есть производятся над одним отношением, операция соединения является бинарной, то есть исходными для нее являются два отношения, а результатом — одно.
Новое отношение получается путем соединения (конкатенации) кортежей первого отношения с кортежами второго отношения. Соединение можно выполнить, если отношения связаны между собой по атрибутам из одного домена.
Отношение, полученное в результате соединения двух отношений является подмножеством декартова произведения этих отношений. В полученном отношении ряд кортежей исходных отношений может отсутствовать.
В полученном отношении в двух столбцах всегда будут содержаться одинаковые значения. Если один из этих столбцов удалить, то результат принято называть Естественным соединением.
Вариантом операции соединения является операция условного соединения.
Пусть R = { r }, Q = { q } — исходные отношения,
SR, SQ — схемы отношений R и Q соответственно.
SR = (A1, А2, ... , Аk); SQ = (B1, В2, ... , Вm), где Аi, Bj — имена атрибутов в схемах отношений R и Q соответственно.
При этом полагаем, что заданы наборы атрибутов А и В
А Í { Аi }i=1,k; В Í { Bj } j=1,m
и эти наборы состоят из q-сравнимых атрибутов.
Тогда соединением отношений R и Q при условии b будет подмножество декартова произведения отношений R и Q, кортежи которого удовлетворяют условию b, рассматриваемому как одновременное выполнение условий:
- r.Аi qi Вi : i =l,k, где k — число атрибутов, входящих в наборы А и В, а qi — конкретная операция сравнения.
- Ai qi Bi D; qi — i-й предикат сравнения, определяемый из множества допустимых на домене Di операций сравнения.
R [ b ] Q = { (r,q) ½ (r, q) ½r.А qi q.Bi = «Истина», i =1,k}
Последней операцией, включаемой в набор операций реляционной алгебры, является операция деления.
Операция деления достаточно сложна для абстрактного представления и она может быть заменена последовательностью других операций реляционной алгебры.