Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
для поступления в магистратуру.pdf
Скачиваний:
46
Добавлен:
04.08.2022
Размер:
2.68 Mб
Скачать

89

иерархия;

типизация;

полиморфизм;

наследование.

Объектно-ориентированной БД (ООБД) является БД, которая основывается на принципах объектноориентированной технологии.

Организация процессов обработки данных в БД

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

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

запросы к базе данных;

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

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

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

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

Фильтр представляет собой набор условий, применяемых для отбора подмножества записей. Результатом фильтрации является «показ» (отображение) в открытой таблице или форме только отфильтрованных записей с временным «скрытием» всех остальных записей.

Набор условий, определяющих фильтр, формируется в различных СУБД по-разному, но общепринятым является использование выражении в условиях отбора данных. Аргументами выражения могут быть числа, даты, текст, имена полей, которые соединяются знаками математических операций (+, -, *, /), неравенств ( >,<,=) и логических операций (АND, ОR,NОТ). При этом текстовые значения и аргументы заключаются в кавычки («Иванов»), даты в символы # (#01.01.03#).

Упорядочивание записей по возрастанию/убыванию или по алфавиту по определенному полю реализуется сортировкой данных. При этом в файле базы данных строки таблицы физически остаются не упорядоченными. Сортировка строк открытой таблицы происходит только в буферах страниц в оперативной памяти. Новый порядок расположения строк таблицы может быть зафиксирован специальной командой при закрытии таблицы.

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

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

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

С точки зрения решаемых информационных задач и формы результатов исполнения

90

запросов их можно разделить на три группы: запросы на выборку данных; запросы на изменение данных; управляющие запросы.

Запросы на выборку относятся к одному из наиболее часто применяемых видов запросов. Данный вид запросов реализуется SQL-инструкцией SELECT с предложением FROM. Результатом исполнения запроса на выборку является набор данных, который представляет временную таблицу данных со структурой (поля, их типы и параметры), определяемой параметрами запроса и параметрами полей таблиц, из которых выбираются данные. Результаты запросов на выборку помещаютсявспециальнуювременнуютаблицу,размещаемуюнапериодисполнения(«открытия») запроса в оперативной памяти.

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

При исполнении запроса на удаление за одну операцию осуществляется удаление группы записей из одной или нескольких таблиц. Запросы на удаление реализуются SQL-инструкцией

DELETE:

DELETE (поля) FROM (таблица) WHERE (условие);

Запрос на обновление за одну операцию вносит общие изменения в группу записей одной или нескольких таблиц. Реализуются SQL-инструкцией UPDATE. Запросы на обновления применяются тогда, когда необходимо осуществить глобальные однотипные изменения в какомлибо наборе данных.

UPDATE (таблица) SET (поле = значение) WHERE(условие);

Запрос на добавление осуществляет добавление группы записей из одной или нескольких таблиц в конец другой или группы других таблиц. При этом количество и типы полей при вставке записей должны совпадать.

INTER INTO таблица SELECT поля FROM таблица WHERE (условие);

Запросы на создание таблицы за одну операцию создают новую таблицу с заполненными данными на основе всех или части данных из одной или нескольких таблиц.

SELECT поля INTO таблица FROM таблица WHERE (условие);

В составе языка описания данных DDL имеются ряд SQL-инструкций, на основе которых строятся запросы по созданию/модификации реляционных таблиц или отдельных их элементов. Такие запросы называются управляющими.

Запросы на создание таблицы реализуются SQL-инструкцией CREATEТАВLЕ с ключевыми словами, определяющими типы полей (СНАRACTER, INTEGER, DATETIME и т.д.), предложением CONSTRAINT для создания ограничений на значения полей или связей между таблицами, ключевым словом UNIQUE, задающим свойство уникальности индекса таблицы, а также ключевого слова PRIMERYKEY, определяющего ключевое поле создаваемой таблицы.

Запросы на добавление полей или индексов реализуются SQL-инструкцией ALTERTABLE с использованием зарезервированных слов ADDCOLUMN (добавить поле) и ADDCONSTRAIN (добавить индекс). Этимжезапросомс помощью зарезервированногословаDROPCOLUMN можно удалить поле из существующей таблицы. Как правило, запросы на добавление полей также используются длясоздания внешнихключей,задающих связи-отношения между таблицами.С этой целью используются зарезервированные слова FOREIGNKEY и REFERENCES.

Запросы на удаление таблицы или индексареализуются SQL– инструкцией DROPTABLE с указанием имени удаляемой таблицы или индекса.

Запросы на создание индекса реализуются SQL-инструкцией CREATEINDEX с использованием зарезервированного слова UNIQUE запрета повтора значений в индексируемом поле и необязательного предложения WITH с параметрами DISALLOWNULLи IGNORENULL для запрета/разрешения нулевых (пустых) значений в индексируемом поле. Зарезервированное слово PRIMERY позволяет определить создаваемый индекс ключом таблицы (при этом создаваемый индекс по умолчанию является уникальным, т. е. повторы значений не допускаются).

91

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

Функционирование базы данных осуществляется следующим образом:

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

2.Для каждого события в базе данных определяются правила (триггеры) по проверке определенных условий состояния данных.;

3.В зависимости от результатовпроверкиправил вбазеданных запускаются на выполнение предварительно определенные процедуры.

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

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