- •1. Основные понятия баз данных. Роль и место субд. Этапы развития субд.
- •2. Основные функции и возможности субд. Наиболее распространенные сегодня субд и области их использования.
- •3. Реляционная модель данных. Понятие таблица, ключ, кортеж, атрибут, домен.
- •4. Модель «Объект — Свойство — Отношение». Проектирование схемы бд. Нормализация отношений.
- •5. Технология клиент-сервер. Её использование в технологиях бд.
- •6. Логическая и физическая независимость данных. Обеспечение целостности данных.
- •7. Язык sql. Назначение и операторы языка.
- •8. Понятие транзакции и её необходимость. Операторы commit, rollback.
- •9.Хранимые процедуры, функции и пакеты. Триггеры.
- •10. Объектно-ориентированные базы данных.
- •11. Архитектура odbc. Преимущества и недостатки использования odbc.
11. Архитектура odbc. Преимущества и недостатки использования odbc.
Архитектура ODBC (Open Database Connectivity) представлена четырьмя компонентами:
- Приложение-клиент, выполняющее вызов функций ODBC.
- Менеджер драйверов, загружающий и освобождающий ODBC-драйверы, которые требуются для приложений-клиентов. Менеджер драйверов обрабатывает вызовы ODBC-функций или передает их драйверу.
- ODBC-драйвер, обрабатывающий вызовы SQL-функций, передавая SQL-серверу выполняемый SQL-оператор, а приложению-клиенту - результат выполнения вызванной функции.
- Источник данных, определяемый как конкретная локальная или удаленная база данных.
Основное назначение менеджера драйверов - загрузка драйвера, соответствующего подключаемому источнику данных, и инкапсуляция взаимодействия с различными типами источников данных посредством применения различных ODBC-драйверов.
ODBC-драйверы, принимая вызовы функций, взаимодействуют с приложением-клиентом, выполняя следующие задачи:
- управление коммуникационными протоколами между приложением-клиентом и источником данных;
- управление запросами к СУБД;
- выполнение передачи данных от приложения-клиента в СУБД и из - базы данных в приложение-клиент;
- возвращение приложению-клиенту стандартной информации о выполненном вызове ODBC-функции в виде кода возврата;
- поддерживает работу с курсорами и управляет транзакциями.
Приложение-клиент одновременно может устанавливать соединения с несколькими различными источниками данных, используя разные ODBC-драйверы, а также несколько соединений с одним и тем же источником данных, используя один и тот же ODBC-драйвер.
В настоящее время технология ODBC фактически приобрела значение отраслевого стандарта. Основной причиной ее популярности является присущая ей гибкость, предоставляющая разработчикам следующие преимущества:
- простота разработки приложения;
- технология ODBC позволяет создавать распределенные гетерогенные приложения без учета конкретных СУБД, т.е. приложение становится независимым от СУБД;
- приложения больше не связаны с прикладным API какой-то одной СУБД;
- SQL-операторы могут явно включаться в исходный текст приложения либо динамически создаваться непосредственно во время выполнения программ;
- приложение способно игнорировать особенности используемых протоколов передачи данных;
- данные посылаются и доставляются в том формате, который наиболее удобен для конкретного приложения;
- в настоящее время существуют драйверы ODBC для различных типов самых распространенных СУБД.
Основной недостаток технологии ODBC связан с необходимостью трансляции запросов, что снижает скорость доступа к данным. В системах клиент-сервер он устраняется путем перемещения обработки запроса с компьютера-клиента на компьютер-сервер.
А также:
- увеличение время обработки запросов, что связано с введением дополнительного программного слоя;
- необходимы предварительная инсталляция и настройка ODBC-драйвера (указание драйвера СУБД, сетевого пути к серверу, базы данных и т.д.) на каждом рабочем месте. Параметры этой настройки являются статическими, т.е. приложение изменить их самостоятельно не может;
- предоставляет доступ только к реляционным SQL-ориентированным БД.
Существует 4 важных этапа (шага) процедуры запроса данных через ODBC API.
Шаг 1 - установление соединения. Первый шаг состоит в размещении указателей (handle) среды ODBC, которые выделяют оперативную память под ODBC драйверы и библиотеки. Затем происходит выделение памяти для указателей соединения, и соединение устанавливается.
Шаг 2 - выполнение оператора SQL. Выделяется указатель оператора, локальные переменные связываются со столбцами в SQL-выражении (это необязательное действие), и выражение представляется главному ODBC-драйверу для обработки.
Шаг 3 - извлечение данных. Перед извлечением данных возвращается информация о результирующем наборе, в частности, число столбцов в наборе. Исходя из этого числа, результирующий набор помещается в буфер записей, выполняется цикл его просмотра и содержимое каждого столбца помещается в соответствующую локальную переменную. Этот шаг необязателен, если используется связывание столбцов с локальными переменными.
Шаг 4 - освобождение ресурсов. После того, как данные получены, ресурсы освобождаются путем вызова функций освобождения указателей оператора, соединения и среды. Указатели оператора и соединения могут быть использованы в процессе обработки.
