Программирование >>  Sql: полное руководство 

1 ... 182 183 184 [ 185 ] 186 187 188 ... 264



ИГ Т1


Перспективы развития SQL

Язык SQL проникает во все новые области обработки данных, постоянно приобретая дополнительные возможности. В главах 20-22 рассматриваются три относительно новые технологии - хранимые процедуры, хранилища данных и распределенные базы данных. В главе 23 описывается роль SQL в объектно-ориентированных технологиях и в объектно-реляционных базах данных нового поколения. Наконец, в главе 24 обсуждаются основные тенденции в продолжающейся эволюции языка SQL и перспективы его развития на ближайшие годы.






Хранимые процедуры

и триггеры



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

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

Концепции хранимых процедур

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

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

Условное выполнение. Консфукция if. . .then. . .else позволяет SQL-проиедУР проверить условие и в зависимости от результата выполнить различные действия-



1 ... 182 183 184 [ 185 ] 186 187 188 ... 264

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика