Виды СУБД

 

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

К СУБД относятся следующие основные виды программ:

• полнофункциональные СУБД;

• серверы БД;

• клиенты БД;

• средства разработки программ работы с БД.

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

ПФСУБД последнего поколения имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Во многих из них для создания запросов можно пользоваться языком QBE (Query By Example). Многие ПФСУБД включают средства программирования для профессиональных разработчиков.

Некоторые системы имеют дополнительные средства проектирования схем БД или CASE-подсистемы. Многие из них обладают возможностью доступа к другим БД или к данным SQL-cepвepoв.

Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Эта группа СУБД в настоящее время менее многочисленна, но их количество постепенно растет. Серверы БД реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обычно с помощью операторов SQL.

Примерами серверов БД являются следующие программы: NetWare SQL (Novell), SQL Server (Microsoft), InterBase (Borland) и др.

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

В случае, когда клиентская и серверная части выполнены одной фирмой, естественно ожидать, что распределение функций между ними выполнено рационально. В остальных случаях обычно преследуется цель обеспечения доступа к данным «любой ценой». Примером такого соединения является случай, когда одна из полнофункциональных СУБД играет роль сервера, а вторая СУБД (другого производителя) — роль клиента. Так, для сервера БД SQL Server (Microsoft) в роли клиентских программ могут выступать многие СУБД, такие как: dBASE IV, Blyth Software, Рaradox, DataBase, Focus, 1-2-3, MDBS III, Revelation и другие.

Средства разработки программ работы с БД могут использоваться для создания разновидностей следующих программ:

• клиентских программ;

• серверов БД и их отдельных компонентов;

• пользовательских приложений.

Программы первого и второго вида весьма малочисленны, так как предназначены, главным образом, для системных программистов. Пакетов третьего вида гораздо больше, но меньше, чем полнофункциональных СУБД.

К средствам разработки; пользовательских приложений относятся системы программирования, например Clipper, разнообразные библиотеки программ для различных языков программирования, а также пакеты автоматизации разработок (в том числе систем типа клиент-сервер). В числе наиболее распространенных можно назвать следующие инструментальные системы: Delphi и Power Builder (Borland), Visual Basic (Microsoft), SILVERRUN (Computer Advisers Inc.), S-Designor (SDP и Powersoft) и ERwin (LogicWorks).

По характеру использования СУБД делят на персональные и многопользовательские.

Персональные СУБД обычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Персональные СУБД или разработанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др.

Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД относятся, например, СУБД Oracle и Informix.

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

 

Microsoft Access является полнофункциональной системой управления реляционными базами данных и может быть использована как в качестве настольной СУБД, так и в качестве клиента Microsoft SQL Server. Программа Microsoft Access 2000 входит в состав пакета Microsoft Office 2000 и работает в среде Windows 95 / 98 или Windows NT. В этой программе предусмотрены все необходимые средства для определения и обработки данных, управления ими при работе с большими объемами информации, а также для разработки приложений баз данных.

 

Способы разработки и выполнения приложений

 

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

Существующие СУБД поддерживают следующие технологии (и их комбинации) разработки приложений:

-ручное кодирование (dBaselll Plus и dBase IY (фирма Ashton-Tate), DB2 (IBM), FoxPro ранних версий и FoxBase (Fox Software), Clipper, Paradox );

-создание текстов приложений с помощью генераторов (FoxApp в FoxPro);

-автоматическая генерация готового приложения методами вызуального программирования (Access и Visual FoxPro (Microsoft), dBASE for Windows (Borland) и др.

При ручном кодировании программисты пишут прикладные программы и вручную набирают их текст, после чего выполняют отладку программ.

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

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

Разработанное приложение обычно состоит из одного или нескольких файлов.

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

Независимые приложения позволяют получать, например, СУБД FoxBase, FoxPro и Clipper. Система Clipper первоначально была разработана как «чистый компилятор», а затем дополнилась средствами, необходимыми для СУБД.

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

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

Режим интерпретации реализован во многих современных СУБД, например, FoxBase, FoxPro, Access, Visual FoxPro и Paradox.

Кроме этого, существуют системы, использующие промежуточный вариант между компиляцией и интерпретацией — так называемую псевдокомпиляцию. В таких системах исходная программа путем компиляции преобразуется в промежуточный код (псевдокод) и записывается на диск. Главная цель псевдокомпиляции — преобразовать программу к виду, ускоряющему процесс ее дальнейшей интерпретации. Такой прием широко применялся в СУБД, работающих под управлением DOS, например, FoxВаse+.

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

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

Некоторые СУБД предоставляют пользователю возможность выбора варианта разработки приложения: как интерпретируемого СУБД программного кода или как независимой программы.