Добавлен: 20.10.2018
Просмотров: 490
Скачиваний: 5
Тема 25. Стандартизация баз данных
В области баз данных существует большое количество стандартов,
касающихся языковых средств и технологий обмена информацией между
разными СУБД.
Стандарты SQL
Язык структурированных запросов SQL разработан в середине 70-х
фирмой IBM в рамках проекта РСУБД System. Первоначальное название языка
– SEQUEL. В настоящее время существуют три стандарта SQL: ANSI SQL 89,
SQL 92 (SQL 2), SQL 3 (в разработке).
Стандарт ANSI SQL 89
Описывает три варианта использования языка: модульный язык,
встроенный SQL, интерфейс непосредственных вызовов.
Модульный язык основан на использовании SQL-процедур, состоящих из
операторов языка SQL и объединенных в отдельные модули. SQL-процедуры
вызываются из программ на обычных языках программирования.
Встроенный SQL предусматривает включение SQL-операторов в
программы на обычных языках программирования. Обработка программы
происходит в два этапа: сначала работает препроцессор, преобразующий SQL-
операторы в операторы языка программирования, а затем – обычный
компилятор. Используется статическое задание параметров SQL-операторов.
Интерфейс непосредственных вызовов предполагает ручное кодирование
операторов SQL в виде последовательностей вызовов внешних процедур.
Стандарт SQL 2
Поддерживается практически всеми современными СУБД. Основное
отличие от предыдущего стандарта – возможность формирования текста SQL-
запроса во время выполнения программы (динамический SQL).
Стандарт SQL 3
Разработка стандарта SQL3 в настоящее время еще не закончена.
Текущий проект SQL3 в значительной степени включает спецификацию SQL2,
а также содержит ряд новых возможностей: объектно-ориентированные
возможности, управление хранимыми процедурами и т.д.
К объектным возможностям SQL относится, прежде всего, объектная
ориентированность таблиц БД. Строки таблиц могут содержать значения
абстрактных типов данных (АТД) и ссылки на них, а также иметь однозначные
идентификаторы. Для поддержки АТД предусматриваются средства
определения типов данных и методов доступа к ним, аналогичных
используемым в ООП.
Стандарт ODMG 93
Стандарт обеспечивает независимость (мобильность) прикладных систем
от систем управления объектными базами данных (СУОБД).
СУОБД, с одной стороны, рассматривается как СУБД, в которой данные
имеют объектную модель, а с другой, - как средство представления объектов
БД в качестве объектов языков программирования. СУОБД расширяет языки
программирования, например C++, средствами долговременного хранения
объектов, управления конкурентным доступом, восстановления данных,
выполнения объектных запросов и т.д.
В стандарте ODMG 93 даются определения следующих компонентов БД:
объектной модели,
языка определения объектов ODL,
языка объектных запросов OQL,
языков манипулирования данными, используемых в ООП.
За основу ODL взят язык определения интерфейсов IDL архитектуры
OMG. В IDL каждый объект БД имеет строго определенный и единственный
тип. Поведение объекта определяется перечнем допустимых операций в
соответствии с типом. Объектная модель позволяет описывать связи типов 1:1,
1:М, М:М.
Основой языка OQL является SQL2, главное от которого состоит в том,
что запрос формулируется в терминах объектов и коллекций, а не кортежей и
таблиц.
Операции манипулирования данными, управления транзакциями,
динамического вызова запросов и другие выполняются с помощью библиотеки
классов и функций.
Технология CORBA
Для ИС с распределенной обработкой предложена технология CORBA –
архитектура брокера общих объектных запросов. Основу этой архитектуры
составляет брокер объектных запросов ORB, управляющий взаимодействием
клиентов и серверов в распределенной сетевой среде. Брокер объектных
запросов можно рассматривать как объектную шину, позволяющую объектам
прозрачно генерировать запросы и получать отклики от других локальных и
удаленных объектов.
Важнейшими свойствами ORB с точки зрения архитектуры клиент-сервер
являются:
Возможность как статического, так и динамического связывания
вызовов методов;
Возможность вызова методов серверного объекта из произвольного
языка программирования;
Самоописываемость системы, заключающаяся в предоставлении
метаданных для описания каждого известного серверного интерфейса
на этапе выполнения;
Возможность инкапсуляции существующих приложений, основанная
на отделении определения объекта от его реализации.
CORBA
можно
определить
как
промежуточное
программное
обеспечение, потенциально связанное с другими формами клиент-серверных
программ. Обеспечение CORBA разработано для всех основных аппаратных и
программных платформ. Поэтому клиентские приложения CORBA одной ОС
легко взаимодействуют с сервером приложений в другой ОС.
Стандарт ODBC (совместимость открытых баз данных)
Разработанный фирмой Microsoft стандарт ODBC регламентирует доступ
приложений к БД. Стандарт ODBC определяет интерфейс прикладного
программирования в виде библиотеки функций, вызываемых из различных
программных сред и позволяющих приложениям единообразно обращаться на
SQL к базам данных различных форматов.
Основные группы функций интерфейса ODBC:
Назначение идентификаторов окружения, соединения и SQL-
операторов;
Соединение с сервером;
Выполнение SQL-операторов;
Получение результатов;
Управление транзакциями;
Идентификация ошибок и смешанные функции.
Приложения с ODBC проходят через следующие этапы:
Инициализация
(назначение
идентификаторов
окружения
и
соединений, соединение с сервером, назначение идентификаторов
SQL-операторов);
Выполнение SQL-операторов и анализ результатов;
Завершение (освобождение идентификаторов SQL-операторов, разрыв
соединений,
освобождение
идентификаторов
соединений
и
окружения).
Интерфейс ODBC поддерживает общий набор функций языка SQL для
доступа к базам данных и позволяет работать в «прозрачном» режиме по
соглашениям конкретной СУБД.
Стандартизованное средство доступа к базам данных BDE
(процессор БД Борланд)
Процессор баз данных BDE – основное средство доступа к базам данных
из приложений Delphi. BDE включает три основных компонента: стандартный
интерфейс доступа к данным IDAPI, драйверы баз данных распространенных
форматов, утилиты настройки драйверов.
Интерфейс IDAPI позволяет просто и единообразно работать как с
локальными, так и удаленными данными. Основу механизма доступа
составляет курсор. IDAPI имеет средство вторичного уточнения результатов
запросов – фильтры, которые работают в среде клиента и ограничивают объем
передаваемой по сети информации. IDAPI обеспечивает преобразование своих
вызовов в вызовы функций интерфейса ODBC. Для обращения к функциям
IDAPI можно пользоваться языками SQL и QBE.
Практические задания
Здание 1. Опишите работу отдела кадров в терминах потоков данных.
Задание 2. Построить диаграмму прецедентов использования,
описывающую функциональность информационной системы «Автосалон»