Все шпаргалки / Базы данных / 

Третья часть реляционной модели

Третья часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным данным осуществляется при помощи реляционной алгебры или эквивалентного ему реляционного исчисления. Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов, и возвра-щающие отношения в качестве результата. Таким образом, реляционный оператор f выглядит как функция с отношениями в качестве аргументов: R=f(R1,r2,…,Rn)Таким образом, в реляционных выражениях можно использо-вать вложенные выражения сколь угодно сложной структуры. R=f(f1(R11,R12,…),f2(R21,R22,…),…)Традиционно, вслед за Коддом [43], определяют восемь реляционных операторов, объединенных в две группы. Теоретико-множественные операторы: 1Объединение 2Пересечение 3Вычитание 4Декартово произведение Специальные реляционные операторы: 1Выборка 2Проекция 3Соединение 4Деление Не все они являются независимыми, т.е. некоторые из этих операторов могут быть выражены через другие реляционные операторы.Примитивные реляционные операторыОставшиеся реляционные операторы (объединение, вычитание, декартово произведение, выборка, проекция) являются примитивными операторами - их нельзя выразить друг через друга. Оператор декартового произведенияОператор декартового произведения - это единственный оператор, увеличивающий количество атрибутов, поэтому его нельзя выразить через объединение, вычитание, выборку, проекцию. Оператор проекцииОператор проекции - единственный оператор, уменьшающий количество атрибутов, поэтому его нельзя выразить через объединение, вычитание, декартово произведение, выборку. Оператор выборкиОператор выборки - единственный оператор, позволяющий проводить сравнения по атрибутам отношения, поэтому его нельзя выразить через объединение, вычитание, декартово произведение, проекцию. ОбъединениеОбъединением двух совместимых по типу отношений А и В называется отношение с тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих или А, или В, или обоим отношениям. Синтаксис операции объединения: Замечание. Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому, если некоторый кортеж входит и в отношение А, и отношение В, то в объедине-ние он входит один раз. Замечание. Как видно из приведенного примера, потенциаль-ные ключи, которые были в отношениях А и В не наследуются объединением этих отношений. Поэтому, в объединении отношений А и В атрибут "Табельный номер" может содержать дубликаты значений. Если бы это было не так, и ключи наследовались бы, то это противоречило бы понятию объединения как "объединение множеств". Конечно, объединение отношений А и В имеет, как и любое отношение, потенциальный ключ, например, состоящий из всех атрибутов. ВычитаниеОпределение 4. Вычитанием двух совместимых по типу отношений А и В называется отношение с тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих отношению А и не принадлежащих отношению В. Синтаксис операции вычитания: Декартово произведениеОпределение 5. Декартовым произведением двух отношений и называется отношение, заголовок которого является сцеплением заголовков отношений А и В: , а тело состоит из кортежей, являющихся сцеплением кортежей отношений А и В: , таких, что , . Синтаксис операции декартового произведения: Замечание. Мощность произведения равна произведению мощностей отношений А и В , т.к. каждый кортеж отношения А соединяется с каждым кортежем отношения В. Замечание. Если в отношения А и В имеются атрибуты с одинаковыми наименованиями, то перед выполнением операции декартового произведения такие атрибуты необходимо переименовать. Замечание. Перемножать можно любые два отношения, совместимость по типу при этом не требуется. Замечание. Сама по себе операция декартового произведения не очень важна, т.к. она не дает никакой новой информации, по сравнению с исходными отношениями. Для реальных запросов эта операция почти никогда не используется. Однако операция декартового произведения важна для выполнения специальных реляционных операций, о которых речь пойдет ниже. Выборка (ограничение, селекция) Выборкой (ограничением, селекцией) на отношении А с условием с называется отношение с тем же заголовком, что и у отношения А, и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие с дают значение ИСТИНА. С представляет собой логическое выражение, в которое могут входить атрибуты отношения А и (или) скалярные выражения. В простейшем случае условие с имеет вид , где - один из операторов сравнения ( и т.д.), а Х и У - атрибуты отношения А или скалярные значения. Такие выборки называются -выборки (тэта-выборки) или -ограничения, -селекции.