суббота, 15 августа 2009 г.

БД24

3.2.4. Основные операторы реляционной алгебры
Реляционная алгебра, определенная Коддом, состоит из 8 операторов. Их можно разделить на две группы: реляционные операции, аналогичные традиционным операциям над множествами, и собственно реляционные операции.
Для всех реляционных операций необходимо выполнение свойства замкнутости: результатом каждой операции над отношениями также должно являться отношение.

Реляционные операторы, аналогичные традиционным операциям над множествами:

1) Объединение. Результатом объединения является отношение, содержащее все кортежи, которые принадлежат хотя бы одному из двух отношений.
На языке SQL: A UNION B, где А и В – имена отношений.
В отличие от объединения множеств, результатом является не множество кортежей, а именно отношение. Поэтому кортежи должны быть однородны, т.е. объединяемые отношения должны быть совместимы по типу. Это значит, что:
a) каждое из них имеет одно и то же множество атрибутов;
b) соответствующие атрибуты определены на одном и том же домене.
ПРИМЕР: допустим, в БД Факультет имеются отдельные таблицы Лаборанты и Преподаватели. Эти две таблицы можно объединить, в результате получиться таблица, содержащая все данные на сотрудников: и преподавателей, и лаборантов.

2) Пересечение. Результатом пересечения является отношение, содержащее кортежи, принадлежащие и 1, и 2 отношению. Также должно выполняться условие совместимости по типу.
A INTERSECT B
ПРИМЕР: допустим опять, что в БД Факультет есть отдельная таблица Лаборанты. С помощью этой операции можно найти тех студентов, которые подрабатывают лаборантами.

3) Вычитание. Результатом вычитания является отношение, все кортежи которого принадлежат первому и не принадлежат второму отношениям. Также должно выполняться условие совместимости по типу.
A MINUS B
ПРИМЕР: Можно выяснить, какие студенты не работают лаборантами на факультете и наоборот.

4) Произведение (декартово). Результатом произведения является отношение, содержащее все возможные кортежи, которые являются сочетанием двух кортежей, принадлежащих соответственно двум начальным отношениям.
a x a x
b y a y
c b x
b y
c x
c y
A TIMES B
Отметим, что результатом является отношение, а не множество пар кортежей, как это бывает при произведении над множествами. Т.е. первоначальные кортежи сцепляются, т.е. образуют в результате новый кортеж.
ПРИМЕР: Если выполнить произведение отношений Студенты и Дисциплины, то получим в результате отношение, в котором будет указано, что каждый студент изучает каждую дисциплину.
Собственно реляционные операторы:
Выборка (еще называют операцией ограничения). Результатом выборки является отношение, содержащее все кортежи первоначального отношения, удовлетворяющие определенным условиям.
Можно сказать, что это «горизонтальное» подмножество начального отношения.
A WHERE xθy (θ (тэта)– любой оператор сравнения: <,>,=,…)
ПРИМЕР: любой запрос на выборку.
Проекция. Результатом проекции является отношение, содержащее все кортежи отношения после исключения из него некоторых атрибутов. (Такие кортежи называются подкортежами)
Можно сказать, что это «вертикальное» подмножество начального отношения.
Специального оператора на SQL для проекции нет, т.к. для ее выполнения достаточно в стандартной конструкции запроса SELECT указать, какие атрибуты отношения берутся.
Обратим внимание на 2 частных случая:
• возможно указание списка всех атрибутов исходного отношения - это тождественная проекция;
• возможно указание пустого списка атрибутов – это нулевая проекция.
ПРИМЕР: простой запрос.

Если вы хотите создать интернет магазин, то вам поможет наш сервис!

Скачайте игры для детей бесплатно и пусть ваши ребятишки развиваются, играя