
- •Введение Тема 1.1. Понятие и классификация автоматизированных информационных систем
- •Тема 1.2 Жизненный цикл аис и модели жизненного цикла аис Жизненный цикл аис
- •Модели жизненного цикла аис
- •Тема 1.3. Методология и технология проектирования аис. Типовое проектирование аис
- •Тема 2.1.Этапы анализа предметной области
- •Тема 2.2 Методологии описания предметной области
- •Тема 2.3 Системы автоматизированного проектирования аис
- •I Этапы развития саsе-систем
- •II Классификация саsе-средств
- •Тема 3.1 Основы современных систем управления базами данных. Критерии выбора субд при создании аис
- •Основные технические характеристики субд
- •Тема 3.2 Базовые понятия реляционных баз данных. Проектирование реляционных баз данных с использованием нормализации
- •Тема 3.4. Язык структурных запросов MySql. Установка MySql 5
- •Тема 3.5. Создание данных и таблиц. Типы данных. Удаление баз и таблиц. Редактирование структуры таблиц.
- •10.4. Преобразование таблицы
- •Тема 3.6. Добавление данных. Удаление данных. Обновление данных.
- •Тема 3.7. Выборка данных. Однотабличные запросы.
- •Тема 3.8 MySql. Выборка данных. Многотабличные запросы
- •Тема 3.9 MySql. Работа с функциями. Поиск данных.
- •Возможные решения
- •Тип столбца Null
- •Задания
- •Возможные решения
- •Строковые функции
- •Ascii(строка) ord(строка)
- •Concat(строка1, строка2, ...)
- •Concat_ws(разделитель, строка1, строка2, ...)
- •Conv(n, основание_начальное, основание_конечное)
- •Elt(n, строка1, строка2, строкаЗ, ...)
- •Field(строка, строка1, строка2, строка3, ...)
- •Find_in_set(строка, список_строк)
- •Substring_index(строка, разделитель, количество)
- •Trim([[both | leading | trailing] [удаляемая_строка] from] строка)
- •Uncompress(строка_для_распаковки)
- •Unhex(строка)
- •Архитектура odbc
- •Функции odbc api
- •Соотношение стандарта odbc и стандарта интерфейса уровня вызовов (cli)
- •Создание источника данных
- •Утилита odbc
- •Создание источника данных с использованием odbc api
- •Коды возврата
- •Тема 4.3 Разработка клиентского программного обеспечения Тема 4.5 Основные элементы клиентских программ (интерфейс пользователя, справочная система, инсталляционный пакет и т.Д.)
- •Разработка функциональных требований к проекту программного продукта
- •Разработка внешнего дизайна
- •Основные свойства пользовательского интерфейса
- •Естественность интерфейса
- •Согласованность интерфейса
- •Дружественность интерфейса (принцип «прощения» пользователя)
- •Принцип «обратной связи»
- •Простота интерфейса
- •Гибкость интерфейса
- •1. Фиксированная
- •Косметическая.
- •Тема 5.1 Этапы и виды технологических процнссов обработки информации. Тех.Процесс преобразования информации
- •Понятие информационной технологии
- •Технологический процесс преобразования информации
- •Тема 5.4 Методы и средства сбора и передачи данных
- •Тема 5.5 Резервное копирование базы данных и последующее восстановление Резервное копирование базы данных и последующее восстановление
- •Модели восстановления базы данных
- •Тема 5.6 Типы методов резервирования Типы методов резервирования
- •Тема 5.7 Планирование стратегии резервирования
- •Тема 5.8 Экспортирование структур баз данных
- •Тема 5.9 Восстановление информации в базах данных
Архитектура odbc
Архитектура ODBC представлена четырьмя компонентами (рис. 1.1):
Приложение-клиент, выполняющее вызов функций ODBC.
Менеджер драйверов, загружающий и освобождающий ODBC-драйверы, которые требуются для приложений-клиентов. Менеджер драйверов обрабатывает вызовы ODBC-функций или передает их драйверу.
ODBC-драйвер, обрабатывающий вызовы SQL-функций, передавая SQL-серверу выполняемый SQL-оператор, а приложению-клиенту - результат выполнения вызванной функции.
Источник данных, определяемый как конкретная локальная или удаленная база данных.
Рис.
1.1. Архитектура ODBC
Основное назначение менеджера драйверов - загрузка драйвера, соответствующего подключаемому источнику данных, и инкапсуляция взаимодействия с различными типами источников данных посредством применения различных ODBC-драйверов.
ODBC-драйверы, принимая вызовы функций, взаимодействуют с приложением-клиентом, выполняя следующие задачи:
управление коммуникационными протоколами между приложением-клиентом и источником данных;
управление запросами к СУБД;
выполнение передачи данных от приложения-клиента в СУБД и из базы данных в приложение-клиент;
возвращение приложению-клиенту стандартной информации о выполненном вызове ODBC-функции в виде кода возврата;
поддерживает работу с курсорами и управляет транзакциями.
Приложение-клиент одновременно может устанавливать соединения с несколькими различными источниками данных, используя разные ODBC-драйверы, а также несколько соединений с одним и тем же источником данных, используя один и тот же ODBC-драйвер.
Функции odbc api
Все функции ODBC API условно можно разделить на четыре группы:
основные функции ODBC, обеспечивающие взаимодействие с источником данных;
функции установки (setup DLL);
функции инсталляции (installer DLL) ODBC и источников данных;
функции преобразования данных (translation DLL).
Объявления всех функций и используемых ими типов данных содержатся в заголовочных файлах. Группа основных функций ODBC API разбита на три уровня:
функции ядра ODBC;
функции 1 уровня;
функции 2 уровня.
Каждый ODBC-драйвер специфицируется как драйвер, поддерживающий определенный уровень функций ODBC API.
Прототипы функций ядра ODBC API находятся в файле Sql.h (C/C++, Visual Studio), а прототипы функций 1 и 2 уровней - в файле Sqlext.h.
Применение #define ODBCVER позволяет указать используемую версию (например, #define ODBCVER 0x0351).
Прототипы функций установки и инсталляции находятся в файле odbcinst.h.
Соотношение стандарта odbc и стандарта интерфейса уровня вызовов (cli)
Как уже отмечалось выше, открытый интерфейс доступа к базам данных фирмы Microsoft основан на следующих стандартах:
спецификация X/Open CAE1) (Specification "Data Management: SQL Call-Level Interface (CLI)");
спецификация ISO2) /IEC 9075-3:1995 (E) (Call-Level Interface (SQL/CLI)).
В настоящее время фирма Microsoft поддерживает версию 3.x ODBC API. Приложения, написанные на основе спецификации X/Open и ISO CLI, будут правильно работать с ODBC-драйверами версии 3.x или драйверами "согласованного стандарта" в том случае, если они компилируются с заголовочными файлами ODBC версии 3.x и линкуются с ODBC 3.x библиотеками, а доступ к ODBC-драйверу получают через менеджер драйверов ODBC 3.x. Аналогично, что и сами драйверы 3.x, написанные на основе спецификации X/Open и ISO CLI, будут правильно работать с приложениями при соблюдении этих же условий.
Драйвер ODBC 3.x всегда поддерживает все возможности, используемые приложением "согласованного стандарта", а приложение ODBC 3, которое использует только возможности, предоставляемые ISO CLI, и обязательные средства, описываемые X/Open CLI, всегда будет работать с драйвером "согласованного стандарта".
В дополнение к интерфейсу, специфицированному в стандартах ISO/IEC и X/Open CLI, ODBC реализует следующие возможности:
извлечение нескольких строк (блочная выборка) за один вызов функции;
связывание с массивом параметров;
поддержка закладок, включая выборку посредством закладки, закладки переменной длины, блочное обновление и удаление посредством отмеченных операций над непоследовательными строками;
построчное связывание (row-wise binding);
связывание со смещением (binding offsets);
поддержка пакетов SQL-операторов как в хранимых процедурах, так и в виде последовательности отдельных SQL-операторов, выполняемых при вызове функций SQLExecute и SQLExecDirect;
определение точного или приблизительного числа строк курсора;
применение операции позиционированного обновления и удаления и пакетных удалений и обновлений с использованием функции SQLSetPos;
поддержка функций каталога, позволяющих получать информацию из схемы базы данных (системных таблиц);
библиотеки преобразования для кодовых страниц;
асинхронное выполнение;
поддержка хранимых процедур, включая escape-последовательности, механизм связывания выходных параметров, функции каталога;
более продвинутые возможности соединения, включающие поддержку атрибутов соединения и просмотра атрибутов.
Для согласованности со стандартом ISO CLI и X/Open CLI в заголовочных файлах содержатся псевдонимы значений, используемых в ODBC API. Так, в псевдонимах "MAX" расширено до "MAXIMUM", "LEN" до "LENGTH", "MULT" до "MULTIPLE", "OJ" до "OUTER_JOIN", а "TXN" до "TRANSACTION". Например:
Индентификатор ODBC |
Псевдоним в заголовочном файле |
SQL_MAX_CATALOG_NAME_LEN |
SQL_MAXIMUM_CATALOG_NAME_LENGTH |
SQL_MAX_COLUMN_NAME_LEN |
SQL_MAXIMUM_COLUMN_NAME_LENGTH |
SQL_MAX_COLUMNS_IN_GROUP_BY |
SQL_MAXIMUM_COLUMNS_IN_GROUP_BY |
SQL_MAX_COLUMNS_IN_ORDER_BY |
SQL_MAXIMUM_COLUMNS_IN_ORDER_BY |
SQL_MAX_COLUMNS_IN_SELECT |
SQL_MAXIMUM_COLUMNS_IN_SELECT |
SQL_MAX_COLUMNS_IN_TABLE |
SQL_MAXIMUM_COLUMNS_IN_TABLE |
SQL_MAX_CONCURRENT_ACTIVITIES |
SQL_MAXIMUM_CONCURRENT_ACTIVITIES |
SQL_MAX_CURSOR_NAME_LEN |
SQL_MAXIMUM_CURSOR_NAME_LENGTH |
SQL_MAX_DRIVER_CONNECTIONS |
SQL_MAXIMUM_DRIVER_CONNECTIONS |
SQL_MAX_IDENTIFIER_LEN |
SQL_MAXIMUM_IDENTIFIER_LENGTH |
SQL_MAX_SCHEMA_NAME_LEN |
SQL_MAXIMUM_SCHEMA_NAME_LENGTH |
SQL_MAX_STATEMENT_LEN |
SQL_MAXIMUM_STATEMENT_LENGTH |
SQL_MAX_TABLE_NAME_LEN |
SQL_MAXIMUM_TABLE_NAME_LENGTH |
SQL_MAX_TABLES_IN_SELECT |
SQL_MAXIMUM_TABLES_IN_SELECT |
SQL_MAX_USER_NAME_LEN |
SQL_MAXIMUM_USER_NAME_LENGTH |
SQL_MULT_RESULT_SETS |
SQL_MULTIPLE_RESULT_SETS |
SQL_OJ_CAPABILITIES |
SQL_OUTER_JOIN_CAPABILITIES |
SQL_TXN_CAPABLE |
SQL_TRANSACTION_CAPABLE |
SQL_TXN_ISOLATION_OPTION |
SQL_TRANSACTION_ISOLATION_OPTION |