- •Тема 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. Динамика развития моделей данных.
4.8. Оптимизация запросов
В реляционных системах запросов существует возможность выбора эффективной стратегии для вычисления выражения, с помощью которого сформулирован запрос.
Этот процесс-выбор эффективной стратегии вычислений выполняет оптимизатор на уровне транслятора.
Оптимизатор использует определенные правила и законы преобразования реляционных выражений
Правила выборки и проекции
Распределительный закон
Законы коммутативности и ассоциативности
Семантические преобразования.
Рассмотрим пример оптимизации запроса.
Дано:
R1(A1,A2);R1имеет мощность = 10x103кортежей. ПричемA2=11-15 кортежей.
R2(A3,A4);R2имеет мощность = 20х103кортежей иA3=55-50 кортежей
Найти: 1) R3 = R1(A1,A2) (X) R2(A3,A4)
2)Все кортежиR3, которые имеют А2=11 и А3=55
R3
|
А1 |
А2 |
А3 |
А4 |
|
|
|
|
|
|
|
11 |
55 |
|
|
|
11 |
|
|
|
|
|
55 |
|
Мощность декартова произведения R3= 10x103x20x103= 200x106– кортежей, т.е для реализации запроса необходимо просмотреть 200х106кортежей.
Для реализации селекции
σА2=11˄А3=55 (R3) необходимо выполнить 200х106обращений к отношениюR3 для просмотра всех кортежей.
Введем эквивалентное преобразование:
σA2=11 ˄ A3=55 (R3) = σA2=11 (R1) (X) σA3=55 (R2)
Это преобразование позволяет работать с R1 затем сR2, а затем получить декартово произведение и рассчитать количество обращений к отношениюR1 иR2 которые необходимо реализовать для такого выражения.
Для реализации σА2=11 (R1) – необходимо реализовать 10Х103обращений к отношениюR1
Для реализации σА3=55 (R2) – необходимо реализовать 20Х103обращений к отношениюR2
Для получения декартова произведения необходимо получить еще 15Х50 = 750 обращений
Общее количество обращений для реализации выражения R(A1,A2,A3,A4)=σA2=11 (R1) (X)σA3=55 (R2) = 20Х103+10Х103+750 ≈ 30Х103обращений.
А в 1 случае имеем 200х106обращений, т.е мы получаем за счет оптимизации запросов выигрыш на4 порядка.
Этот пример дает представление об оптимизации запросов, которая используется в языке SQL.
4.9. Динамика развития моделей данных.
Динамика развития моделей данных может быть наглядно представлена в виде следующего графика:

ООСУБД- обладают возможностью отображения информации о сложных взаимосвязях объектов, но для них характерна низкая скорость выполнения запросов. Логическая структура объектно-ориентированной СУБД внешне похожа на иерархическую структуру, в узлах которой находятся объекты данных.В реляционных СУБД используется реляционная модель данных т.е. данные представляются в виде отношений. Языки для этих СУБД являются объектно- ориентированными. Они работают с объектами, а данные не являются объектами. ООСУБД устраняет это противоречие. В них данные являются объектами. Для них можели данных разрабатываются специалистми СУБД.
ОРСУБД – занимают лидирующую позицию по сложности данных и гибкости поиска. ОРСУБД – или постреляционная СУБД.
Модель этого типа допускает хранение ненормализованных данных. Реализация этого условия требует сложных СУБД, но упрощает работу с данными и увеличивает скоростные характеристики БД.

