15

Теория Прикладные программые продукты Система управления базой данныхФункциональные возможности СУБД

## 15.3. ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ СУБД

### Обзор СУБД

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

СУБД предназначена для централизованного управления базой данных в интересах всех работающих в этой системе.

По степени универсальности различают два класса СУБД:

системы общего назначения;

специализированные системы.

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

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

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

Рынок программного обеспечения ПК располагает большим числом разнообразных по своим функциональным возможностям коммерческих систем управления базами данных общего назначения, а также средствами их окружения практически для всех массовых моделей машин и для различных операционных систем,

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

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

В рассматриваемую группу программных продуктов вошли:

dBASE IV 2.0, компании Borland International;

Microsoft Access 2.0;

Microsoft FoxPro 2.6 for DOS;

Microsoft FoxPro 2.6 for Windows, корпорации Microsoft Corp;

Paradox for DOS 4.5;

Paradox for Windows, версия 4.5 компании Borland.

В таб. 15.1 показаны места (условные), которые занимают рассматриваемые программные средства относительно друг друга. Например, 1 означает, что в указанной позиции данная программа обладает лучшими характеристиками, 5 - худшими, нет - указанной характеристикой данная программа не обладает.

Таблица 15.1. Характеристики СУБД

### Производительность СУБД

Производительность СУБД оценивается:

временем выполнения запросов;

скоростью поиска информации в неиндексированных полях;

временем выполнения операций импортирования базы данных из других форматов;

скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;

максимальным числом параллельных обращений к данным в многопользовательском режиме;

временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

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

производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.

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

По табл. 15.1 можно заключить, что самой быстрой СУБД является FoxPro 2.6, однако она не обладает средствами наблюдения целостности данных в отличие от более медленной СУБД Access 2.0.

Обеспечение целостности данных на уровне базы данных.

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

К средствам обеспечения целостности данных на уровне СУБД относятся:

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

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

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

Access и Paradox for Windows гораздо ближе других СУБД соответствуют реляционной модели по надежности сохранения целостности данных на уровне базы данных; правила хранятся вместе с базой данных и автоматически соблюдаются.

СУБД dBASE IV и FoxPro 2.6 (DOS и WINDOWS) совсем не обладают средствами этого рода, и ввод в программу процедур, обеспечивающих выполнение правил целостности, возлагается на программиста.

Обеспечение безопасности.

Некоторые СУБД предусматривают средства обеспечения безопасности данных.

Такие средства обеспечивают выполнение следующих операций:

шифрование прикладных программ;

шифрование данных;

защиту паролем;

ограничение уровня доступа (к базе данных, к таблице, к словарю, для пользователя).

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

Хорошими характеристиками обеспечения безопасности отличается Access 2.0. Он предусматривает назначение паролей для индивидуальных пользователей или групп пользователей и присвоение различных прав доступа отдельно таблицам, запросам, отчетам, макрокомандам или новым объектам на уровне пользователя или группы.

### Работа в многопользовательских средах.

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

Обработка данных в многопользовательских средах предполагает выполнение программным продуктом следующих функций:

блокировку базы данных, файла, записи, поля;

идентификацию станции, установившей блокировку;

обновление информации после модификации;

контроль за временем и повторение обращения;

обработку транзакций (транзакция - последовательность операций пользователя над базой данных, которая сохраняет ее логическую целостность);

работу с сетевыми системами (LAN Manager, NetWare, Unix).

Лучшими возможностями для работы в многопользовательских средах обладают СУБД Paradox for DOS 4.5, Access 2.0 и dBASE IV.

Импорт-экспорт.

Эта характеристика отражает:

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

возможность использования другими программами данных, сформированных средствами рассматриваемой СУБД. Особый интерес представляют следующие форматы файлов: ASCII-файлы, .DBF,.WK*,.XLS.

Все рассматриваемые здесь СУБД обладают хорошими возможностями импорта-экспорта данных.

### Доступ к данным посредством языка SQL.

Язык запросов SQL (Structured Query Language) реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования является международным стандартом языка запросов. Язык SQL предоставляет развитые возможности как конечным пользователям, так и специалистам в области обработки данных [5].

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

СУБД имеют доступ к данным SQL в следующих случаях:

базы данных совместимы с ODBC (Open Database Connectivity - открытое соединение баз данных);

реализована естественная поддержка SQL-баз данных;

возможна реализация SQL-запросов локальных данных.

Многие СУБД могут "прозрачно" подключаться к входным SQL-подсистемам с помощью ODBC или драйверов, являющихся их частью, поэтому существует возможность создания прикладных программ для них. Некоторые программные продукты совместимы также с SQL при обработке интерактивных запросов на получение данных, находящихся на сервере или на рабочем месте.

Access 2.0 и Paradox for Windows работают с источниками SQL-данных, совместимых с системой o ODBC.

FoxPro (for Dos и for Windows) поставляются с дополнительными библиотеками, которые обеспечивают доступ к SQL-базам данных, способным работать совместно с системой ODBC, но эта возможность менее интегрирована, чем средства первичного ввода информации в Access и Paradox for Window.

Можно напрямую управлять базами данных Access с помощью языка SQL и передавать сквозные SQL-запросы совместимым со спецификацией ODBC SQL-базам данных, таким, как MS SQL Server и Oracle, так что Access способна служить средством разработки масштабируемых систем клиент-сервер.

Возможности запросов и инструментальные средства разработки прикладных программ

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

мощные языки программирования;

средства реализации меню, экранных форм ввода-вывода данных и генерации отчетов;

средства генерации приложений (прикладных программ);

генерацию исполнимых файлов.

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

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

Языковые средства используются для выполнения двух основных функций:

описания представления базы данных ;

выполнения операций манипулирования данными.

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

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

Язык манипулирования данными (ЯМД) позволяет запрашивать предусмотренные в системе операции над данными из базы данных.

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

СУБД dBASE IV и FoxPro поддерживают язык программирования xBASE, который до сих пор является важным стандартом для баз данных.

FoxPro 2.6 придает xBASE-программам оконные, событийно-управляемые качества. При составлении прикладной программы FoxPro использует диспетчер проекта, управляющий различными файлами исходного текста и данных. Эта составляющая отслеживает индивидуальные элементы : программы, наборы экранных форм, отчеты и файлы баз данных и позволяет компилировать прикладную программу в исполнимый файл.

Язык программирования Access Basic содержит функции обеспечения связи по протоколу OLE 2.0, позволяющие управлять объектами из других прикладных программ, совместимых с OLE 2.0. Кроме того, этот язык позволяет создавать объекты баз данных (запросы, таблицы), изменять структуру базы данных и создавать индексы непосредственно из прикладной программы.

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