Общая схема изображена на рисунке 1.9.
Рисунок 1.9 – Общая схема доступа к СУБД
OLE DB и ADO – часть универсального механизма доступа к данным Microsoft (Microsoft Universal Data Access), позволяющая осуществить доступ как к реляционным, так и к нереляционным источникам данных, таким как файловая система, данные электронной почты, многомерные хранилища данных и др.
Microsoft ActiveX Data Objects (ADO) — это набор библиотек, содержащих COM-объекты, реализующие прикладной программный интерфейс для доступа к таким данным и используемые в клиентских приложениях. ADO использует библиотеки OLE DB, предоставляющие низкоуровневый интерфейс для доступа к данным. OLE DB предоставляет доступ к данным с помощью COM-интерфейсов. Можно также использовать OLE DB непосредственно, минуя ADO.
Для доступа к источнику данных с помощью OLE DB требуется, чтобы на компьютере, где используется клиентское приложение, был установлен OLE DB-провайдер для данной СУБД. OLE DB-провайдер представляет собой DLL, загружаемую в адресное пространство клиентского приложения и используемую для доступа к источнику данных. Для каждого типа СУБД нужен собственный OLE DB-провайдер, так как эти поставщики базируются на функциях клиентских API, разных для различных СУБД.
Среди OLE DB-провайдеров для разных источников данных имеется специальный провайдер Microsoft OLE DB Provider for ODBC Drivers. Этот провайдер использует не API клиентской части какой-либо СУБД, а интерфейс ODBC API, поэтому он применяется вместе с ODBC-драйвером для выбранной СУБД.
ADO представляет собой высокоуровневый программный интерфейс для доступа к OLE DB-интерфейсам. Он позволяет манипулировать данными с помощью любых OLE DB-провайдеров, как входящих в состав Microsoft Data Access Components некоторых других продуктов Microsoft, так и произведенных сторонними производителями. ADO содержит набор объектов, используемых для соединения с источником данных, для чтения, добавления, удаления и модификации данных.
Объект ADO Connection применяется для установки связи с источником данных. Он представляет единственную сессию. Этот объект позволяет изменить параметры соединения с базой данных, а также начать или завершить транзакцию. Используя объект Connection, мы можем выполнять команды (например, SQL-запросы) с помощью метода Execute. Если команда возвращает набор данных, автоматически создается объект Recordset, который возвращается в результате выполнения этого метода.
Объект Error используется для получения сведений об ошибках, возникающих в процессе выполнения.
Объект Command представляет собой команду, которую можно выполнить в источнике данных. Команда может содержать SQL-предложение или вызов хранимой процедуры. В последнем случае для определения параметров процедуры может быть использована коллекция Parameters объекта Command.
Объект Recordset — это набор записей, полученных из источника данных, и может быть использован для добавления, удаления, изменения, просмотра записей. Данный объект может быть открыт непосредственно или создан с помощью объектов Connection или Command.
Объект Field — это колонка в наборе данных, представленных объектом Recordset. Он может быть использован для получения значений конкретного поля, его модификации, извлечения метаданных, таких как имя колонки и тип данных.
На рисунке 1.10 изображена объектная модель ADO.
Рисунок 1.10 – Объектная модель ADO
Библиотека ADO 2.5, являющаяся составной частью операционной системы Windows 2000, содержит два новых объекта — Record и Stream.
Объект Record представляет одну запись внутри объекта Recordset и может быть использован для работы с гетерогенными и иерархическими данными.
Объект Stream представляет двоичные данные, связанные с объектом Record. Например, если объект Record представляет собой файл, то его объект Stream должен содержать данные внутри этого файла.
ADO входит в состав таких широко используемых продуктов, как Microsoft Office 2000 и Microsoft Internet Explorer 5.0, а также включен в ядро операционных систем семейства Windows 2000.
Интерполирование предполагает вычисление неизвестных значений функции путем получения взвешенного среднего значения функции в известных соседних точках. При линейном интерполировании используется отрезок прямой, которая проходит через две точки. Тангенс угла наклона между точками
и равенФормула, использующая тангенс угла наклона прямой в точке:
(1.2)или
.(1.3)Если разложить формулу (1.3), то в результате получим полином степени
. Вычисляя в точках и , получаем соответственно точки и : (1.4)Французский математик Жозеф Луи Лагранж (Joseph Louis Lagrange) использовал для нахождения этого полинома несколько иной метод. Он отметил, что полином можно записать в виде
.(1.5)Каждый член в правой части формулы (1.5) включает линейный множитель, поэтому сумма является полиномом степени
. Обозначим отношенияЧлены
и называются коэффициентами полинома Лагранжа, основанные на узлах и . Используя это замечание, можно записать формулу (1.5) в виде суммы .(1.7)Предположим, что ордината
вычислена по формуле . Если используется для приближения на интервале , такой процесс называется интерполированием. Если (или ), то использование называют экстраполированием.Обобщением формулы (1.7) является построение полинома
степени, не большей, чем , который проходит через точку , , … , и имеет вид ,(1.8)где
– коэффициенты полинома Лагранжа основанного на узлах: . (1.9)Понятно, что члены
и не появляются в правой части выражения (8). Это дает возможность ввести обозначения для умножения и записатьПростые вычисления показывают, что для каждого фиксированного
коэффициенты полинома Лагранжа обладают свойствами , когда и , когда .(1.11)Предположим, что
и – узел. Если , то