Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Коннолли Т. -> "Базы данных. Проектирование, реализация и сопровождение. Теория и практика" -> 64

Базы данных. Проектирование, реализация и сопровождение. Теория и практика - Коннолли Т.

Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика — М.: Вильямc, 2003. — 1440 c.
ISBN 5-8459-0527-3
Скачать (прямая ссылка): bazidannihpproekt2003.djv
Предыдущая << 1 .. 58 59 60 61 62 63 < 64 > 65 66 67 68 69 70 .. 683 >> Следующая


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

Реляционное исчисление используется для оценки избирательной МОЩНОСТИ реляционных языков. Язык называется реляционно полным, если он позволяет получить любое отношение, которое можно вывести с помощью реляционного исчисления. Большинство реляционных языков запросов является реляционно полными. Однако по сравнению с реляционной алгеброй и реляционным исчислением они обладают и другими, более широкими функциональными возможностями, поскольку в них предусмотрены дополнительные операции, позволяющие выполнять вычислительные, агрегирующие и упорядочивающие функции. СтРУКТУРАэтой ГЛАВЫ

В разделе 4.1 рассматривается определение реляционной алгебры, а в разделе 4.2 описаны две формы реляционного исчисления: реляционное исчисление кортежей и реляционное исчисление доменов. В разделе 4.3 кратко описаны некоторые другие реляционные языки. Для иллюстрации типичных операций используется пример базы данных предприятия по аренде недвижимости Dn тНоте, схема которой приведена в табл. 3.3-3.9.

В главах 5, 6 и 21 рассматривается язык SQL (Structured Queiy Language — язык структурированных запросов) — формальный и фактический стандарт языка для реляционной СУБД, конструкции которого основаны на реляционном исчислении кортежей. В главе 7 описан язык QBE (Qu^ry By-Ex&inple — запрос по образцу), еще один весьма распространенный язык визуального проектирования запросов для реляционных СУБД, который частично основан на реляционном исчислении доменов.

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

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

Реляционная алгебра является языком последовательного использования отношений, в котором все кортежи, возможно, даже взятые из разных отношений, обрабатываются одной командой без организации циклов. Для команд реляционной алгебры предложено несколько вариантов синтаксиса. Ниже мы воспользуемся общепринятыми символическими обозначениями для этих команд и представим их в неформальном ъиде. Более подробные сведения по этому вопросу заинтересованный читатель смоїкет найти в [404].

Существует несколько вариантов выбора операций, которые включаются в реляционную алгебру. Первоначально Кодд [67] предложил восемь операций, но впоследствии к ним были добавлены и некоторые другие. Пять основных операций реляционной алгебры, а именно выборка (selection), проекция (projection), декартово произведение (cartesian product), объединение (onion) и разность множеств (set difference), выполняют большинство действий по извлечению данных, которые могут представлять для нас интерес. На основании пяти основных операций можно также вывести дополнительные операции, такие как операции соединения (join), пересечения (intersection) и деления (division), которые могут быть выражены в терминах пяти основных операций. Результаты этих операций схематически показаны на рис. 4.1.

Операции выборки и проекции являются унарными, поскольку они работают с одним отношением. Другие операции работают с парами отношений, и поэтому их называют бинарными операциями. В приведенных ниже определениях R и S — это два отношения, определенные на атрибутах Jk= (Z1, . . , aN) и Bstblj^1 . . .,Ьм) соответственно.

138

Часть II. Реляционная модель и языки ffxfi

1

2 З

а 1
а 2
в 3
ь 1
Ь 2
b 3

а) Выборка

BUS

г) Объединение

T и

б) Проекция

Pns

д) Пересечение

7">*- U T

в) Декартово произведение

R-S

Ss

е) Разность множеств

Vj tjscu

А В
в 1
Ь 2

в с
1 *
1 У
3 z

А В с
а 1 x
а 1 У

А В
В 1

А В с
a 1 ж
3 1 У
Ь г

ж) Естественное Полусоединение и) Левое внешнее соедикение соединение

R + S V W V+W

1-і
I Остаток



А В
а 1
а 2
Ъ 1
Ъ 2
с 1

в

1

2

к)Деление (аатененмая область) Пример деления

Рис. 4.1. Схематическое пркдсмивлени. результатов операций реляционной алгебры

4.1.1. Унарные операции
Предыдущая << 1 .. 58 59 60 61 62 63 < 64 > 65 66 67 68 69 70 .. 683 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100