Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОИТ_Учебник.doc
Скачиваний:
1580
Добавлен:
22.02.2016
Размер:
11.29 Mб
Скачать

4.4 Архитектура и функциональные возможности субд. Языковые и программные средства субд

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

  • описания представления БД;

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

  • управления БД.

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

Язык манипулирования данными(ЯМД) –Shema Manipulation Languageсодержит набор операторов манипулирования данными, позволяющих заносить данные в БД, удалять, модифицировать их и выбирать запрашиваемую информацию из БД.

В настоящее время имеются многочисленные примеры языков СУБД, объединяющих возможности описания данных и манипулирования данными в единых синтаксических рамках. Единый интегрированный язык современных СУБД содержит все необходимые средства для работы с базой данных, начиная от ее создания, и обеспечивает пользовательский интерфейс с БД. Наиболее популярным и стандартным для реляционных СУБД является язык SQL (Structured Query Language язык структурируемых запросов),разработанный фирмой IBM. Для поддержки объектных моделей предназначен язык OQL (Object Query Language), в основу которого положен SQL.

Примерами других языков этого класса могут служить: Quel системы Ingres, созданный Калифорнийским университетом; dBase семейства СУБД фирмы Asthon – Tate; R:Base фирмы Microrim.

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

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

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

Модулипредставляют собой процедуры на языке Visual Basic for Application (VBA).

VBA является общим языком для всех приложений Microsoft Office и позволяет решать любые задачи программирования, начиная от автоматизации действий конкретного пользователя и заканчивая разработкой сложных приложений, использующих Microsoft Office в качестве среды разработки. Язык VBA является объектно-ориентированным языком программирования и вычисления. Основой программ на VBA являются процедуры, состоящие из инструкций, выполняющих необходимые операции. Процедуры хранятся в модулях, из которых они запрашиваются на выполнение. Модуль служит для объединения процедур по функциональному назначению или привязки к форме или отчету.

В Web-программировании активно используетсяСУБД MySQL. Для работы с БД этой системы применяют язык программирования PHP. Это Си-подобный язык, предназначенный для быстрого создания программ на Web-сервере.

На языке PHP разрабатываются скрипты (scripting language) – кодовые (программные) инструкции по выполнению определенных действий над данными, выбранными из БД. Скрипты вставляются в HTML-документы, преобразуя их из статических в активные. Web-сервер просматривает документ, выполняет найденные в нем PHP-инструкции и результат выполнения инструкций возвращает пользователю.

С помощью PHP можно обрабатывать данные из форм, генерировать динамические страницы, создавать счетчики, гостевые книги и т.д. В PHP включена поддержка многих баз данных: FilePro, Informix, MySQL, Oracle, Sybase и др.

Структура СУБД

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

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

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

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

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

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

Менеджер журналауправляет журнализацией. Журнал – это особая часть БД, недоступная пользователям СУБД, в которую поступают записи обо всех изменениях основной части БД.

При журнализации используется стратегия "упреждающей" записи в журнал (протокол Write Ahead Log - WAL). Стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. При соблюдении протокола WAL с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.

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

Компилятор языкаБД преобразует операторы языка БД в выполняемую программу. Результат компиляции – выполняемая программа, представляется в машинных кодах или в выполняемом внутреннем машинно-независимом коде.

Подсистема поддержки временивыполненияиспользуется для интерпретации внутреннего машинно-независимого кода при выполнении операторов программы.

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

Функциональные возможности

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

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

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

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

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

Большую пользу для обеспечения условий целостности данных, приносят триггеры, которые сохраняют связи между таблицами при добавлении, обновлении или удалении строк в таблицах. Триггеромназывают сохраненную процедуру специального типа, которая вступает в действие, когда пользователь изменяет данные в указанной таблице с помощью одной или нескольких из следующих операций: UPDATE, INSERT или DELETE. Триггеры позволяют выполнять запросы к другим таблицам и могут содержать сложные инструкции SQL

Импорт-экспорт данных.Функцияимпорта позволяет средствам СУБД обрабатывать информацию из внешних источников двумя способами:

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

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

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

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

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

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

  • блокировка БД, файла, записи, поля;

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

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

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

  • обработка транзакций;

  • работа с сетевыми операционными системами.

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

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

Основными WWW-технологиями доступа к БД являются следующие:

1. Однократное или периодическое преобразование содержимого баз данных в статические документы.Содержимое БД просматривает специальная программа-преобразователь, создающая множество файлов в виде связных HTML-документов. Полученные файлы копируются на WWW-сервер. Доступ к ним осуществляется как к статическим гипертекстовым документам сервера.

Такая технология эффективна при небольших массивах данных простой структуры с редким обновлением, а также при пониженных требованиях к актуальности данных, предоставляемых через ресурс WWW. Создание статических Web-страниц не требует использования механизма поиска и индексирования данных.

2. Динамическое создание гипертекстовых документов на основе содержимого БД.

Доступ к БД осуществляется с помощью специальной программы, запускаемой WWW-сервером в ответ на запрос WWW-клиента. Программа, обрабатывая запрос, просматривает содержимое БД, создает динамический выходной НТМL-документ, возвращаемый клиенту.

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

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