Смекни!
smekni.com

Реляционное исчисление (стр. 6 из 6)

Выражение исчисления кортежей состоит из прототипа кортежа и необязательного предложения WHERE, содержащего логическое выражение или формулу WFF(«правильно построенную формулу»). Подобная формула WFF может включать кванторы (EXISTS и FORALL), свободные и связанные ссылки на переменные, логические (булевы) операторы (AND, OR, NOTи др.) и т.д. Каждая свободная переменная, которая встречается в формуле WFF, также должна быть упомянута в прототипе кортежа.

Замечание. Здесь этот вопрос явно не затрагивался, но выражения реляционного исчисления предназначены, по существу, для тех же целей, что и выражения реляционной алгебры.

На примере было показано[1], как алгоритм редукции Кодда может использоваться для преобразования произвольного выражения реляционного исчисления в эквивалентное выражение реляционной алгебры, таким образом подготавливая почву для выбора возможной стратегии реализации исчисления. Вновь обратившись к вопросу реляционной полноты, мы кратко обсудили, каким образом можно доказать, что некоторый язык L является полным в этом смысле.

Кроме того, здесь обсуждалось, как можно расширить исчисление кортежей с целью поддержки определённых вычислительных возможностей (аналогичные возможности в реляционной алгебре обеспечиваются операциями EXTENDи SUMMARIZE). Затем нам было представлено краткое введение в исчисление доменов и отмечено (правда, без попытки доказать это), что оно также является реляционно полным. Таким образом, исчисление кортежей, исчисление доменов и реляционная алгебра эквивалентны.

И наконец, нашему вниманию был представлен обзор соответствующих средств языка SQL. Язык SQL является своеобразной смесью реляционной алгебры и исчисления (кортежей
). Например, в нём есть прямая поддержка таких операций реляционной алгебры, как соединение и объединение, но одновременно с этим используются переменные кортежей и квантор существования из реляционного исчисления. SQL – запрос представляет собой табличное выражение. Обычно такая конструкция содержит единственное выражение выборки, однако поддерживаются и различные типы явных выражений операций соединения (JOIN), причём выражения соединения и выборки могут комбинироваться произвольным образом с помощью операторов UNION, INTERSECTи EXCEPT. Также упоминалось о возможности использования предложения ORDERBY для определения упорядоченности строк в таблице, являющейся результатом вычисления данного табличного выражения (любого вида).

В частности, были описаны следующие компоненты выражений выборки.

- Базовое предложениеSELECT, в том числе использование ключевого слова DISTINCT, скалярных выражений, введение имён результирующих столбцов и использование предложения SELECT *

- Предложение FROM, включая использование переменных кортежей

- Предложение WHERE, включая использование оператора EXISTS

- Предложение GROUP BY и HAVING, включая использование обобщающих функцийCOUNT, SUM, AVG, MAX и MIN

- Использование подзапросов в предложениях SELECT, FROMи WHERE

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

8. Список литературы.

1) «Введение в системы баз данных» К.Дж.Дейт, издательство «Питер», СПб 2002г.

2) «Базы данных: модели, разработка, реализация» учебник под редакцией Т.Карповой, издательство «Питер», СПб 2001г.

3) «Системы баз данных» Г.Гаремо-Малино, Москва 2003г.


8. Список литературы.

4) «Введение в системы баз данных» К.Дж.Дейт, издательство «Питер», СПб 2002г.

5) «Базы данных: модели, разработка, реализация» учебник под редакцией Т.Карповой, издательство «Питер», СПб 2001г.

6) «Системы баз данных» Г.Гаремо-Малино, Москва 2003г.


[1] Сравнительный анализ реляционного исчисления и реляционной алгебры.