Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.)

Жанр: Информационные системы и технологии

Просмотров: 1410


Глава 6. информационные системы с активным сервером баз данных

 

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

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

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

дура может управлять приемом заказа или переводом денег с одного банков-

ского счета на другой.

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

может автоматически переводить деньги со сберегательного счета на чековый,

когда остаток последнего исчерпывается.

В своей исходной форме SQL не является полноценным языком программи- рования. Он был задуман и создан как язык, предназначенный для выполнения операций над базами данных – создания их структуры, ввода и обновления данных – и особенно для выполнения запросов. SQL может использоваться как интерактивный командный язык: пользователь по очереди вводит инструкции

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

С появлением хранимых процедур язык SQL обогатился рядом дополни-

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