таких, что (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 |


