Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

V. Реляционная алгебра




IV. Теоретические языки запросов.

В реляционных СУБД для выполнения операций над отношениями используются две группы языков, имеющие в качестве своей математической основы теоретические языки запросов, предложенные Э. Коддом: реляционная алгебра и реляционное исчисление. Существуют не очень сложные правила преобразования запросов между ними.

В реляционной алгебре операнды и результаты всех действий являются отношениями. Языки реляционной алгебры являются процедурными, так как отношение, являющееся результатом запроса к реляционной БД, вычисляется при выполнении последовательности реляционных операторов, применяемых к отношениям.

Языки исчислений являются непроцедурными (описательными, или декларативными) и позволяют выражать запросы с помощью предиката первого порядка (высказывания в виде функции), которому должны удовлетворять кортежи или домены отношений. Запрос к БД выполненный с использованием подобного языка, содержит лишь информацию о желаемом результате. Для этих языков характерно наличие наборов правил для записи запросов. К языкам этой группы относится SQL.

Реляционная алгебра по сравнению с реляционным исчислением более наглядно описывает выполняемые над отношениями действия. Вариант реляционной алгебры, предложенный Коддом, включает в себя следующие основные операции: объединение, разность (вычитание), пересечение, декартово (прямое) произведение, выборка (селекция, ограничение), проекция, деление и соединение.

По замечанию К. Дж. Дейта операции пересечения, соединения и деления можно определить через остальные пять операций. Кроме этого, восьми перечисленных операций недостаточно для построения реальной СУБД на принципах реляционной алгебры. Необходимо включение операций переименования атрибутов, образования новых вычисляемых атрибутов, вычисления итоговых функций, построения сложных алгебраических выражений, присвоения, сравнения и т.д.

Операции реляционной алгебры Кодда можно разделить на две группы: базовые теоретико-множественные (объединение, разность, пересечение и произведение) и специальные реляционные. Вторая группа представляет собой развитие обычных теоретико-множественных операций в направлении к реальным задачам манипулирования данными: проекция, селекция, деление и соединение.

Операции реляционной алгебры могут быть унарными (например, проекция) или бинарными (объединение, пересечение и т.д.). При выполнение бинарной операции участвующие в операциях отношения должны быть совместимы по структуре. Совместимость структур отношений означает совместимость имен атрибутов и типов соответствующих доменов.

Объединением двух совместимых отношений R1 и R2 одинаковой размерности (R1 UNION R2) является отношение R, содержащее все элементы исходных отношений (с исключением повторений.

Пример 1. Пусть отношение R1 будет множество книг вашей библиотеки, а отношение R2 – множество книг выпущенных издательством “Питер”. Тогда отношение R3 обозначает книги выпущенные издательством “Питер”, или книги находящиеся в вашей библиотеки.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 913; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.