Функциональные возможности СУБД
15.3. ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ СУБД
Обзор СУБД
Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
СУБД предназначена для централизованного управления базой данных в интересах всех работающих в этой системе.
По степени универсальности различают два класса СУБД:
• системы общего назначения;
• специализированные системы.
СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных. Использование СУБД общего назначения в качестве инструментального средства для создания автоматизированных информационных систем, основанных на технологии баз данных, позволяет существенно сокращать сроки разработки, экономить трудовые ресурсы. Этим СУБД присущи развитые функциональные возможности и даже определенная функциональная избыточность.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
Рекомендуемые материалы
СУБД общего назначения — это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией базы данных информационной системы.
Рынок программного обеспечения ПК располагает большим числом разнообразных по своим функциональным возможностям коммерческих систем управления базами данных общего назначения, а также средствами их окружения практически для всех массовых моделей машин и для различных операционных систем.
Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде WINDOWS, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности.
Производительность СУБД
Производительность СУБД оценивается:
• временем выполнения запросов;
• скоростью поиска информации в неиндексированных полях;
• временем выполнения операций импортирования базы данных из других форматов;
• скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
• максимальным числом параллельных обращений к данным в многопользовательском режиме;
• временем генерации отчета.
На производительность СУБД оказывают влияние два фактора:
• СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
• производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.
Самые быстрые программные изделия отнюдь не обладают самыми развитыми функциональными возможностями на уровне процессора СУБД.
Обеспечение целостности данных на уровне базы данных
Эта характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Должны быть установлены правила целостности, и они должны храниться вместе с базой данных и соблюдаться на глобальном уровне. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью специальной программы).
К средствам обеспечения целостности данных на уровне СУБД относятся:
• встроенные средства для назначения первичного ключа, в том числе средства для работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;
• средства поддержания ссылочной целостности, которые обеспечивают запись информации о связях таблиц и автоматически пресекают любую операцию, приводящую к нарушению ссылочной целостности.
Некоторые СУБД имеют хорошо разработанный процессор СУБД для реализации таких возможностей, как уникальность первичных ключей, ограничение (пресечение) операций и даже каскадное обновление и удаление информации. В таких системах проверка корректности, назначаемая полю или таблице, будет проводиться всегда после изменения данных, а не только во время ввода информации с помощью экранной формы. Это свойство можно настраивать для каждого поля и для записи в целом, что позволяет контролировать не только значения отдельных полей, но и взаимосвязи между несколькими полями данной записи.
Access и Paradox for Windows гораздо ближе других СУБД соответствуют реляционной модели по надежности сохранения целостности данных на уровне базы данных; правила хранятся вместе с базой данных и автоматически соблюдаются.
Обеспечение безопасности
Некоторые СУБД предусматривают средства обеспечения безопасности данных. Такие средства обеспечивают выполнение следующих операций:
• шифрование прикладных программ;
• шифрование данных;
• защиту паролем;
• ограничение уровня доступа (к базе данных, к таблице, к словарю, для пользователя).
Самый высокий уровень безопасности данных реализован в СУБД FOXPRO. Администратор может назначать системе различные права доступа на уровне файла, поля, а также организовать автоматическое шифрование данных.
Хорошими характеристиками обеспечения безопасности отличается Access. Он предусматривает назначение паролей для индивидуальных пользователей или групп пользователей и присвоение различных прав доступа отдельно таблицам, запросам, отчетам, макрокомандам или новым объектам на уровне пользователя или группы.
Работа в многопользовательских средах
Практически все рассматриваемые СУБД предназначены для работы в многопользовательских средах, но обладают для этого различными возможностями.
Обработка данных в многопользовательских средах предполагает выполнение программным продуктом следующих функций:
блокировку базы данных, файла, записи, поля;
идентификацию станции, установившей блокировку;
обновление информации после модификации;
контроль за временем и повторение обращения;
обработку транзакций (транзакция — последовательность операций пользователя над
базой данных, которая сохраняет ее логическую целостность);
работу с сетевыми системами.
Импорт-экспорт
Эта характеристика отражает:
• возможность обработки СУБД информации, подготовленной другими программными средствами;
• возможность использования другими программами данных, сформированных средствами рассматриваемой СУБД.
Особый интерес представляют следующие форматы файлов: ASCII-файлы, .DBF, .WK*, .XLS.
Все рассматриваемые здесь СУБД обладают хорошими возможностями импорта-экспорта данных.
Доступ к данным посредством языка SQL
Язык запросов SQL (Structured Query Language) реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования является международным стандартом языка запросов. Язык SQL предоставляет развитые возможности как конечным пользователям, так и специалистам в области обработки данных.
Совместимость с SQL-системами играет большую роль, когда предполагается проведение работы с корпоративными данными. СУБД, хорошо подготовленные к работе в качестве средств первичной обработки информации для SQL-систем, могут открыть двери в системы с архитектурой клиент-сервер.
СУБД имеют доступ к данным SQL в следующих случаях:
• базы данных совместимы с ODBC (Open Database Connectivity — открытое соединение баз данных);
• реализована естественная поддержка SQL-баз данных;
• возможна реализация SQL-запросов локальных данных.
Многие СУБД могут "прозрачно" подключаться к входным SQL-подсистемам с помощью ODBC или драйверов, являющихся их частью, поэтому существует возможность создания прикладных программ для них. Некоторые программные продукты совместимы также с SQL при обработке интерактивных запросов на получение данных, находящихся на сервере или на рабочем месте.
Access 2.0 и Paradox for Windows работают с источниками SQL-данных, совместимых с системой ODBC.
FoxPro (for Dos и for Windows) поставляются с дополнительными библиотеками, которые обеспечивают доступ к SQL-базам данных, способным работать совместно с системой ODBC, но эта возможность менее интегрирована, чем средства первичного ввода информации в Access и Paradox for Windows.
Можно напрямую управлять базами данных Access с помощью языка SQL и передавать сквозные SQL-запросы совместимым со спецификацией ODBC SQL-базам данных, таким, как MS SQL Server и Oracle, так что Access способна служить средством разработки масштабируемых систем клиент-сервер.
Возможности запросов и инструментальные средства разработки прикладных программ
СУБД, ориентированные на разработчиков, обладают развитыми средствами для создания приложений. К элементам инструментария разработки приложений можно отнести:
• мощные языки программирования;
• средства реализации меню, экранных форм ввода-вывода данных и генерации отчетов;
• средства генерации приложений (прикладных программ);
• генерацию исполнимых файлов.
Функциональные возможности моделей данных доступны пользователю СУБД благодаря ее языковым средствам.
Реализация языковых средств интерфейсов может быть осуществлена различными способами. Для высококвалифицированных пользователей (разработчиков сложных прикладных систем) языковые средства чаще всего представляются в их явной синтаксической форме. В других случаях функции языков могут быть доступны косвенным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый программный код приложения. Интерфейсы с неявным использованием языка широко используются в СУБД для персональных ЭВМ. Примером такого языка является язык QBE (Query-By-Example).
Языковые средства используются для выполнения двух основных функций:
• описания представления базы данных ;
• выполнения операций манипулирования данными.
Первая из этих функций обеспечивается языком описания (определения) данных (ЯОД). Описание базы данных средствами ЯОД называется схемой базы данных. Оно включает описание структуры базы данных и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. ЯОД некоторых СУБД обеспечивают также возможности задания ограничений доступа к данным или полномочий пользователей.
ЯОД не всегда синтаксически оформляется в виде самостоятельного языка. Он может быть составной частью единого языка данных, сочетающего возможности определения данных и манипулирования данными.
Язык манипулирования данными (ЯМД) позволяет запрашивать предусмотренные в системе операции над данными из базы данных.
Имеются многочисленные примеры языков СУБД, объединяющих возможности описания данных и манипулирования данными в единых синтаксических рамках. Популярным языком такого рода является реляционный язык SQL.
СУБД dBASE IV и FoxPro поддерживают язык программирования xBASE, который до сих пор является важным стандартом для баз данных.
FoxPro придает xBASE-программам оконные, событийно-управляемые качества. При составлении прикладной программы FoxPro использует диспетчер проекта, управляющий различными файлами исходного текста и данных. Эта составляющая отслеживает индивидуальные элементы: программы, наборы экранных форм, отчеты и файлы баз данных и позволяет компилировать прикладную программу в исполнимый файл.
Язык программирования Access Basic содержит функции обеспечения связи по протоколу OLE, позволяющие управлять объектами из других прикладных программ, совместимых с OLE. Кроме того, этот язык позволяет создавать объекты баз данных (запросы, таблицы), изменять структуру базы данных и создавать индексы непосредственно из прикладной программы.
Все рассматриваемые программные средства обладают автоматизированными средствами создания экранных форм, запросов, отчетов, меню, наклеек, стандартных писем. Для создания указанных визуальных и структурных объектов ряд СУБД использует специальные инструментальные средства, называемые "мастерами" или " волшебниками"
15.4. ОСНОВЫ ТЕХНОЛОГИИ РАБОТЫ В СУБД
КОМАНДЫ ДЛЯ ВЫПОЛНЕНИЯ ТИПОВЫХ ОПЕРАЦИЙ
Типовая структура интерфейса
При работе с СУБД на экран выводятся рабочее поле и панель управления. Панель управления при этом включает меню, вспомогательную область управления и строку подсказки. Расположение этих областей на экране может быть произвольным и зависит от особенностей конкретной программы. Некоторые СУБД позволяют выводить на экран окно директив (командное окно) или строку команд. Познакомиться с видом экрана таких программных средств можно на примере окна СУБД Access, представленного на рис. 15.26.
Строка меню содержит основные режимы программы. Выбрав один из них, пользователь получает доступ к ниспадающему подменю, содержащему перечень входящих в него команд. В результате выбора некоторых команд ниспадающего меню появляются дополнительные подменю.
Вспомогательная область управления включает:
• строку состояния;
• панели инструментов;
• вертикальную и горизонтальную линейки прокрутки.
Рис. 15.26. Основные компоненты окна СУБД Access
В строке состояния (статусной строке) пользователь найдет сведения о текущем режиме работы программы, имени файла текущей базы данных и т. п. Панель инструментов (пиктографическое меню) содержит определенное количество кнопок (пиктограмм), предназначенных для быстрой активизации выполнения определенных команд меню и функций программы. Чтобы представить на экране области таблицы базы данных, формы или отчета, которые на нем в настоящий момент не отображены, используют вертикальную и горизонтальную линейки прокрутки.
Строка подсказки предназначена для выдачи сообщений пользователю относительно его возможных действий в данный момент.
Важная особенность СУБД — использование буфера промежуточного хранения при выполнении ряда операций. Буфер используется при выполнении команд копирования и перемещения для временного хранения копируемых или перемещаемых данных, после чего они направляются по новому адресу. При удалении данных они также помещаются в буфер. Содержимое буфера сохраняется до тех пор, пока в него не будет записана новая порция данных.
Программы СУБД имеют достаточное количество команд, у каждой из которых возможны различные параметры (опции). Такая система команд совместно с дополнительными опциями образует меню со своими особенностями для каждого типа СУБД. Выбор определенной команды из меню производится одним из следующих двух способов:
• наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода;
• вводом с клавиатуры первой буквы выбранной команды.
Получить дополнительную информацию о командах, составляющих меню СУБД, и их использовании можно, войдя в режим помощи.
Несмотря на особенности СУБД, совокупность команд, предоставляемых в распоряжение пользователю некоторой усредненной системой управления базами данных, может быть разбита на следующие типовые группы:
команды для работы с файлами;
команды редактирования;
команды форматирования;
команды для работы с окнами;
команды для работы в основных режимах СУБД (таблица, форма, запрос, отчет);
получение справочной информации.
Команды для работы с файлами
При работе с файлами программа дает возможность пользователю:
создавать новые объекты базы данных;
сохранять и переименовывать ранее созданные объекты;
открывать уже существующие базы данных;
закрывать ранее открытые объекты;
выводить на принтер объекты базы данных.
Процесс печати начинается с выбора драйвера принтера. Для каждого типа принтера необходим свой драйвер. Следующий шаг состоит в задании параметров страницы, формировании колонтитулов, а также в выборе вида и размера шрифта. Далее следует установить число копий, качество печати и количество или номера печатаемых страниц документа.
Команда предварительного просмотра позволяет получить представление об общем виде выводимой на принтер информации еще до печати. Размещение информации на странице может быть оптимально приспособлено к ее выбранным параметрам посредством масштабирования и центрирования.
В некоторых СУБД в рассматриваемую группу команд введены команды, обеспечивающие возможность экспорта-импорта и присоединения таблиц, созданных другими программными средствами.
Команды редактирования
Ввод данных и изменение содержимого любых полей таблиц БД, компонентов экранных форм и отчетов осуществляются с помощью группы команд редактирования, главными из которых являются перемещение, копирование и удаление.
Наряду с вышеуказанными операциями большая группа программ СУБД обладает возможностями вставки диаграммы, рисунка и т. п., включая объекты, созданные в других программных средах, установление связей между объектами.
Среди команд редактирования особое место занимают команды нахождения и замены определенного пользователем контекста в рамках всего документа или выделенной его части, а также отмена последней введенной команды (откатка).
Команды форматирования
Важное значение имеет визуальное представление данных при выводе. Большинство СУБД предоставляют в распоряжение пользователя большое число команд, связанных с оформлением выводимой информации. При помощи этих команд пользователь может варьировать направление выравнивания данных, виды шрифта, толщину и расположение линий, высоту букв, цвет фона и т. п. При выполнении любой команды форматирования следует выделить область, на которую распространяется действие команды. Если этого не сделать, то новые параметры форматирования будут определены только для активного компонента.
Выбор формата и направления выравнивания производится автоматически в зависимости от характера вводимых данных. Данные, интерпретируемые программой как текст, выравниваются по левому краю, а числа — по правому. Автоматический выбор формата и способа выравнивания производится только в том случае, если для заполняемых ячеек пользователем предварительно не заданы другие параметры.
Команды для работы с окнами
Большинство СУБД дает возможность открывать одновременно множество окон, организуя тем самым "многооконный режим" работы. При этом некоторые окна будут видны на экране, другие находиться под ними. Открыв несколько окон, вы можете сразу работать с несколькими таблицами, быстро перемещаясь от одной к другой. Существуют специальные команды , позволяющие открывать новое окно, переходить в другое окно, изменять взаимное расположение и размеры окон на экране. Кроме того, у пользователя имеется возможность разделить окно на две части для одновременного просмотра различных частей большой таблицы или фиксировать некоторую часть таблицы, которая не будет исчезать с экрана при перемещении курсора в дальние части таблицы.
Система получения справочной информации
Системы управления базами данных имеют в своем составе электронные справочники, предоставляющие пользователю инструкции о возможностях выполнения основных операций, информацию по конкретным командам меню и другие справочные данные. Особенностью получения справочной информации с помощью электронного справочника является то, что она выдает информацию в зависимости от ситуации, в которой оказался пользователь. Так, если в меню пользователем была выбрана определенная команда, то после обращения к справочной системе (обычно инициируется клавишей <F1>) на экране будет представлена страница справочника, содержащая информацию о выделенной команде. В некоторых СУБД возможно нахождение потребной информации в справочнике путем задания темы поиска.
ОБОБЩЕННАЯ ТЕХНОЛОГИЯ РАБОТЫ
Общее представление об этапах технологии
Каждая конкретная СУБД имеет свои особенности, которые необходимо учитывать.
Однако имея представление о функциональных возможностях любой СУБД, можно представить обобщенную технологию работы пользователя в этой среде.
В качестве основных этапов обобщенной технологии работы с СУБД, которая схематично представлена на рис. 15.27, можно выделить следующие:
• создание структуры таблиц базы данных;
• ввод и редактирование данных в таблицах;
• обработка данных, содержащихся в таблицах;
• вывод информации из базы данных.
Рассмотрим выделенные этапы более подробно.
Создание структуры таблиц базы данных
При формировании новой таблицы базы данных работа с СУБД начинается с создания структуры таблицы. Этот процесс включает определение перечня полей, из которых состоит каждая запись таблицы, а также типов и размеров полей.
Практически все используемые СУБД хранят данные следующих типов: текстовый (символьный), числовой, календарный, логический, примечание. Некоторые СУБД формируют поля специального типа, содержащие уникальные номера записей и используемые для определения ключа.
СУБД, предназначенные для работы в Windows, могут формировать поля типа объекта OLE, которые используются для хранения рисунков, графиков, таблиц.
Если обрабатываемая база данных включает несколько взаимосвязанных таблиц, то необходимо определение ключевого поля в каждой таблице, а также полей, с помощью которых будет организована связь между таблицами.
Создание структуры таблицы не связано с заполнением таблиц данными, поэтому эти две операции можно разнести во времени.
Рис. 15.27. Схема обобщенной технологии работы в СУБД
Ввод и редактирование данных
Заполнение таблиц данными возможно как непосредственным вводом данных, так и в результате выполнения программ и запросов.
Практически все СУБД позволяют вводить и корректировать данные в таблицах двумя способами:
• с помощью предоставляемой по умолчанию стандартной формы в виде таблицы;
• с помощью экранных форм, специально созданных для этого пользователем.
СУБД, работающие с Windows, позволяют вводить в созданные экранные формы рисунки, узоры, кнопки. Возможно построение форм, наиболее удобных для работы пользователя, включающих записи различных связанных таблиц базы данных. Пример экрана с формой ввода представлен на рис. 15.28.
Обработка данных, содержащихся в таблицах
Обрабатывать информацию, содержащуюся в таблицах базы данных, можно путем использования запросов или в процессе выполнения специально разработанной программы.
Конечный пользователь получает при работе с СУБД такое удобное средство обработки информации, как запросы. Запрос представляет собой инструкцию на отбор записей.
Большинство СУБД разрешают использовать запросы следующих типов:
• запрос-выборка, предназначенный для отбора данных, хранящихся в таблицах, и неизменяющий эти данные;
• запрос-изменение, предназначенный для изменения или перемещения данных; к этому типу запросов относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление;
• запрос с параметром, позволяющий определить одно или несколько условий отбора во время выполнения запроса.
Самым распространенным типом запроса является запрос на выборку.
Результатом выполнения запроса является таблица с временным набором данных (динамический набор). Записи динамического набора могут включать поля из одной или нескольких таблиц базы данных. На основе запроса можно построить отчет или форму.
Рис. 15.28. Вид экрана СУБД
с формой ввода для связанных
таблиц базы данных
Вывод информации из базы данных
Практически любая СУБД позволяет вывести на экран и принтер информацию, содержащуюся в базе данных, из режимов таблицы или формы. Такой порядок вывода данных может использоваться только как черновой вариант, так как позволяет выводить данные только точно в таком же виде, в каком они содержатся в таблице или форме.
Каждый пользователь, работающий с СУБД, имеет возможность использования специальных средств построения отчетов для вывода данных. Используя специальные средства создания отчетов, пользователь получает следующие дополнительные возможности вывода данных:
• включать в отчет выборочную информацию из таблиц базы данных;
• добавлять информацию, не содержащуюся в базе данных;
• при необходимости выводить итоговые данные на основе информации базы данных;
• располагать выводимую в отчете информацию в любом, удобном для пользователя виде ( вертикальное или горизонтальное расположение полей);
• включать в отчет информацию из разных связанных таблиц базы данных.
Рис. 15.29. Вид экрана СУБД с отчетом |
Вид экрана СУБД с отчетом, построенным по данным связанных таблиц базы данных, показан на рис.5.29.
КЛЮЧЕВЫЕ ПОНЯТИЯ
Архитектура базы данных:
по принципу файл-сервер
по принципу клиент-сервер
Архитектура СУБД
База данных
Безопасность данных
Внешняя модель
Внутренняя модель
Доступ к базе:
локальный
сетевой
Запись
Запрос
Информационно-логическая модель
Информационный объект Ключ:
простой
составной
первичный
вторичный
Концептуальная модель
Модель данных:
иерархическая
сетевая
реляционная
Многопользовательский режим
Нормализация отношений
Нормальная форма:
первая
вторая
третья
Обобщенная технология работы с
базой данных
Отчет
Поле базы данных
Полная функциональная зависимость
Производительность СУБД
Распределенная база данных
Режим ввода и редактирования данных
Реквизит
Связь информационных объектов:
один к одному
один ко многим
многие ко многим
Система управления базой данных (СУБД)
Строка меню
Строка подсказки
Строка состояния
Структурирование
Структурные элементы базы данных
Реляционная таблица (отношение)
Транзитивная зависимость реквизитов
Файл (таблица)
Функциональная зависимость реквизитов
Характеристика поля:
имя
тип
длина
точность
Целостность данных
Централизованная база данных
Экранная форма ввода
Язык запросов SQL
Язык манипулирования данными
Язык описания данных
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие данные называются структурированными?
2. Дайте определение и опишите назначение базы данных.
3. Дайте определение и опишите назначение системы управления базой данных.
4. Поясните, в чем заключается различие архитектур баз данных, организованных по принципу клиент-сервер и файл-сервер.
5. Назовите и поясните взаимосвязь структурных элементов базы данных.
6. Дайте понятие ключа. Какие виды ключей вы знаете?
7. Какие характеристики указываются при описании структуры базы данных и каково назначение такого описания?
8. Данные каких типов могут храниться в полях базы данных?
9. Какие модели данных вы знаете?
10. Поясните назначение ключевых полей в реляционной базе данных.
11. Что называется инфологической моделью предметной области?
1.5. Практикум по кодированию информации - лекция, которая пользуется популярностью у тех, кто читал эту лекцию.
12. Какие виды связей между объектами вам известны?
13. В чем заключается принцип нормализации отношений?
14. Поясните, каким требованиям должны отвечать отношения, находящиеся в первой, второй и третьей нормальной формах.
15. Каковы основные функциональные возможности СУБД?
16. Какие команды выполнения типовых операций в среде СУБД вы знаете?
17. Назовите и охарактеризуйте основные этапы технологического процесса обработки информации с использованием СУБД.