1. UNIVERSIDAD NACIONAL DE
CHIMBORAZO
FACULTAD DE CIENCIAS DE LA EDUCACION
HUMANAS Y TEGNOLOGIA
ESCUELA DE INFORMATICA APLICADA A LA
EDUCACION
MATERIA: BASE DE DATOS II
TEMA: PL/SQL Procedural
Language/Structured Query
Language)EN ORACLE
RALIZADO POR: AGUAGALLO DORIS
SEMESTRE: QUINTO SEMESTRE
PERIODO ACADEMICO
SEPTIEMBRE 2014 --- FEBRERO 2015
2. PL/SQL (Procedural Language/Structured Query Language) - Lenguaje de programación
incrustado en Oracle
Concepto PL SQL
SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no
posee la potencia de los lenguajes de programación.
Para abordar el presente tutorial con mínimo de garantías es necesario conocer previamente SQL.
PL/SQL amplia SQL con los elementos característicos de los lenguajes de programación, variables,
sentencias de control de flujo, bucles...
Cuando se desea realizar una aplicación completa para el manejo de una base de datos relacional,
resulta necesario utilizar alguna herramienta que soporte la capacidad de consulta del SQL y la
versatilidad de los lenguajes de programación tradicionales. PL/SQL es el lenguaje de
programación que proporciona Oracle para extender el SQL estándar con otro tipo de
instrucciones.
(www.devjoker.com, 2006)
Características de PL/SQL
Es una extensión de SQL con características típicas de los lenguajes de programación.
● Procedural language / structured query language.
● Las sentencias SQL de consulta y manipulación de datos pueden ser incluidas en unidades
procedurales de código, pero no pueden usarse instrucciones DDL ni DCL.
Se ejecuta en el lado del servidor y los procedimientos y funciones se almacenan en la BD.
● No tiene instrucciones de entrada por teclado o salida por pantalla.
Incluye los tipos de datos y operadores de SQL.
● Los programas se pueden compilar desde SQL*Plus (comando /) o usar SQL Developer
u otros IDEs.
● Los comentarios comienzan por - - o se colocan entre /* y */.
● Trae unas librerías con funciones predefinidas, se llaman paquetes.
● Para ejecutar los procedimientos almacenados desde SQL*Plus se usa el comando
exec.
Estructura de un bloque PL/SQL
DECLARE opcional
Variables, cursores, excepciones definidas por el usuario
BEGIN obligatorio
Sentencias SQL sentencias de control PL/SQL
EXCEPTION opcional
Acciones a realizar cuando se producen errores
END; obligatorio
(Raúl)
Ventajas y desventajas de PL/SQL
VENTAJAS:
Creación de sentencias en tiempo de ejecución
3. Interactivo con el usuario
Acceder a objetos no existentes en tiempo de compilación
Gestión de permisos de usuarios de forma dinámica
Permite ejecutar instrucciones DDL (create, alter, drop, grant, …)
Las sentencias de Oracle SQL permiten que los datos se controlen desde un
repositorio central tabular.
Un administrador de bases de datos (DBA por sus siglas en inglés) es responsable de
crear usuarios, asignar privilegios, añadir registros, eliminar información redundante,
modificar datos existentes y procesar preguntas.
Estos datos almacenados centralmente son compartidos y accedidos por varias
aplicaciones.
Esto elimina la redundancia en la entrada y almacenamiento de datos.
Una ventaja principal de Oracle SQL es su estandarización y consistencia entre
distintas implementaciones.
SQL fue estandarizado por primera vez por el ANSI (Instituto Estadounidense de
Estandarización) en1986, y luego ratificado en 1987 por la Organización Internacional
de Estandarización (ISO), el cual sigue siendo el organismo de estandarización.
(www.ehowenespanol.com, 2015)
DESVENTAJAS:
No siempre se forman las consultas más optimas
Problemas de seguridad por ataques de inyección SQL
(mundodb.es/pl-sql-dinamico, 2015)
De acuerdo con "SQL para tontos", una de las mayores desventajas de SQL es su
incapacidad de ejecutar procesamientos recursivos.
El procesamiento recursivo es un tipo de función de computadora (o programa) en el cual
uno de los pasos o procedimientos vuelve a hacer correr el programa entero (o el
procedimiento).
SQL carece de construcciones de tipo lazo que son comunes en otros tipos de lenguajes
de programación de alto nivel.
No se pueden repetir acciones y no hay forma de definir construcciones repetitivas en SQL.
Una de las mayores desventajas de Oracle SQL es la inconsistencia e incompatibilidad de
datos en las áreas del tiempo y sintaxis de datos, concatenación de cadenas y sensibilidad
de caracteres.
El lenguaje es complejo, con un enfoque de palabras clave similar en estructura a COBOL
(por las cifras en inglés de lenguaje común orientado a los negocios), con menos reglas de
sintaxis y gramática.
SQL es un dominio específico o lenguaje de propósito especial, y su uso está limitado a un
dominio de programa específico.
Las sentencias de SQL son operadas en tablas y conjuntos de datos, como por ejemplo
bases de datos de personal y hojas de cálculo de contabilidad. SQL es un lenguaje
declarativo específico de dominio que está limitado a la representación tabular de los
datos.
(www.ehowenespanol.com, 2015)