UNIR Revista
En el manejo de bases de datos relacionales, el lenguaje de programación PL/SQL se presenta como la alternativa que viene a complementar a SQL. Descubre las razones.
PL/SQL es un lenguaje de programación desarrollado por Oracle como extensión de SQL. Ambos son lenguajes de bases de datos relacionales, pero entre ellos existen varias diferencias.
SQL es un lenguaje de consulta estructurado con el que podemos manejar la información de una base de datos, modificando esos datos, añadiendo o eliminando. Es un lenguaje declarativo.
PL/SQL va más allá, es un lenguaje de programación por procedimientos, una ampliación de SQL que conserva sus sentencias en la sintaxis. Si con SQL solamente se realiza una consulta al mismo tiempo, con PL/SQL se ejecuta un bloque de código completo. Es uno de los lenguajes que se estudian en FP.
Características de PL/SQL
La principal característica de PL/SQL es su capacidad para integrar construcciones de procedimientos con SQL. Al ejecutar un comando SQL, la base de datos recibe información sobre qué operación debe realizar, mientras que con PL/SQL se puede especificar cómo llevar a cabo esa operación. Si buscamos una definición debemos atender a sus particularidades.
- Se trata de un lenguaje de bases de datos sencillo y fácil de escribir y leer.
- Es un lenguaje de procedimiento, estructurado en bloques en el que son elementos fundamentales las variables, las constantes, la estructura de bucle y el cursor.
- Las estructuras de control son muy similares a la de otros lenguajes de programación.
- Permite convertir problemas complejos en códigos de procedimiento que pueden utilizarse en diferentes aplicaciones.
- A diferencia de otros lenguajes de bases de datos, PL/SQL no distingue entre letras mayúsculas o minúsculas.
- Puede guardar el contenido de una fila completa de una tabla en una única variable. Permite programar funciones, triggers, procedimientos almacenados y scripts.
- El usuario puede utilizar las herramientas de Oracle: Graphics, Reports, Application Server y Forms.
Contexto de uso
Como cualquier lenguaje de programación, PL/SQL cuenta con sus propias unidades léxicas. Son las que establecen los elementos más pequeños con significado, elementos que, al combinarlos, atendiendo a las reglas de sintaxis, se convierten en sentencias. En PL/SQL se clasifican en:
- Delimitadores. Representan operaciones entre diferentes clases de datos. Pueden ser operadores aritméticos, lógicos o relacionales.
- Literales. Se emplean en las comparaciones de valores o para asignar valores concretos a los identificadores que actúan como variables o constantes.
- Comentarios. No influyen en la estructura básica pero sirven de apoyo para saber qué se está haciendo.
- Identificadores. Se utilizan para nombrar elementos del programa (variables, constantes, excepciones, cursores, subprogramas, paquetes).
La estructura de bloque es una de las bases de PL/SQL, que se ejecuta a través de estructura en la que pueden distinguirse tres partes diferentes, que incluyen una palabra clave:
- La parte declarativa en la que se declaran todas las constantes y variables que se usarán durante la ejecución del proceso.
Comienza con la palabra DECLARE.
- La parte de ejecución que incluye las instrucciones a llevar ejecutar en el bloque PL/SQL. Es la única obligatoria.
Comienza con BEGIN y finaliza con END.
- La parte de excepciones. Las excepciones permiten detectar y gestionar errores durante la ejecución del proceso.
Comienza con la palabra EXCEPTION.
PS/SQL permite manejar diferentes tipos de datos, la mayoría son los mismos que SQL. Los más utilizados son:
- CHAR (carácter): datos de tipo carácter que tengan un tamaño máximo de 32.767 bytes. Si no se especifica su valor de longitud, por defecto es 1.
- VARCHAR2 (carácter de longitud variable): almacena datos de longitud variable.
- NUMBER (numérico): guarda números enteros o de punto flotante, especificando la precisión (número de dígitos) y la escala (número de decimales).
- BOOLEAN (lógico): almacena valores TRUE o FALSE.
- DATE (fecha): datos sobre fechas que se guardan como datos numéricos y, por lo tanto, pueden hacerse operaciones aritméticas con ellas.
En cuanto a los procedimientos y funciones, se emplean para ejecutar tareas concretas, la diferencia está en que las funciones siempre devuelven un valor, por lo que se emplean para realizar cálculos.
Como lenguaje de programación procedimental, PL/SQL permite ejecutar procedimientos y funciones, declarar constantes y variables o emplear tablas en las que almacenar varios valores del mismo tipo de dato.