Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету.docx
Скачиваний:
7
Добавлен:
19.09.2019
Размер:
590.16 Кб
Скачать

Клиентская библиотека (sql-интерфейс к odbc-источнику данных)

I. Организация сеанса

1.1. Соединение c локальным Агентом_СУБД

1.2. Авторизация элемента-приложения или использование контекста авторизации по умолчанию (наследование от локального Агента)

II. Прием и компиляция запроса:

2.1. Cинтаксический анализ – т.н. “parsing” (пример для оператора SELECT) :

< Query > : = < S F W >

< Query > : = ( < Query > )

< S F W > : = SELECT < S_List > FROM < F_List > WHERE < W_List >

< S_List > : = < Field > , < S_List >

< S_List > : = < Field >

< F_List > : = < Table > , < F_List >

< S_List > : = < Table >

< W_List > : = < W_List > AND < W_List >

< W_List > : = < Field > = < Field >

< W_List > : = < Field > = < Const >

……………………………………….

( на выходе SFW– дерево запроса)

2.2. Преобразование дерева в постфиксную форму

2.3. Передача запроса локальному Агенту_СУБД

III. Синхронизация и обработка ответа, возврат данных приложению

.

Агент_субд (локальный процесс – мультиплексирование обслуживания локальных запросов к удаленному sql-источнику данных)

I. Организация взаимодействия с Клиентом_СУБД

1.1. Образование защищенного логического канала (магистрали) «надежного» обмена данными с Клиентом_СУБД (локального или удаленного) узла гетерогенной ЛВС

1.2. Регистрация (учет), закрытие (проебразование) трафика

II. Оптимизация информационного взаимодействия (прием/передача страниц курсоров результирующих множеств) между Сервером_СУБД и Приложениями

Среда передачи данных

Клиент_субд (локальный процесс – мультиплексирование приема и организации выполнения запросов к локальному sql-источнику данных)

I. Организация взаимодействия с удаленными Агентами_СУБД

1.1. Прием запросов , проверка полномочий по подключению к источнику данных

1.2. Организация работы потоков-обработчиков локальных и удаленных подключений к Серверу_СУБД

II. Разбор постфиксного выражения, семантический контроль

- использования имен отношений (таблиц)

- использования имен атрибутов (полей) - контроль типов данных и их преобразование

III. Построение логического плана запроса

IV. CALL-интерфейс обращений к программе Сервер_СУБД

Сервер_субд (операции с локальными бд)

I. Инициализация ядра СУБД и интерфейсов администрирования БД

II. Физическое планирование и организация выполнения запросов

III. Оптимизация функционирования, управление буферизацией и блокированием

Примеры:

1. Построение SFW-дерева запроса

Отношение S: «Проекты – Подрядчики»

{<Шифр>, <Дата>, <Стоимость>}  <Подрядчик>

Шифр

Дата

Стоимость

Подрядчик

Прометей

2006.03.22

$ 500 000

ЗАО «Рога и Копыта»

Прометей

2006.03.22

$ 700 000

ФГУП «ФАРВАТЕР»

Прометей

2006.03.22

$ 800 000

ОАО «Лукойл»

Юпитер

1998.01.15

$ 20 000 000

ФГУП «ФАРВАТЕР»

Юпитер

1998.01.15

$ 10 000 000

ОАО «Лукойл»

SELECT Подрядчик

FROM S

WHERE S.Шифр LIKE ‘Прометей’ AND S.Стоимость > $500000

< Query >

< S F W >

SELECT S_List FROM F_List WHERE W_List

< Field > < Table > AND

Подрядчик S < W_List > < W_List >

< Field > LIKE < Const > < Field > > < Const >

Шифр ‘Прометей’ Стоимость $500000

Логический план выполнения запроса