
- •Тема 4. Модели данных
- •4.1. Общие сведения о моделях данных.
- •4.2. Древовидные структуры.
- •Сбалансированные, несбалансированные и двоичные деревья.
- •4.3. Сетевые модели.
- •Приведение сетевых структур к более простому виду.
- •Постреляционная модель.
- •4.4. Реляционные модели данных.
- •4.5. Реляционная алгебра.
- •X 101 5 ay 105 3 az 500 9 aw 50 1 bw 10 2 b w 300 4 b 5 a10 b15 c2 d6 a1 b
- •5. Селекция (выборка).
- •2.2. Естественное соединение (эквисоединение).
- •2.3. Композиция.
- •2.4. Внешние соединения.
- •3. Деление
- •4.6. Примеры использования операций реляционной алгебры.
- •4.7. Реляционное исчисление.
- •4.7.1.Реляционное исчисление кортежей.
- •2. Операция разности.
- •4.7.2. Реляционное исчисление доменов.
- •4.8. Оптимизация запросов
- •4.9. Динамика развития моделей данных.
2.2. Естественное соединение (эквисоединение).
В этом случае атрибуты соединения имеют общие (одинаковые) домены, и после соединения один из этих атрибутов отбрасывается.
Пример:
P [D3 = D4] Q
Здесь D3 – домен отношения Р,
D4 – домен отношения Q.
1
11 x x 1 1
11 x x 2 2
11 y y 1 3
11 z 4
12 x x 1 4
11 x x 2
1
11 x x 1 1
11 x x 2 2
11 y y 1 3
11 z 4
12 x x 1 4
11 x x 2
1
11 x 1 1
11 x 2 2
11 y 1 4
12 x 1 4
11 x 2
=
2.3. Композиция.
Это соединение отличается от естественного тем, что из результирующего отношения удаляются оба атрибута соединения.
1
11 1 1
11 2 2
11 1 4
12 1 4
11 2
11 2
1
11 x 1 1
11 x 2 2
11 y 1 4
12 x 1 4
11 x 2
=
.
2.4. Внешние соединения.
Обратимся к общей формуле для соединения отношений R[AѲB]S, где
RиS- отношения;
A– Атрибут отношенияA;
B– Атрибут отношенияB;
Ѳ - оператор сравнения;
Кортеж отношения Rнаходит соответствие кортежу отношенияS, через атрибутыA,Bи оператор Ѳ.
Однако, при соединении двух отношений встречаться случаи, когда кортежи одного из отношения не находят соответствующего картежа в другом отношении. Может потребоваться, чтобы строка из одного отношения была представлена соединения, даже если в другом отношении нет совпадающего значения. Эта цель может быть достигнута с помощью внешнего соединения.
Три типа внешнего соединения рассмотрим на примере двух таблиц: Таблица 1 – Personsи Таблица 2 -Cards
Почтовые карточки - CardsIDполучают различные люди -PersonIDпо различным поводам.
Особенности таблиц:
1.Запись 4 в таблице1 – этот человек никогда не посылал почтовые карточки и он не зарегистрирован в таблице 2.
2.Запись 4 в таблице 2 – Получена карточка, от лица не зарегистрированного в таблице 1.
Левое внесение соединения.
(Left Outer Join)
В этом случае в результирующем отношении содержаться все кортежи левого отношения, а несовпадающие значения отношения Cardsспециально заполняться с использование определителя “NULL” .
Определитель “NULL” следует воспринимать как логическую величину “НЕИЗВЕСТНО” .Ключевое слово “NULL” призвано обозначать отсутствие какого либо значения. Его не нужно понимать как нулевое численное значение или заполненную пробелами строку. Ключевое слово “NULL” представляет собой способ обработки неполных или необычных данных.
Итак, имеем итоговую таблицу:
Правое внесение соединения.
(Right Outer Join)
В этом случае результирующем отношении содержатся все кортежи правого отношения Cards. Несовпадающие значения с использованием определителя “NULL” т.е. нулевые значения или пробелы.
Итоговая таблица:
Полное внесение соединения.
(Full Outer Join)
В этом случае в результирующее отношение включаются все кортежи из обоих отношений. Для обозначения несовпадающих значений кортежей используют определитель “NULL”.
Итоговая таблица: