Компьютерные системы управления базами данных
Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой при решении множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
К наиболее популярным СУБД для вычислительных систем класса персональных компьютеров относятся dBASE IV, Microsoft Access, FoxPro, Paradox. Для более мощных систем предназначены СУБД Oracle, Informix. В определенной степени возможности управления данными имеются и у большинства современных табличных процессоров.
По степени универсальности различают два класса СУБД:
системы общего назначения;
специализированные системы.
СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе.
Специализированные СУБД разрабатываются в редких случаях при невозможности или нецелесообразности применения СУБД общего назначения.
СУБД общего назначения — это сложные программные комплексы, служащие для выполнения всей совокупности функций, связанных с созданием и эксплуатацией базы данных информационной системы. Распространенные в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде WINDOWS, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности.
Рассмотрим основные характеристики некоторых СУБД — лидеров на рынке программ, предназначенных как для разработчиков информационных систем, так и для конечных пользователей.
Производительность СУБД.Производительность СУБД оценивается:
временем выполнения запросов;
скоростью поиска информации в неиндексированных полях;
временем выполнения операций импортирования базы данных из других форматов;
скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
максимальным числом параллельных обращений к данным в многопользовательском режиме;
временем генерации отчета.
Производительность СУБД зависит от двух факторов. Во-первых, СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы. Во-вторых, производительность собственных прикладных программ в значительной степени определяется правильным проектированием и построением базы данных.
Обеспечение целостности данных на уровне базы данных.Эта характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Необходимо установить правила целостности, которые следует хранить вместе с базой данных и соблюдать на глобальном уровне. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью специальной программы).
К средствам обеспечения целостности данных на уровне СУБД относятся:
встроенные средства для назначения первичного ключа, в том числе для работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;
средства поддержания ссылочной целостности, которые обеспечивают запись информации о связях таблиц и автоматически пресекают любую операцию, приводящую к нарушению ссылочной целостности.
Некоторые СУБД имеют хорошо разработанный процессор СУБД, позволяющий реализовать такие возможности, как уникальность первичных ключей, ограничение (пресечение) операций и даже каскадное обновление и удаление информации. В таких системах проверка корректности, назначаемая полю или таблице, всегда проводится после изменения данных, а не только во время ввода информации с помощью экранной формы. Это свойство можно настраивать для каждого поля и для записи в целом, что дает возможность контролировать не только значения отдельных полей, но и взаимосвязи между несколькими полями данной записи.
Обеспечение безопасности.Некоторые СУБД предусматривают средства, гарантирующие безопасность данных. Такие средства обеспечивают выполнение следующих операций:
шифрование прикладных программ;
шифрование данных;
защиту паролем;
ограничение уровня доступа (к базе данных, к таблице, к словарю для пользователя).
Работа в многопользовательских средах.Обработка данных в многопользовательских средах предполагает реализацию программным продуктом следующих функций:
блокировку базы данных, файла, записи, поля;
идентификацию станции, установившей блокировку;
обновление информации после модификации;
контроль за временем и повторение обращения;
обработку транзакций (транзакция — последовательность операций пользователя над базой данных, которая сохраняет ее логическую целостность);
работу с сетевыми системами.
Импорт—экспорт.Эта характеристика отражает возможность:
обработки СУБД информации, подготовленной другими программными средствами;
использования другими программами данных, сформированных средствами СУБД.
Выполнение запросов и инструментальные средства разработки прикладных программ.СУБД, ориентированные на разработчиков, обладают развитыми средствами для создания приложений. К элементам инструментария разработки приложений можно отнести:
мощные языки программирования;
средства реализации меню, экранных форм ввода—вывода данных и генерации отчетов;
средства генерации приложений (прикладных программ);
генерацию исполнимых файлов.
Функциональные возможности доступны пользователю СУБД благодаря ее языковым средствам.
Реализация языковых средств интерфейсов может быть осуществлена различными способами. Для высококвалифицированных пользователей (разработчиков сложных прикладных систем) языковые средства чаще всего представляются в их явной синтаксической форме. В других случаях функции языков могут быть доступны косвенным образом, когда они оформляются в виде различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый программный код приложения. Интерфейсы с неявным использованием языка широко применяются в СУБД для персональных ЭВМ. Примером такого языка является QBE (Query-By-
Example).
Языковые средства служат для выполнения двух основных функций:
описания представления базы данных;
манипулирования данными.
Первая из этих функций обеспечивается языком описания (определения) данных (ЯОД). Описание базы данных средствами ЯОД называется схемой базы данных. Оно включает в себя описание структуры базы данных и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. ЯОД некоторых СУБД позволяют также ограничивать доступ к данным или полномочия пользователей.
ЯОД не всегда синтаксически оформляется в виде самостоятельного языка. Он может быть составной частью единого языка данных, сочетающего возможности определения данных и манипулирования ими.
Язык манипулирования данными (ЯМД) предназначен для запрашивания предусмотренных в системе операций над данными из базы данных.
Имеются многочисленные примеры языков СУБД, объединяющих операции описания данных и манипулирования ими в единых синтаксических рамках. Популярным языком такого рода является реляционный язык SQL.