Object-PL/SQL (объектно-процедурный язык / структурированный язык запросов или просто O-PL/SQL) является методологией использования процедурного языка расширения Oracle для SQL и реляционной базы данных Oracle.[1] Дополнительные возможности из версии 7 и другие улучшения приводят к одной из широкомасштабных реализаций среды объектно-ориентированной парадигмы базы данных.[2]
Несмотря на то, что общий синтаксис PL/SQL, ранее использовался для того, чтобы иметь сходство с Ada или Pascal, в нём было много улучшений, которые в основном включают код внедрения Java[3] и объектно-ориентированный синтаксис[4] внутри SQL.
Смешивание и внедрение триггеров и хранимых процедур было одним из прорывных пунктов, чтобы поддержать использование PL/SQL в ОО парадигме. Включение в синтаксис SQL таких операторов, как [класс].[объект] и реализация типа объекта (как и любой ОО язык), завершило минимальные требования к отображению подхода на расширенном языке SQL без использования специфического отображаемого программного обеспечения.
O-PL/SQL — это не просто использование версии языка программирования, а определение того, как его использовать, и это определяет автономию предмета.[5] Каждая версия PL/SQL, начиная с 7, приносит так много инноваций, что невозможно рассматривать такие употребления как подтемы PL/SQL. Настолько велика эта революция, что она устанавливает реальную границу между языком, который можно использовать как раньше, и подход ООП внутри себя. Именно этот подход делает тему важной, и широкомасштабное использование принесло свою известность.
Путаница объектов
Может возникнуть путаница в понятиях объекта СУБД и объекта класса. Это очень важно, поскольку мы живем с обоими значениями на одном языке. Необходимо определить, когда документация относится к объекту как одно из двух определений.
Объекты базы данных — это концепции, которые относятся к реляционным или последовательным базам данных и сохраняются в новых моделях. Таблицы, триггеры, столбцы, индексы являются примерами объектов базы данных, которые присутствуют в O-PL/SQL, но с тем же значением понятия объектов Java, в частности, элементом набора, который существует, начиная с экземпляра класса.
PL/SQL — это расширенный язык SQL, используемый Oracle Database.
PL/SQL доступен в Oracle Database (начиная с версии 7), в базе данных TimesTen (начиная с версии 11.2.1) и IBM DB2 (начиная с версии 9.7).[6]
O-PL/SQL позволяет определять классы и создавать их как объекты, создавая определяемые пользователем типы данных как конструкторы записи, помимо использования Java в хранимых процедурах и триггерах.
Примеры использования синтаксиса O-PL/SQL
Вот небольшой набор примеров синтаксиса O-PL/SQL, извлеченный из официальной документации[7] и других источников:
Простой пример объектно-ориентированного PL/SQL[8]
Rahayu, Wenny; taniar, David; Pardede, Eric (2006). Object-Oriented Oracle (PDF). Hershey: IRM Press. p. 345. ISBN 1591406080.
Примечания
↑Lassan, Alan R., Due, Jacob Steen (13 June 2000). "Experiences with Object Oriented Development in PL/SQL". — The danish National Center for IT Research., 15 April 2012.
↑Cunningham, Lewis. "PL/SQL Features by Release". — Burleson Consulting, Retrieved 15 April 2012.