Добавлен: 17.06.2023
Просмотров: 75
Скачиваний: 3
Бытует мнение: Поскольку большая часть запросов формулируется на SQL, практически безразлично, что это за СУБД - был бы SQL.
Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволило создать компактный язык с небольшим (менее 30) набором предложений. SQL может использоваться как интерактивный (для выполнения запросов) и как встроенный (для построения прикладных программ).
Ориентированный на работу с таблицами SQL не имеет достаточных средств для создания сложных прикладных программ. Поэтому в разных СУБД он либо используется вместе с языками программирования высокого уровня (например, такими как Си или Паскаль), либо включен в состав команд специально разработанного языка СУБД (язык систем dBASE, R:BASE и т.п.).
2.3 Организация взаимодействия клиент-сервер при помощи SQL
При использовании технологии клиент-сервер приложение разделяется на две части. Клиентская часть обеспечивает удобный графический интерфейс и размещается на компьютере пользователя. Серверная часть осуществляет управление данными, разделение информации, администрирование и обеспечивает безопасность информации. Клиентское приложение формирует запросы к серверу базы данных, на котором выполняются соответствующие команды. Результаты выполнения запросов пересылаются клиенту.
При разработке распределенных информационных систем в организации взаимодействия клиентской и серверной части выделяются следующие важные в практическом смысле задачи:
- Перенос персональной базы данных на сервер для последующего ее коллективного использования как корпоративной базы данных;
- Организация запросов к корпоративной базе данных, размещенной на сервере, со стороны компьютера-клиента;
- Разработка клиентского приложения для удаленного доступа к корпоративной базе данных со стороны компьютера- клиента.
Задача переноса персональной базы на сервер может возникать в ситуациях, когда требуется обеспечить коллективный доступ к базе данных, разработанной с помощью персональной СУБД (FoxPro, Access). Для решения этой задачи, в составе названных персональных СУБД имеются соответствующие средства, предназначенные для преобразования баз данных в формат SQL.
Подготовка запросов к базе данных на сервере (на языке SQL) со стороны клиентской части может выполняться с помощью специально предназначенной утилиты. Для предоставления пользователю больших возможностей и удобства в подготовке и выполнении запросов создаются клиентские приложения.
Для организации запросов к серверной базе данных на языке SQL или с помощью клиентского приложения возможны различные способы взаимодействия, заметно влияющие на эффективность. К числу основных способов такого взаимодействия относятся:
- Интерфейс DB-LIB (библиотек баз данных);
- Технологии ODBC (совместимости открытых баз данных);
- Интерфейса OLE DB (связывания и встраивания объектов баз данных);
- Технологии DAO (объектов доступа к данным);
- Технологии ADO (объектов данных).
Интерфейс DB-LIB представляет собой специально предназначенный для SQL интерфейс прикладных программ. Поэтому он является наименее мобильным из числа рассматриваемых в смысле возможностей переноса приложений в другую среду. С точки зрения производительности этот способ позволяет осуществить самый быстрый доступ к информации. Причиной этого является то, что он представляет оптимизированный интерфейс прикладного программирования и непосредственно использует язык запросов системы SQL.
Технологии ODBC предназначены для обеспечения возможности взаимосвязи между различными СУБД и получения от приложения запросов на выборку информации, перевод их на язык ядра адресуемой базы данных для доступа хранимой в ней информации.
Основное назначение ODBC состоит в абстрагировании приложения от особенностей ядра серверной базы данных, с которой оно осуществляет взаимодействие, поэтому серверная база данных становится как бы прозрачной для любого клиентского приложения.
Достоинством этой технологии является простота разработки приложений, обусловленная высоким уровнем абстрактности интерфейса доступа к данным практически любых существующих типов СУБД. Используя эту технологию, можно создавать клиент-серверные приложения, причем средствами персональных СУБД целесообразно разрабатывать клиентскую часть приложения, а средствами SQL - серверную часть.
Основной недостаток технологии ODBC связан с необходимостью трансляции запросов, что снижает скорость доступа к данным. В системах клиент-сервер этот недостаток устраняется путем перемещения запроса с компьютера-клиента на компьютер-сервер. При этом устраняются промежуточные звенья, являющиеся основной причиной снижения скорости обработки информации с использованием средств рассматриваемой технологии.
При использовании в клиентском приложении средств ODBC осуществляется обращение к определенному источнику данных, а через него - к СУБД, которую он представляет. При установке средств ODBC устанавливается общая подсистема ODBC и определяются пары «драйвер-база данных», которым задаются имена, используемые при установке соединения с. базой данных. Соответствующие пары называются поименованными источниками данных.
Каждый поименованный источник данных описывает собственно источник данных и информацию о доступе к этим данным. В качестве данных могут выступать базы данных, электронные таблицы и текстовые файлы. Информация о доступе, например, к серверу баз данных, обычно включает в себя сведения о размещении сервера, имя базы данных, идентификатор учетной записи и пароль, а также различные параметры драйвера, описывающие как устанавливать соединение с источником данных.
При обработке данных на сервере с использованием технологии ODBC и применением клиентского приложения выделяются два основных этапа: задание источника данных - создание и настройка соединения, а также собственно обработка данных с помощью запросов.
Интерфейс OLE DB рекомендуется использовать для создания средств и утилит, или разработок системного уровня, нуждающихся в высокой производительности или доступе к SQL свойствам, недоступные с помощью технологии ADO. Основные возможности спецификации OLE DB обеспечивают полную функциональность доступа к данным. В SQL процессор баз данных сервера использует это интерфейс для связи: между внутренними компонентами, таким как процессор хранения и процессор отношений; между установками SQL при использовании удаленных хранимых процедур; как интерфейс к другим источникам данных для распределенных запросов.
При использовании технологии ОАО работа с базами данных, таблицами ведется с использованием коллекций объектов. При этом обеспечиваются большие удобства в работе с объектами баз данных.
В настоящее время технология ОАО постепенно вытесняется технологией ADO, которая позволяет разрабатывать приложения Web для работы с базами данных. В целом технологию ADO можно охарактеризовать как наиболее современную технологию разработки приложений для работы с распределенными базами технологии клиент-сервер.
2.4 Среды программирования на языке SQL
На сегодняшний день известно более двух десятков серверных СУБД, однако наиболее популярными, исходя из числа продаж и инсталляций, следует признать Oracle, Microsoft SQL Server.
Oracle была первой коммерческой реляционной СУБД, поддерживающей ставший ныне индустриальным стандартом язык SQL; ее первая версия появилась в 1979 году. Фактически все это время Oracle является бессменным лидером на рынке производителей коммерческих СУБД и второй (после Microsoft) по величине компанией, производящей программное обеспечение.
Ранние версии этой СУБД были предназначены для мэйнфреймов, а в качестве рабочих мест использовались <неинтеллектуальные> терминалы. Однако со временем появились версии Oracle, предназначенные для использования в архитектуре <клиент-сервер> (первой такой версией была Oracle 5, выпущенная в 1985 году). Первоначально эти версии были предназначены для различных серверных платформ - различных версий UNIX, VMS и др. Позже были выпущены версии сервера Oracle для Novell NetWare. Первые версии этого сервера для персональных компьютеров появились в середине 90-х (Personal Oracle 7 for Windows 3.1, Personal Oracle 7 for Windows 95, Personal Oracle Lite, Oracle Workgroup Server 7 for Windows NT). До появления этих версий персональные компьютеры могли использоваться исключительно в качестве клиентских рабочих станций - в состав Oracle для серверных платформ обычно входила клиентская часть для DOS.
Отметим, что Oracle была первой компанией, создавшей СУБД, использовавшую предоставляемые некоторыми серверными платформами средства параллельных вычислений - Oracle Parallel Server (до его появления параллельные вычисления использовались только для решения научных задач). При использовании параллельных вычислений Oracle Parallel Server дает возможность нескольким процессорам обращаться к одной базе данных, что позволяет обеспечить высокую скорость обработки транзакций, а более поздние его версии дают возможность осуществить декомпозицию операций с большими объемами данных с целью параллельного выполнения их на нескольких процессорах.
Помимо различных версий сервера баз данных среди продуктов Oracle имеется также Designer/2000 - ориентированное на эту СУБД CASE-средство для анализа бизнес-процессов и проектирования данных, а также средства разработки клиентских приложений. Одно из них - Developer/2000 (называвшееся ранее Oracle*Forms) - весьма популярно среди пользователей Oracle; были и другие средства разработки (например, Oracle Power Objects). Отметим, что приложения, созданные с помощью Developer/2000, могут выполняться на различных платформах. Язык SQL, используемый в этом средстве разработки, является интерпретируемым и представляет собой тот же самый язык, что используется в Oracle для написания серверного кода. Это позволяет отлаживать с помощью Developer/2000 серверный код.
Производя собственные средства разработки, Oracle предоставляет своим пользователям возможность создавать клиентские приложения с помощью других средств. В частности, помимо стандартного в таких случаях клиентского API (Oracle Call Interface) клиентская часть Oracle содержит также объектную модель (Oracle Objects for OLE), позволяющую использовать клиентскую часть Oracle как набор СОМ-объектов для доступа к данным. Кроме того, обычно клиентская часть Oracle содержит также ODBC-драйвер для доступа к данным этой СУБД.
Отметим, что и многие другие компании производят ODBC-драйверы и OLE DB-провайдеры для доступа к Oracle (в частности, Microsoft). Компании, производящие средства разработки, использующие собственные библиотеки доступа к данным (такие как Inprise или Gupta/Centura), также включают библиотеки доступа к Oracle в состав наиболее дорогих версий своих продуктов.
Из готовых информационных систем на базе Oracle следует особо отметить несколько крупных систем управления предприятием, в частности SAP/КЗ. На Западе также нередко используются готовые решения от самой Oracle Corporation, объединенные под общим названием Oracle Applications, такие как Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems и др.
Microsoft SQL Server 6.0 - одна из наиболее мощных СУБД архитектуры клиент-сервер. Эта СУБД позволяет удовлетворять такие требования, предъявляемые к системам распределенной обработке данных, как тиражирование данных, параллельная обработка, поддержка больших баз данных на относительно недорогих аппаратных платформах при сохранении простоты управления и использования.
Microsoft SQL Server представляет собой систему, выполняющую функции управления базой данных. Для пользовательского приложения SQL Server является мощным источником генерации и управления нужными данными.
Сервер имеет средства удаленного администрирования и управления операциями, организованными на базах объектно-ориентированной распределенной сред управления. Microsoft SQL Server входит в состав семейства Microsoft BackOffice, объединяющего пять серверных приложений, разработанных для совместного функционирования в качестве интегрированной системы.
Microsoft SQL Server предназначен исключительно для поддержки систем, работающих в среде клиент-сервер. Он поддерживает широкий спектр среды разработки и максимально прост в интеграции с приложениями, работающими на персональном компьютере. Данная версия превосходит предыдущую с точки зрения использования многопоточной параллельной архитектуры операционной системы для повышения производительности и масштабируемости, то есть очень эффективно использует возможность ускорения работы в том случае, если на компьютере установлено несколько процессоров.
Microsoft SQL Server 6.0 имеет новую масштабируемую архитектуру блокировок, называемую динамической блокировкой (Dynamic Locking), которая комбинирует блокировку на уровне страницы и записи для достижения максимальной производительности и подключения максимального числа пользователей.
Microsoft SQL Server может тиражировать информацию в базы данных иных форматов, включая Oracle, IBM DB2, Sybase, Microsoft Access и другие СУБД при наличии ODBC драйвера, отвечающего определенным требованиям (ODBC - Open DataBase Connectivity, стандарт Microsoft, разрешающий программам работать с различными серверами баз данных, используя один общий интерфейс).