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

15.Стандарты современных реализаций языка sql. Основные разделы и их наполнение в sql-Jet.

Стандартизация БД. Стандарты современных реализаций языка SQL. Основные разделы и их наполнение в SQL-Jet.

Стандарт ANSI SQL-89 описывает три варианта использования SQL (три интерфейса): «модульный язык», «встроенный SQL» и «непосред­ственный вызов».

Модульный язык предусматривает возможность создания процедур, вызы­ваемых из программ на традиционных языках программирования (С, Кобол, Фортран и другие).

Встроенный SQL предусматривает включение в программы на обычных языках программирования SQL-операторов. Обработка программы с использованием SQL-опе­раторов происходит в два этапа: сначала работает препроцессор, преобразую­щий SQL-операторы в некоторые команды языка программирования с уче­том используемой СУБД, а затем - обычный компилятор с основного языка программирования. При включении SQL-операторов используется статиче­ский метод, означающий полное определение параметров операторов до вы­полнения программы.

Интерфейс на уровне непосредственных вызовов отличается от встроен­ного SQL тем, что исключена предварительная обработка препроцессором и используются внешние библиотеки функций.

Основной набор операторов SQL включает операторы определения схемы БД, выборки и манипулирования данными, управления транзакциями, авто­ризации доступа к данным, поддержки встраивания SQL в системы програм­мирования и другие вспомогательные средства.

Несмотря на широкий набор возможностей, этот стандарт обладал фун­кциональной неполнотой.

Стандарт SQL-92 поддерживается практически всеми современными про­граммами работы с базами данных. Он расширяет функции предыдущего стан­дарта, а главное, - предусматривает динамический SQL. Отличием динами­ческого метода выполнения SQL-операторов от статического является то, что параметры SQL-операторов определяются непосредственно при выполнении программы. Несмотря на некоторое снижение быстродействия выполнения программы, динамический метод выполнения SQL-операторов позволяет повысить гибкость работы с базами данных и повысить независимость при­ложений от типов баз данных.

Стандарт языка SQL3 разрабатывался ANSI совместно с ISO.

Текущий проект SQL3 практически полностью включает спецификацию SQL2, а также содержит ряд новых возможностей, в том числе две весьма су­щественных: объектные функциональные возможности и средства обеспече­ния вычислительной полноты языка - Управление хранимыми процедурами PSM (Procedure Storage Management).

К новой объектной возможности SQL3 прежде всего относится обеспече­ние объектной ориентированности таблиц БД. По сравнению с обычными реляционными таблицами теперь строки таблиц могут содержать абстракт­ные типы данных (АТД) и ссылки на АТД из других строк, а также иметь од­нозначные идентификаторы (вместо поиска строки по значениям). Поддер­жка АТД предусматривает средства определения типов и методов доступа к ним, аналогичных объектно-ориентированным языкам программирования типа C++, Smalltalk, Ada и других.

Напомним, что хранимые процедуры - это группы выпол­няемых операторов, которые хранятся не в приложении, а в базе данных. К разрешенным внутри хранимых процедур операторам относятся: операто­ры SQL, арифметические операторы, операторы передачи управления, опи­сания функций и т. д.

Стандарт ODMG-93

Главной целью стандарта ODMG-93 является обеспечение независимости (мобильности) прикладных систем от систем управления объектными база­ми данных (СУОБД). При разработке стандарта ставилась задача увязки ре­шений с рекомендациями группы, занимающейся стандартизацией в области объектно-ориентированных языков программирования - OMG (Object Management Group).

Согласно ODMG-93, СУОБД, с одной стороны, рассматривается как СУБД, в которой данные имеют объектную модель, а с другой - как средство представления объектов БД в качестве объектов ряда языков программирования. СУОБД расширяют языки программирования, например, C++, средствами долговременного хранения объектов, управления конкурентным доступом, восстановления данных, выполнения объектных запросов и т. д.

В стандарте ODMG-93 дается определение следующих компонентов баз данных:

объектной модели, которую должны поддерживать СУОБД;

языка определения объектов ODL (Object Definition Language);

языка объектных запросов OQL (Object Query Language);

языков манипулирования данными, используемых в объектно-ориенти­ рованных языках программирования.

Поведе­ние объекта определяется перечнем допустимых операций в соответствии с типом. Объектная модель позволяет описывать связи типа 1:1,1:М и М:М.

Язык объектных запросов OQL представляет собой декларативный язык работы с объектными БД. Синтаксической основой языка является SQL2. Основное отличие OQL от языка SQL состоит в том, что запрос формулиру­ется в терминах объектов и коллекций (а не таблиц), а результатом являются объекты и коллекции (а не кортежи). Операции манипулирования данными, управления транзакциями, дина­мического вызова запросов на OQL и другие действия выполняются с помо­щью библиотек классов и функций.

Технология CORBA

Для информационных систем с распределенной обработкой в качестве стандарта группой OMG предложена технология CORBA (Common Object Request Broker Architecture - архитектура брокера общих объектных запро­сов). Спецификации написаны на пассивном языке описания интерфейсов IDL (Interface Definition Language), определяющем функциональность ком­понентов - внешние интерфейсы с потенциальными клиентами. Написан­ные на этом языке компоненты должны быть доступны независимо от язы­ков, инструментальных средств, операционных систем и сетевой инфраструк­туры программных компонентов.

Основу архитектуры CORBA составляет брокер объектных запросов ORB (Object Request Broker), управляющий взаимодействием клиентов и серверов в распределенной сетевой среде. Брокер объектных запросов представляет собой объектную шину, позволяющую объектам прозрачно генерировать запросы и получать отклики от других локальных и удаленных объектов.

Фирма IBM для обеспечения мобильности (переносимости) операцион­ных систем разработала архитектуру SAA ('System Application Architecture).

Архитектура SAA предполагает наличие унифицированных средств разра­ботки приложений, доступа к БД и телекоммуникационного доступа. Кроме того, у пользователей должна быть возможность использовать готовые при­ложения других организаций. Согласно архитектуре SAA, системные про­граммные средства предоставляют три интерфейса:

доступа конечного пользователя;

прикладного программирования;

телекоммуникационный (связи с удаленными пользователями и объек­тами сети).

Интерфейс доступа конечного пользователя охватывает комплекс техни­ческих, организационных и программных решений, обеспечивающих простоту и унификацию взаимодействия конечного пользователя с различными моде­лями ЭВМ.

Интерфейс прикладного программирования, кроме стандартных языков и средств программирования, содержит генератор приложений, языки команд­ных процедур, языки баз данных и запросов (SQL и QMF) и средства обеспе­чения диалога.

В качестве телекоммуникационного интерфейса предлагаются протоколы сетевой архитектуры SNA (System Network Architecture - сетевая архитекту­ра системы), средства выхода в сети, поддерживающие протокол Х.25, а так­же протоколы потоков данных для устройств типа IBM 3270.

Фирма Microsoft на основе стандарта САЕ разработала открытый интер­фейс ODBC (Open DataBase Connectivity — совместимость открытых баз дан­ных) доступа к базам данных из приложений.

Стандарт САЕ (Common Application Environment — общая прикладная сре­да) был разработан группой SAG и Х/Open с целью разрешить противоречия множества схожих существующих стандартов прикладного программирова­ния. Этот стандарт опирается на стандарты ANSI, ISO и собственные стан­дарты групп. Основное его назначение - обеспечение взаимодействия при­кладных программ в открытых системах.

ODBC представляет собой интерфейс прикладного программирования в виде библиотеки функций, вызываемых из различных программных сред и позволяющих приложениям унифицированно обращаться на SQL к базам данных различных форматов.

Фирма Borland использует собственное стандартизо­ванное средство доступа к базам данных Borland Database Engine (BDE) - про­цессор баз данных фирмы Borland.

BDE включает следующие три основных компонента: стандартный интер­фейс доступа к базам данных ID API (Integrated Database Application Program Interface), драйверы баз данных распространенных форматов и утилиты на­стройки драйверов и псевдонимов.

Интерфейс IDAPI насчитывает более 150 функций доступа к различным БД и позволяет просто и единообразно работать с локальными и с удален­ными данными. В основе механизма доступа лежит понятие курсора. IDAPI не ограничен минимальным набором функций, поддер­живаемых БД. Как и в ODBC, здесь поддерживается расширенное множе­ство функций в соответствии с возможностями форматов локальных и уда­ленных БД.

Важной особенностью интерфейса IDAPI является обеспечение программ пользователя средствами вторичного уточнения результатов запросов -фильтрами. Функционируя в среде клиентской части приложения, фильтры позволяют при работе с уделенными данными уменьшить объем передавае­мой по сети информации. Фильтры IDAPI позволяют описывать сложные логические условия над данными БД.

Для обращения к функциям IDAPI можно пользоваться языками запросов SQL (из программ) и QBE (в диалоговом режиме).