Реляционная алгебра Кодда. Реляционные исчисления
Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для реляционных баз данных.
Существует много подходов к определению реляционной алгебры, которые различаются наборами операций и способами их интерпретации, но, в принципе, являются более или менее равносильными. В данном разделе мы опишем немного расширенный начальный вариант алгебры, который был предложен Коддом (будем называть ее «алгеброй Кодда»). В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса – теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
объединения отношений;
пересечения отношений;
взятия разности отношений;
взятия декартова произведения отношений.
Специальные реляционные операции включают:
ограничение отношения;
проекцию отношения;
соединение отношений;
деление отношений.
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
Реляционная алгебра, предложенная Коддом, имеет несколько недостатков:
Перечисленные операции являются избыточными, т.к. минимально необходимым набором являются 5 операций: операция объединения, вычитания, произведения, проекции и выборки. Остальные 3 операции (пересечения, соединения и деления) можно представить в виде комбинации пяти минимально необходимых. К примеру, соединение является проекцией выборки произведения.
Названных операций недостаточно для возможности построения реальной системы построения БД, основанной на принципах реляционной алгебры. Необходимы расширения, которые включают операции переименования атрибутов, создания новых вычисляемых атрибутов, нахождения итоговых функций, составления сложных алгебраических выражений, сравнения, присвоения и т.д.
Операции реляционной алгебры Кодда делятся на 2 группы:
Базовые теоретико-множественные – включают классические операции теории множеств: объединения, разности, пересечения и произведения.
Специальные реляционные – включают операции проекции, селекции, деления и соединения. Операции реляционной алгебры могут быть унарными – выполненными над одним отношением (к примеру, проекция), и бинарными – выполненными над двумя отношениями (к примеру, разность).
Отношения, над которыми выполняется бинарная операция, должны быть совместимыми по структуре.
Пусть отношение $R1$ является множеством поставщиков из Парижа, а отношение $R2$ – множеством поставщиков, выпускающих деталь $D1$. Тогда отношением $R$ будут поставщики, которые находятся в Париже, поставщики, которые выпускают деталь $D1$, или те и другие.
База данных объектов. Планирования, обработка и исследования.
Do'stlaringiz bilan baham: |