5. Реляционная алгебра Реляционная алгебра представляет собой алгебру множеств. Операции производятся над кортежами и отношениями. Все операции реляционной алгебры в том или ином виде реализованы в языке SQL. Алгебра реляционных отношенийРазвитие реляционной алгебры имеет свою историю. Изначально реляционная алгебра разработана Коддом в виде совокупности операторов, выполняемых над множеством кортежей и обеспечивающих возможность выражения типичных запросов касающихся содержимого отношений. Алгебра охватывала пять операций над множествами: объединение отношений (union), разность (difference), декартово произведение (Cartesian product), выбор (selection) и проекция (projection). С появлением первых СУБД, основанных на реляционной модели, операторы реляционной алгебры были разработаны в языках запросов. В ходе развития коммерческих СУБД алгебру отношений понадобилось пополнить целым рядом новых операций, наиболее важные из них связаны с функциями агрегирования (aggregation), т.е. нахождение суммарных, средних, максимальных, минимальных и иных значений в определенном атрибуте отношения. Основы реляционной алгебрыНекоторая алгебра, вообще говоря, состоит из набора операторов, применяемых к атомарным операндам. Например, в арифметике атомарные операнды представляют собой переменные вида x и численные константы. Операторами служат обычные арифметические операторы сложения, вычитания, умножения и деления. Любая алгебра позволяет создавать выражения (expressions) путем применения операторов к операндам или другим выражениям, допустимым в контексте этой алгебры. Реляционная алгебра это одна из видов алгебр. В ней поддерживаются следующие виды атомарных операндов: · Переменные, обозначающие отношения · Константы, являющиеся конечными отношениями В классической реляционной алгебре все операнды и результаты вычисления выражений являются множествами. Операции реляционной алгебры относятся к одному из четырех классов: 1. Обычные операции над множествами – объединение (union), пересечение (intersection) и разность (difference), - применяемые к отношениям 2. Операции удаления частей отношения: операция выбора (selection) производит к отбрасыванию некоторых кортежей (строк), а операция проекции – к устранению некоторых атрибутов. 3. Операции сочетания кортежей двух отношений. Например, операция Декартова произведения, операция соединения. 4. Операция переименования (renaming) атрибутов или отношения целиком. Выражения реляционной алгебры принято называть запросами (queries). Теоретико-множественные операции над отношениямиК числу наиболее известных и употребительных операций теории множеств относятся объединение (union), пересечение (intersection) и разность (difference). R U S, объединение множеств R и S, - множество элементов, присутствующих в R, S или обоих множествах одновременно. Каждый элемент в множество включается только один раз. R ∩ S, пересечение множеств R и S, - множество элементов, присутствующих в множествах R и S одновременно. R – S, разность множеств R и S, множество элементов, являющихся членами R, но отсутствующих в S. Заметим, что R – S – не то же самое, что S – R. Если R и S представляют собой множества кортежей (отношения), они должны удовлетворять соответствующим требованиям: 1. Обладать схемами с идентичными атрибутами, типы (домены) которых обязаны попарно совпадать; 2. Атрибуты (столбцы) должны следовать в одном же порядке. Иногда приходится вычислять объединение, пересечение или разность отношений, атрибуты которых относятся к совпадающим типам, но обладают разными наименованиями столбцов. В подобных случаях приходится применять применить оператор переименования, чтобы изменить схему одного или обоих отношений, обеспечив им идентичность.
|