таких, что (a1,a2,...,an) Î A, (b1,b2,...,bn) Î B

Синтаксис операции декартового произведения: A TIMES B

Замечание. Мощность произведения A TIMES B равна произведению мощностей отношений A и B, т. к. каждая строка отношения A соединяется с каждой строкой отношения B.

Если в отношения A и B имеются атрибуты с одинаковыми наименованиями, то перед выполнением операции декартового произведения такие атрибуты необходимо переименовать.

Перемножать можно любые два отношения, совместимость по типу при этом не требуется.

Пример. Пусть даны два отношения A и B с информацией о поставщиках и деталях:

Таблица 6. Отношение A (Поставщики)

Номер поставщика

Наименование поставщика

1

Завод 1

2

Завод 2

3

Завод 3

Таблица 7. Отношение B (Детали)

Номер детали

Наименование детали

1

Болт

2

Гайка

3

Винт

Декартово произведение отношений A и B будет иметь вид:

Таблица 8. Отношение A TIMES B

Номер поставщика

Наименование поставщика

Номер детали

Наименование детали

1

Завод 1

1

Болт

1

Завод 1

2

Гайка

1

Завод 1

3

Винт

2

Завод 2

1

Болт

2

Завод 2

2

Гайка

2

Завод 2

3

Винт

3

Завод 3

1

Болт

3

Завод 3

2

Гайка

3

Завод_3

3

Винт

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

НЕ нашли? Не то? Что вы ищете?

Выборкой (ограничением, селекцией) на отношении A с условием z называется отношение с тем же заголовком, что и у отношения A, и телом, состоящем из строк (кортежей), значения атрибутов которых при подстановке в условие z дают значение ИСТИНА. «Z» представляет собой логическое выражение, в которое могут входить атрибуты отношения A и (или) скалярные выражения.

В простейшем случае условие c имеет вид XQY, где Q - один из операторов сравнения ( и т. д.), а X и Y - атрибуты отношения A или скалярные значения. Такие выборки называются Q-выборки (тэта-выборки) или Q-ограничения, Q-селекции.

Синтаксис операции выборки: A WHERE z или A WHERE XQY

Пример. Пусть дано отношение A с информацией о сотрудниках:

Таблица 9. Отношение A

Табельный номер

Фамилия

Зарплата

1

Иванов

1000

2

Петров

2000

3

Сидоров

3000

Результат выборки A WHERE Зарплата <3000 будет иметь вид:

Таблица 10. Отношение A WHERE Зарплата<3000

Табельный номер

Фамилия

Зарплата

1

Иванов

1000

2

Петров

2000

Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некоторому условию. Таким образом, операция выборки дает "горизонтальный срез" отношения по некоторому условию.

Проекция. Результатом проекции отношения A по списку атрибутов a1, a2, ..., an является отношение, с заголовком, определяемым множеством атрибутов a1, a2, ..., an, и с телом, состоящим из кортежей вида <a1:v1, a2:v2, ..., an:vn> таких, что в отношении A имеется кортеж, атрибут a1 которого имеет значение v1, атрибут a2 имеет значение v2, ..., атрибут an имеет значение vn. Тем самым, при выполнении операции проекции выделяется "вертикальная" вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.

Синтаксис операции проекции: A[X,Y,...,Z]

Пример. Пусть дано отношение A с информацией о поставщиках, включающих их наименование и месторасположение:

Таблица 11. Отношение A (Поставщики)

Номер поставщика

Наименование поставщика

Город поставщика

1

Завод_1

Уфа

2

Завод_2

Москва

3

Завод_3

Москва

4

Завод_4

Челябинск

Проекция А [Город поставщика] будет иметь вид:

Таблица 12. Отношение A[Город поставщика]

Город поставщика

Уфа

Москва

Челябинск

Замечание. Операция проекции дает "вертикальный срез" отношения, в котором удалены все возникшие при таком срезе дубликаты кортежей.

Соединением отношений A и B по условию z называется отношение (A TIMES B) WHERE z

,где z представляет собой логическое выражение, в которое могут входить атрибуты отношений A и B и (или) скалярные выражения.

Таким образом, операция соединения есть результат последовательного применения операций декартового произведения и выборки. Если в отношениях A и B имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать. Чтобы сделать различными.

Пример. Пусть даны два отношения A и B с информацией о поставщиках и деталях:

Таблица 13 Отношение A (Поставщики)

Номер поставщика

Наименование поставщика

1

Иванов

2

Петров

3

Сидоров

Таблица 14. Отношение B (Детали)

Номер детали

Наименование детали

1

Болт

2

Гайка

3

Винт

Декартово произведение отношений A и B будет иметь вид:

Таблица 15. Отношение A TIMES B

Номер поставщика

Наименование поставщика

Номер детали

Наименование детали

1

Иванов

1

Болт

1

Иванов

2

Гайка

1

Иванов

3

Винт

2

Петров

1

Болт

2

Петров

2

Гайка

2

Петров

3

Винт

3

Сидоров

1

Болт

3

Сидоров

2

Гайка

3

Сидоров

3

Винт

Если к нему приложить условие «Какие поставщики поставляют болты» то есть «Какие поставщики поставляют детали с номером 1», то в результате получим отношение

Таблица 16. Отношение A TIMES B WHERE Номер детали = 1

Номер поставщика

Наименование поставщика

Номер детали

Наименование детали

1

Иванов

1

Болт

2

Петров

1

Болт

3

Сидоров

1

Болт

На практике используются несколько разновидностей операции соединения, отличающиеся немного друг от друга:

·  Q-соединение (тэта-соединение)

·  Экви-соединение (эквивалентное соединение, частный случай тэта-соединения)

·  Естественное соединение

Тэта-соединение

Пусть отношение A содержит атрибут X, отношение B содержит атрибут Y, а Q - один из операторов сравнения ( и т. д.). Тогда Q-соединением отношения A по атрибуту X с отношением B по атрибуту Y называют отношение (A TIMES B) WHERE XQY.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4