Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_REAIS.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
147.46 Кб
Скачать

12 Вопрос

Внутренние объекты серверных баз данных

Большинство современных серверных СУБД поддерживают специальные объекты, называемые ограничениями (constraints) и правилами (rules). Эти объекты содержат сведения об ограничениях, накладываемых на возможные значения полей. Например, с помощью такого объекта можно установить максимальное или минимальное значение для заданного поля, и после этого СУБД не позволит сохранить в базе данных запись, не удовлетворяющую данному условию.

В первую очередь правила реализуют следующие ограничения БД:

  • определение допустимого диапазона значений

  • задание значения по умолчанию (defaults)

  • задание условия на значения (constraints)

  • требование уникальности значения (unique)

  • запрет пустого значения (NULL)

  • ограничения ссылочной целостности

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

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

13 Вопрос

Хранимые запросы и процедуры, триггеры

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

Хранимая процедура — это специальный вид подпрограммы, который выполняется исключительно сервером баз данных. Хранимые процедуры пишутся на специальном процедурном языке PL/SQL, синтаксис которого зависит от конкретной СУБД. Используются такие конструкции, как объявления переменных с указанием их типов, условия и циклы, можно выполнять вычислительные операции.

Использование хранимых процедур увеличивает скорость доступа к БД по следующим причинам:

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

  • хранимая процедура, в отличие от запроса, не требует предварительной синтаксической проверки

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

ТРИГГЕРЫ - средство автоматического поддержания целостности БД.

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

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

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

Создание триггеров не автоматизировано. Программирование аналогично программированию хранимой процедуры, для чего используется язык PL/SQL.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]