Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ADO,ODBC,BDE; Мультимедиа.doc
Скачиваний:
9
Добавлен:
12.03.2015
Размер:
75.78 Кб
Скачать

ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI). Впоследствии CLI был стандартизован ISO ISO/IEC 9075-3:2003. (англ.) Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.

В начале 1990 г. существовало несколько поставщиков баз данных, каждый из которых имел собственный интерфейс. Если приложению было необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных было необходимо написать свой код. Для решения возникшей проблемы Microsoft и ряд других компаний создали стандартный интерфейс для получения и отправки источникам данных различных типов. Этот интерфейс был назван Open Database Connectivity, или открытый механизм взаимодействия с базами данных.

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

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

Как легко заметить, она действительно легко наращиваемая. Для добавления нового типа БД нужно лишь написать драйвер и зарегистрировать его. Еще одно преимущество, вытекающее из такого построения ODBC - пользовательское приложение общается с физической БД через менеджер драйверов, фактически ничего не зная о типе используемой БД (общение менеджера драйверов и самих драйверов более менее стандартно, так что с точки зрения пользователя все источники данных обладают практически одинаковыми свойствами). Таким образом, вы легко можете поменять физический тип базы данных, а приложение даже не узнает об этом (конечно, существуют исключения из-за особенностей поддержки языка SQL различными типами БД, но они несущественны).

Физически ODBC представляет собой набор динамических библиотек DLL, которые обслуживают подключение и работу с конкретным типом базы данных.При запросе на подключение к определенной, заранее описанной базе "активизируется" определенная DLL - драйвер этого типа БД. Обращение к определенной базе данных происходит по имени так называемого источника данных ODBC (или DSN - data source name). Можно представить DSN как своего рода объявление БД на данном компьютере, причем DSN может быть пользовательским, т.е. находится в области видимости только одного польователя, в сеансе которого был создан этот DSN, и системным, т.е. видимым всеми пользователями данного компьютера.

На основе технологии ADO в Delphi созданы соответствующие компоненты-наборы TADOTable, TADOQuery, TADOStoredProc , повторяющие в функциональном отношении компоненты TTable, TQuery, TstoredProc, но не требующие развертывания и настройки на клиентской машине BDE.

Основным достоинством ADO является ее естественная ориентация на создание «облегченного» клиента. На машине сервера данных (это может быть файловый сервер в рамках файл/серверной технологии или машина с сервером данных - в технологии клиент/сервер) устанавливается так называемый провайдер данных - некоторая надстройка над специальной технологией OLE DB, «понимающая» запросы объектов ADO и «умеющая» переводить эти запросы в нужные действия с данными. Взаимодействие компонентов ADO и провайдера осуществляется на основе универсальной для Windows технологии ActiveX, причем провайдер реализуется как СОМ-сервер, а ADO-компоненты - как COM-клиенты. На машине сервера создается и размещается источник данных. В случае файл/серверных систем отдельные таблицы типа dBASE, FoxPro, Paradox и т.п. должны управляться соответствующим ODBC-драйвером,а в роли провайдера используется Microsoft OLE DB Provider for ODBC drivers. На их основе создается единый файл, содержащий все необходимые таблицы, индексы, хранимые процедуры и прочие элементы БД. Такой файл управляется машиной баз данных Microsoft Jet 4.0 Database Engine, а в роли провайдера используется Microsoft Jet 4.0 OLE DB Provider. Если используется промышленный сервер данных Oracle или MS SQL Server, данные не нуждаются в какой-либо предварительной подготовке, а в роли провайдера используется соответственно Microsoft OLE DB Provider for Oracle или Microsoft OLE DB Provider for SQL Server. Нетрудно обнаружить и явный недостаток такой технологии: ADO не может использоваться, если для соответствующей структуры данных (в частности, для БД многих популярных серверов - InterBase, Informix, DB2 и пр. не создан нужный провайдер или ODBC драйвер

На машине клиента располагаются связные компоненты TADOConnection и компоненты-наборы данных TADOTable, TADOQuery, TADOStoredProc, а также не показанные на рисунке компоненты-наборы TADODataSet и командные компоненты TADOCommand. Каждый из этих компонентов может связываться с провайдером данных либо с помощью связного компонента TADOConnection, либо минуя его и используя собственное свойство ConnectionString. Таким образом, TADOConnection играет роль концентратора соединений с источником данных компонентов-наборов и в этом смысле подобен компоненту TDatabase в традиционной архитектуре с BDE.Компоненты-наборы TADODataSet в функциональном плане повторяют свойства уже известных из предыдущих версий Delphi компонентов TClientDataSet технологии MIDAS. Командные компоненты TADOCommand предназначены для реализации запросов на языке управления данными DDL (Data Definition Language), т.е. для реализации SQL-запросов, которые не возвращают данные (запросы типа CREATE, DROP, UPDATE и т.п.). Специальный компонент RDSConnection (не показан на рисунке) создан для упрощения связи с MS Internet Explorer и предназначен для разработки интранет-приложений. Компоненты-наборы с помощью хорошо известных по предыдущим версиям Delphi компонентов-источников TDataSource и визуализирующих компонентов TDBGrid, TDBMemo, TDBEdit и т.п. обеспечивают необходимый интерфейс с пользователем программы.

Стоит отметить что скорость доступа к данным с помощью СОМ-средств (а технология ActiveX, являющаяся краеугольным камнем ADO, целиком базируется на СОМ) в общем случае оказывается заметно ниже традиционного для Delphi механизма на основе BDE (для некоторых типичных случаев скорость уменьшается в десятки раз).

BDE (сокр. от англ. Borland Database Engine — «движок баз данных Borland») — 32-битный движок баз данных под Microsoft Windows для доступа к базам данных из Borland Delphi, C++ Builder, IntraBuilder, Paradox for Windows и Visual dBASE for Windows.

Имеющийся набор драйверов баз данных даёт единообразный доступ к стандартным источникам данных: Paradox, dBASE, FoxPro, Access, а также текстовым БД. Вы можете добавлять драйверы Microsoft ODBC при необходимости подключения к ODBC-сокету. Кроме того, Borland предоставляет SQL Links для доступа к широкому диапазону мощных СУБД, включая Informix, DB2, InterBase, Oracle и Sybase.

BDE имеет объектно-ориентированное устройство. Во время выполнения приложение взаимодействует с BDE, создавая различные BDE-объекты. Эти объекты затем используются для управления элементами БД, такими как таблицы и запросы. BDE API даёт прямой и оптимизированный доступ к движку, а также к встроенным в BDE драйверам для dBASE, Paradox, FoxPro, Access и текстовых БД.

Файлы ядра движка БД существуют как набор DLL, код которых полностью реентерабелен и потокобезопасен. В поставку BDE входит набор дополнительных утилит и примеров приложений.

Система BDE конфигурируется с помощью BDE Administrator (BDEADMIN.EXE)

В BDE используется «Local SQL», подмножество стандарта ANSI-92 языка SQL, расширенное для поддержки используемых в Paradox и DBF (называемых в BDE «стандартными» таблицами) соглашений о наименовании таблиц и полей. Local SQL позволяет вам использовать SQL для запросов к локальным «стандартным» таблицам, которые не находятся на серверах БД, в т. ч. удалённых. Local SQL также является необходимым средством для создания запросов с выборками из многих таблиц, часть которых локальна, а часть находится на удалённых SQL-серверах.

Сравнения

До появления ADO большинство таких «независимых от BDE» компонентов были специализированными и могли работать с определенным типом СУБД, например dBase или InterBase, либо со средствами поддержки определенной технологии, например ODBC. Существовали такие компоненты, которые обладали собственными средствами выполнения функций BDE. Однако при работе с этими компонентами возникали проблемы уникальности интерфейса, который разительно отличался от привычного интерфейса компонентов, ориентированных на BDE. Поэтому такие приложения было сложно модифицировать, особенно если возникала потребность включить в них BDE. К сожалению, тот же недостаток присущ и ADO-компонентам.

У ADO, в равнении с BDE, есть и другие недостатки. Во-первых, при использовании ADO нужно явно указывать в строке подключения имя провайдера сервера и базы данных, а это затрудняет переориентирование ADO-компонента на работу с другой базой данных или другим типом СУБД.

Во-вторых, в отличии от BDE, для однородного объеденения таблиц из разных баз данных нельзя использовать SQL в сочетании с ADO-компонентами (причем это не зависит от того, созданы ли эти базы данных с помощью одной и той же СУБД или разных СУБД).

Есть и еще одно предостережение, которое касается сопровождения приложений, использующих ADO-компоненты. Нужно постоянно отслеживать изменения, которые вносятся разработчиками в элементы операционной среды, связанные с работой ADO-компонентов и СУБД (например, ядро Jet, с которыми работают базы данных Access).

Учитывая все сказанное, каковы же преимущества технологии ADO?

1. Большая часть программных средств поддержки этой технологии поставляется в составе ОС, а потому разработчик БД-приложения избавлен от необходимости их внедрения.

2. Использование ADO позволяет получить доступ к данным, созданным с помощь нетрадиционных технологий, таких как XML.

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

4. В отличие от BDE-компонентов, механизм ADO позволяет остановить работу программ базы данных без потери информации с помощью Program Reset.

Мультимедиа

Мультимедиа — это взаимодействие визуальных и аудиоэффектов под управлением интерактивного программного обеспечения с использованием современных технических и программных средств, они объединяют текст, звук, графику, фото, видео в одном цифровом представлении.

Например, в одном объекте-контейнере может содержаться текстовая, аудиальная, графическая и видео информация, а также, возможно, способ интерактивного взаимодействия с ней.

Классификация

Мультимедиа может быть грубо классифицировано как линейное и нелинейное.

Аналогом линейного способа представления может являться кино. Человек, просматривающий данный документ никаким образом не может повлиять на его вывод.

Нелинейный способ представления информации позволяет человеку участвовать в выводе информации, взаимодействуя каким-либо образом со средством отображения мультимедийных данных. Участие человека в данном процессе также называется «интерактивностью». Такой способ взаимодействия человека и компьютера наиболее полным образом представлен в категориях компьютерных игр. Нелинейный способ представления мультимедийных данных иногда называется «гипермедиа».

В качестве примера линейного и нелинейного способа представления информации, можно рассматривать такую ситуацию, как проведение презентации. Если презентация была записана на пленку и показывается аудитории, то при этом способе донесения информации просматривающие данную презентацию не имеют возможности влиять на докладчика. В случае же живой презентации, аудитория имеет возможность задавать докладчику вопросы и взаимодействовать с ним прочим образом, что позволяет докладчику отходить от темы презентации, например поясняя некоторые термины или более подробно освещая спорные части доклада. Таким образом, живая презентация может быть представлена, как нелинейный(интерактивный) способ подачи информации…

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]