- •Лекция 1. Основные понятия бд
- •Основные понятия бд.
- •Назначение бд
- •Этапы развития бд
- •Средства и методы анализа предметной области.
- •Модель процесса
- •Модель потока данных
- •Функции, структура и архитектура субд.
- •Архитектура субд.
- •Структура современной субд.
- •Языки субд.
- •Модели данных.
- •Иерархическая модель данных
- •Сетевая модель данных
- •Проблемы проектирования рбд
- •Инфологическое моделирование бд
- •Этапы инфологического моделирования
- •Лекция 3. Основные понятия реляционной модели бд
- •Основные понятия
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Лекция 4. Методы проектирование реляционной модели данных
- •Аномалии реляционной модели бд
- •Получение реляционной схемы из er-схемы
- •Нормальные формы отношения
- •Ограниченность реляционной модели при проектировании баз данных
- •Лекция 5. Физический уровень представления
- •Основные понятия
- •Файлы прямого доступа
- •Организация стратегии свободного замещения
- •Методы управления физической моделью бд
- •Особенности методов доступа
- •Лекция 6. Основы языка sql
- •Структура и типы данных sql
- •Состав sql
- •Типы данных в sql
- •Команды sql
- •Оператор create table
- •Оператор insert
- •Оператор alter table
- •Оператор update
- •Оператор delete
- •Оператор select
- •Оператор create index
- •Оператор drop
- •Лекция 7. Хранимые процедуры и триггеры
- •Хранимая процедура
- •Триггеры
- •Программирование триггера
- •Особенности применения триггера
- •Лекция 8. Транзакции.
- •Проблемы параллелизма
- •Понятие транзакции
- •Управление транзакциями
- •Управление транзакциями в среде ms sql Server
- •Определение транзакций
- •Описание явных транзакций
- •Вложенные транзакции
- •Уровни изоляции sql Server
- •Блокировки
- •Назначение блокировок
- •Уровни блокировок
- •Тупиковые блокировки
Реляционная алгебра
Реляционная алгебра – это набор операций, которые выполняются над отношениями, результатом их выплнния также являются отношения. Первая версия этой алгебры была определена Коддом в статье « Relational Completeness of Data Base Sublanguages».
Алгебра Кодда состоит из восьми операций, которые делятся на два класса – теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
объединения отношений;
пересечения отношений;
разность отношений;
декартово произведения отношений.
Специальные реляционные операции включают:
выбор;
проекция отношения;
соединение отношений;
деление отношений.
Геометрическая интерпретация операций реляционной алгебры приведена на рис. 3.2.
Рис. 3.2 Геометрическая интерпретация опреаций реляционной алгебры.
Дж. Дейт предложил расширенный набор операций реляционной алгебры, включив некоторые дополнительные операции, например, операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
Следует отметить, что теоретико-множественные операции объединения, пересечения и разности применимы к отношениям, имеющим одинаковую схему.
Общая интерпретация реляционных операций
При выполнении операции объединения (UNION) двух отношений с одинаковыми заголовками производится отношение, включающее все кортежи, которые входят хотя бы в одно из отношений-операндов.
Операция пересечения (INTERSECT) двух отношений с одинаковыми заголовками производит отношение, включающее все кортежи, которые входят в оба отношения-операнда.
Отношение, являющееся разностью (MINUS) двух отношений с одинаковыми заголовками, включает все кортежи, входящие в отношение-первый операнд, такие, что ни один из них не входит в отношение, которое является вторым операндом.
При выполнении декартова произведения (TIMES) двух отношений, пересечение заголовков которых пусто, производится отношение, кортежи которого производятся путем объединения кортежей первого и второго операндов.
Результатом выбора (Select) отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее заданному условию.
При выполнении проекции (PROJECT) отношения на заданное подмножество множества его атрибутов производится отношение, кортежи которого являются соответствующими подмножествами кортежей отношения-операнда.
При соединении (JOIN) двух отношений по некоторому условию образуется результирующее отношение, кортежи которого производятся путем объединения кортежей первого и второго отношений и удовлетворяют этому условию.
У операции реляционного деления (DIVIDE BY) два операнда – бинарное и унарное отношения. Результирующее отношение состоит из унарных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) включает множество значений второго операнда.
Операция переименования (RENAME) производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.
Операция присваивания (=) позволяет сохранить результат работы с полями таблицы.
Данный набор операций реляционной алгебры обладает свойствами замкнутости и полноты.
При использовании реляционной алгебры для того, чтобы получить требуемый результат обработки таблиц, необходимо сформулировать последовательность операций для выполнения запроса. Однако сущетствует другой подход к реализации обработки данных в отношениях. Он основан на испоьзовании реляционного исчисления, который позволяет определить лишь характеристики результирующего отношения. В этом случае не надо задавать способ его формирования. При этом система сама решает, какие операции и в каком порядке нужно выполнить над исходными отношениями, чтобы получить требуемый результат. На самом деле эти два механизма эквивалентны и существуют не очень сложные правила преобразования одного формализма в другой.
Реляционное исчисление является прикладной ветвью формального механизма исчисления предикатов первого порядка. Базисными понятиями исчисления являются понятие переменной с определенной для нее областью допустимых значений и понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы. Применеие названных подходов к обработке отношений привело к наличию разных языков работы с отношениями. В настоящее время станлартным подходом к реализации языков работы с отношениями яволяется подход, основанных на реляционном исчислении. Именно он положен в основу стандарта на языки реляционных СУБД – SQL.
