Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Механизмы доступа к базе данных

Поиск

База данных может являться просто местом физического хранения информации либо может быть реализована в виде сервера баз данных. В первом случае для доступа к данным приложению необходимо знать формат, в котором хранится информация, во втором – правила связи с сервером и прокол обмена информацией. Форматы данных и протоколы обмена сложны и существенно отличаются друг от друга, поэтому создание приложения СУБД является трудоемким процессом. Однако на логическом уровне данные, получаемые от сервера (или из места их хранения), не зависят от типа базы данных – они представляются в виде таблиц, между которыми организованы связи.

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

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

Во многих системах управления базами данных имеются библиотеки, содержащие интерфейсы прикладного программирования (application programming interface – API), представляющие собой функции, при помощи которых можно выполнять с данными те или иные действия.

Для того чтобы наиболее полно использовать возможности того или иного сервера баз данных, необходимо работать с ним напрямую, через API. Однако это означает полную зависимость приложения от того пли иного сервера и сложность перехода на другую платформу, так как будет необходимо переписывать большое количество кода.

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

API представляют собой библиотеки функций, разработанные для обеспечения связи прикладной программы с СУБД посредством выполнения SQL-запросов. Прикладная программа вызывает специальные функции библиотеки для передачи в СУБД SQL-запроса в текстовом виде и для получения результатов выполнения запросов, а также различной служебной информации. Применение подобного подхода приводит к тому, что программистам более не требуется изучать специальные наборы инструкций SQL, а необходимо лишь изучить специальную библиотеку функций. Кроме этого, программа, содержащая вызовы некоторых функций специализированной библиотеки, ничем не отличается по схеме компиляции и выполнения от обычной программы. Так, подобная программа не требует применения специализированного препроцессора с механизмом раздельной компиляции. Может показаться, что подход, связанный с использованием библиотек API, является наиболее прогрессивным, на самом же деле такой вывод вряд ли верен.

. Схема работы приложения совместно с SQL API выглядит следующим образом:

· программа получает доступ к базе данных путем вызова одной или нескольких API-функций, подключающих программу к СУБД и к конкретной базе данных;

· для пересылки инструкций SQL в СУБД программа формирует инструкцию в виде текстовой строки и затем передает эту строку в качестве параметра при вызове API-функции;

· программа вызывает выполнение API-функции для проверки состояния переданной в СУБД инструкции и обработки ошибок;

· если инструкция SQL представляет собой запрос на выборку, то, вызывая API-функции, программа записывает результаты запроса в свои переменные; обычно за один вызов возвращается одна строка или столбец данных;

· свое обращение к базе данных программа заканчивает вызовом API-функции, отключающей ее от СУБД.

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

 



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 567; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.78.182 (0.006 с.)