Определение
Пусть отношение A содержит атрибут X, отношение B содержит атрибут Y, а Q- один из операторов сравнения (=, ¹, <, £, >, ³ и т.д.). Тогда Q-соединением отношения A по атрибуту X с отношением B по атрибуту Y называют отношение (A TIMES B) WHERE XQY.
Это частный случай операции общего соединения.
Иногда, для операции Q-соединения применяют следующий, более короткий синтаксис:
A[XQY]B
Пример Рассмотрим некоторую компанию, в которой хранятся данные о поставщиках и поставляемых деталях. Пусть поставщикам и деталям присвоен некий статус. Пусть бизнес компании организован таким образом, что поставщики имеют право поставлять только те детали, статус которых не выше статуса поставщика (смысл этого может быть в том, что хороший поставщик с высоким статусом может поставлять больше разновидностей деталей, а плохой поставщик с низким статусом может поставлять только ограниченный список деталей, важность которых (статус детали) не очень высока).
Номер поставщика | Наименование поставщика | X (Статус поставщика) |
1 | Иванов | |
2 | Петров | |
3 | Сидоров |
Отношение A (Поставщики)
|
|
Номер детали | Наименование детали | Y (Статус детали) |
1 | Болт | |
2 | Гайка | |
3 | Винт |
Отношение B (Детали)
Ответ на вопрос "какие поставщики имеют право поставлять какие детали?" дает Q-соединение A[X³Y]B:
Номер поставщика | Наименование поставщика | X (Статус поставщика) | Номер детали | Наименование детали | Y (Статус детали) |
Иванов | Болт | ||||
Иванов | Гайка | ||||
Иванов | Винт | ||||
Петров | Винт | ||||
Сидоров | Гайка | ||||
Сидоров | Винт |
Отношение "Какие поставщики поставляют какие детали"
Экви-соединение
Наиболее важным частным случаем Q-соединения является случай, когда Q есть просто равенство.
Синтаксис экви-соединения: A[X=Y]B
Пример Пусть имеются отношения P, D и PD, хранящие информацию о поставщиках, деталях и поставках соответственно (для удобства введем краткие наименования атрибутов):
Номер поставщика PNUM | Наименование поставщика PNAME |
1 | Иванов |
2 | Петров |
3 | Сидоров |
Отношение P (Поставщики)
Номер детали DNUM | Наименование детали DNAME |
1 | Болт |
2 | Гайка |
3 | Винт |
Отношение D (Детали)
Номер поставщика PNUM | Номер детали DNUM | Поставляемое количество VOLUME |
1 | 1 | |
1 | 2 | |
1 | 3 | |
2 | 1 | |
2 | 2 | |
3 | 1 |