Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Interbase

.pdf
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
6.05 Mб
Скачать

Реляционные базы данных

25

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

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

Кроме того, дополнительный контроль, в том числе и связанный с анализом данных, хранящихся в разных таблицах, может осуществляться специальными программами-триггерами, которые будут включаться при попытке любого изменения данных. Для каждой такой попытки, а именно добавления (insert), модификации (update) и удаления (delete), можно задать свой триггер. Триггеры могут включаться как непосредственно перед соответствующим действием, так и после него. Общее количество триггеров не ограничено. Если триггеру "не понравятся" вводимые данные, он может выдать сообщение об ошибке и прервать соответствующую транзакцию.

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

Скорость доступа к данным

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

Основы языка SQL

29

Delete - удаление данных.

Каждая из этих команд имеет множество вариантов, которые заслуживают отдельного рассмотрения.

2.3. Язык определения данных

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

Create - ввод новых описаний;

Alter - модификация существующих описаний; Drop - удаление ненужных описаний.

Каждая из этих команд имеет множество вариантов, связанных как с вариантами описаний, так и с тем фактом, что в описании нуждается множество различных информационных объектов.

2.4.Язык управления порядком доступакданным

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

Grant - предоставляет права доступа к специфицированным объектам данных со стороны указанных пользователей или других объектов базы.

Revoke - ликвидирует права доступа к специфицированным объектам данных со стороны указанных пользователей или других объектов базы.

Соседние файлы в предмете Базы данных