DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Преимущества PL/SQL

Oracle — это реляционная база данных. Язык программирования, исполь­зуемый для доступа к реляционным базам данных, называется языком структурированных запросов (SQL, Structured Query Language; часто произ­носится как "сиквэл"). SQL — гибкий и эффективный язык, все средства которого служат для манипулирования реляционными данными и для их исследования. Например, с помощью SQL-оператора можно удалить из базы данных сведения обо всех студентах (students), профилирующей дисциплиной (major) которых является питание (nutrition):
(Таблицы, используемые в этой книге, в том числе и таблица students, описаны в конце данной главы.)
SQL является языком четвертого поколения. Это означает, что он описы­вает то, что нужно выполнить, а не то, как это должно быть сделано. В приведенном операторе DELETE (удалить) неизвестно, как база данных найдет студентов, специализирующихся по питанию. Чтобы узнать, ка­кие записи необходимо удалить, сервер, скорее всего, просмотрит сведе­ния обо всех студентах, однако реальную картину этой операции пользователи не видят.
Языки третьего поколения, например С и COBOL, по природе своей бо­лее процедурны. Программа, составленная на языке третьего поколения (3GL, third — generation language), реализует пошаговый алгоритм реше­ния проблемы. Например, можно выполнить операцию DELETE пример­но таким образом:
Объектно-ориентированные языки программирования, такие как C++ и Java, также являются языками третьего поколения. Хотя в них реализу­ются принципы объектно-ориентированного программирования, алго­ритмы все еще остаются пошаговыми.
У каждого типа языка программирования есть свои достоинства и недо­статки. Языки четвертого поколения, подобные SQL, как правило, проще (по сравнению с языками третьего поколения) и содержат меньшее число команд. Кроме того, они изолируют пользователя от базовых структур дан­ных и алгоритмов, реализуемых исполняющей системой. Однако в некото­рых случаях процедурные конструкции языков 3GL полезны для более точного описания программы. Именно для этого применяется PL/SQL, который объединяет мощь и гибкость SQL (языка 4GL) и процедурные конструкции языка 3GL.
PL/SQL означает Procedural Language/SQL (процедурный язык/SQL). Как видно из названия, PL/SQL расширяет возможности SQL, добавляя в него такие конструкции процедурных языков, как:
Переменные и типы данных (как предварительно определенные, так и определяемые пользователями)
Управляющиесгруктуры. такие как условные операторы и циклы
Процедуры и функции
•        Объектные типы и методы (OracleS и выше)
Процедурные конструкции объединяются с Oracle SQL, что дает в ре­зультате структурированный и эффективный язык программирования. Предположим, что требуется изменить профилирующую дисциплину не­коего студента. Если записи о нем нет, нужно создать новую запись. Это можно сделать при помощи следующего кода PL/SQL:
В этом примере содержатся два разных SQL-оператора (UPDATE (об­новить) и INSERT (ввести)), а также ЗСЬ-конструкции (операторы объяв­ления переменных и условный оператор IF).

Внимание
Для того чтобы выполнить приведенный пример, необходимо вначале создать объекты базы данных, на которые производятся ссылки (таблицу students и последовательность student_sequence). Это можно сделать при помощи сценария tables, sql, находящегося на сайте издательства "Лори" по адресу: www. lory-press, ru. Болееподробно о создании объектов и о поставляемых текстах программ рассказывается ниже в разделе "Расположение примеров".
PL/SQL уникален тем, что объединяет гибкость SQL с мощью и спо­собностью к конфигурированию языка 3GL. В нем имеются как процедур­ные конструкции, так и средства обращения к базе данных. Таким образом, это надежный, эффективный язык программирования для раз­работки сложных приложений.
 


customer relationship management . письки







jAntivirus