Está en la página 1de 20

Traducido del inglés al español - www.onlinedoctranslator.

com

1
Programación de bases de datos con
PL / SQL
1-1
Introducción a PL / SQL

Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos.

2
Objetivos
• Esta lección cubre los siguientes objetivos:
-Describe PL / SQL
-Diferenciar entre SQL y PL / SQL
-Explique la necesidad de PL / SQL

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 3
Introducción a PL / SQL

3
Objetivo
• PL / SQL es el lenguaje de programación procedimental de
Oracle Corporation para bases de datos relacionales

• Para describir PL / SQL, aprende sus características


e identifica las diferencias entre PL / SQL y SQL
• Identificar las limitaciones de SQL y cómo PL / SQL aborda
esas limitaciones le ayudará a comprender
por qué se necesita PL / SQL

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 4
Introducción a PL / SQL

4
Descripción PL / SQL
• Extensión del lenguaje de procedimientos a SQL
• Un lenguaje de programación de tercera generación (3GL)
• Un lenguaje de programación patentado por Oracle
• Combina la lógica del programa y el flujo de control con SQL

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 5
Introducción a PL / SQL

5
Evolución / Generaciones de lenguajes de programación:

• 1GL: lenguajes de programación de primera generación; Estos son


lenguajes de nivel de máquina específicos para una CPU en particular.

• 2GL: lenguajes de programación de segunda generación; montaje


lenguajes específicos de una CPU en particular; convertido por un
ensamblador a un lenguaje de máquina; Se utiliza comúnmente para
aplicaciones de procesamiento intensivo y orientadas al rendimiento,
como interfaces de firmware y controladores de hardware.

• 3GL: lenguajes de programación de tercera generación; convertido a


lenguaje de máquina por un compilador; menos críptico y, por lo
tanto, más fácil de programar que los 2GL (por ejemplo, Visual Basic,
C, C ++, COBOL, FORTRAN, Java, Pascal, PL / SQL)

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 6
Introducción a PL / SQL

6
Evolución / Generaciones de lenguajes de programación:
• 4GL: lenguajes de programación de cuarta generación; menos críptico y,
por tanto, más fácil de programar que los 2GL; a diferencia de la amplia
aplicabilidad de los 3GL, la mayoría de los 4GL se utilizan con bases de
datos, para consultas, generación de informes, manipulación de datos, etc.
(p. ej., SQL, MySQL)
• 5GL: lenguajes de programación de quinta generación; generalmente
implican un entorno de desarrollo visual o gráfico que exporta el
lenguaje fuente a un compilador 3GL o 4GL; 5GL mayo
también haga referencia a lenguajes que definen un problema y un conjunto de
restricciones, luego deje que la computadora encuentre una solución; (p. ej.,
sistemas de inteligencia artificial como PROLOG utilizados con Watson de IBM)

• Como lenguaje de programación propietario de Oracle, PL / SQL es


solo se usa con una base de datos Oracle

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 7
Introducción a PL / SQL

7
Descripción SQL
• Un lenguaje sin procedimientos
• También conocido como "lenguaje declarativo", permite al programador
centrarse en la entrada y la salida en lugar de en los pasos del programa.

• Un lenguaje de programación de cuarta generación (4GL)


• Idioma principal utilizado para acceder y modificar datos en bases
de datos relacionales

• Estandarizado por el Instituto Nacional Estadounidense de Estándares


(ANSI)

• Los proveedores como Oracle suelen incluir algunas características de


SQL patentadas en sus entornos de base de datos.

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 8
Introducción a PL / SQL

Aunque PL / SQL se desarrolló después de SQL, SQL es un 4GL mientras que PL / SQL es un 3GL.

Se necesitan tanto SQL como PL / SQL. No son alternativas entre sí. Solo se puede usar SQL para acceder a las tablas de
la base de datos y solo se puede usar PL / SQL para escribir la lógica de procedimiento.

8
Declaración SQL
• La declaración SQL que se muestra es
simple y directa
• Sin embargo, si necesita modificar un elemento de datos de
manera condicional, se encontrará con una limitación de SQL

SELECCIONE ID_empleado, ID_trabajo, fecha_contratación


DE empleados;
• Por ejemplo, ¿cómo escribiría una declaración SQL para
actualizar los datos job_id con un nuevo valor determinado
por el job_id actual y el Hire_date?

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 9
Introducción a PL / SQL

9
Limitaciones de SQL
• Suponga que la empresa decide promover a todos los
representantes de ventas, representantes de marketing y
empleados de almacén empleados durante al menos diez años a
representantes senior y empleados.

• Si la fecha actual es 05-Feb-2015, los representantes de ventas 174, 176,


y 178 califican para la promoción
ID DE EMPLEADO IDENTIFICACIÓN DEL TRABAJO FECHA DE CONTRATACIÓN "NUEVO" JOB_ID

174 SA_REP 11-mayo-1996 SR_SA_REP


176 SA_REP 24 de marzo de 1998 SR_SA_REP
178 SA_REP 24 de mayo de 1999 SR_SA_REP
240 SA_REP 02 de octubre de 2005

242 SA_REP 09-dic-2007

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 10
Introducción a PL / SQL

10
Limitaciones de SQL
• Si la fecha actual es 05-FEB-2015, almacenistas 141,
142, 143 y 144 también califican para la promoción

ID DE EMPLEADO IDENTIFICACIÓN DEL TRABAJO FECHA DE CONTRATACIÓN "NUEVO" JOB_ID

141 ST_CLERK 17 de octubre de 1995 SR_ST_CLERK


142 ST_CLERK 29 de enero de 1997 SR_ST_CLERK
143 ST_CLERK 15 de marzo de 1998 SR_ST_CLERK
144 ST_CLERK 09-julio-1998 SR_ST_CLERK
244 ST_CLERK 07 de septiembre de 2009

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 11
Introducción a PL / SQL

11
Limitaciones de SQL
• Se muestra una solución para actualizar los datos de job_id
• ¿Cuántas declaraciones SQL necesita escribir para
representantes de ventas, representantes de marketing y
empleados de almacén?
• ¿Qué pasa si hay otros job_ids para actualizar?
ACTUALIZAR empleados
SET job_id = 'SR_SA_REP' DONDE
job_id = 'SA_REP' Y
fecha_contratación <= '05 -Feb-2005 '
ACTUALIZAR empleados
SET job_id = 'SR_ST_CLERK' DONDE
job_id = 'ST_CLERK' Y
fecha_contratación <= '05 -Feb-2005 '

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 12
Introducción a PL / SQL

12
Limitaciones de SQL
• Debería escribir una declaración SQL separada para
cada job_id que deba actualizarse
• Dependiendo de la cantidad de job_ids, esta puede ser una
tarea tediosa.
• Sería más fácil escribir una sola declaración para
realizar esta tarea.
• La declaración requeriría lógica, también conocida como lógica
de procedimiento.
• PL / SQL amplía SQL con lógica de procedimiento y hace
posible escribir una declaración para realizar esta tarea

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 13
Introducción a PL / SQL

13
PL / SQL amplía SQL con lógica de procedimiento

• Usando PL / SQL, puede escribir una declaración para promover


los representantes de ventas, los representantes de marketing y los
empleados de almacén.
DECLARAR
CURSOR c_employees ES SELECCIONADO * DE empleados;
EMPEZAR
PARA c_emp en c_employees
LOOP
SI c_emp.job_id = 'SA_REP' Y c_emp.hire_date <= '05 -Feb-2005 'ENTONCES
ACTUALIZAR empleados
SET job_id = 'SR_SA_REP' DONDE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'MK_REP' Y c_emp.hire_date <= '05 -Feb-2005 'ENTONCES
ACTUALIZAR empleados
SET job_id = 'SR_MK_REP' DONDE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'ST_CLERK' Y c_emp.hire_date <= '05 -Feb-2005 'ENTONCES
ACTUALIZAR empleados
SET job_id = 'SR_ST_CLRK' DONDE employee_id END IF; = c_emp.employee_id;

END LOOP;
FIN;

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 14
Introducción a PL / SQL

14
Construcciones procedimentales

• Utiliza PL / SQL para escribir el código de procedimiento e


incrustar declaraciones SQL dentro del código PL / SQL
• El código de procedimiento incluye variables, constantes,
cursores, lógica condicional e iteración.
• Los bloques de código PL / SQL se pueden guardar y nombrar, luego
ejecutado siempre que sea necesario

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 15
Introducción a PL / SQL

A pesar de lo poderoso que es SQL, simplemente no ofrece la flexibilidad y la potencia que los desarrolladores necesitan para crear
aplicaciones completas. El lenguaje PL / SQL de Oracle asegura que podamos permanecer completamente dentro del entorno de
Oracle independiente del sistema operativo y aún escribir aplicaciones altamente eficientes que cumplan con los requisitos de
nuestros usuarios.

15
Construcciones procedimentales destacadas
• Varias construcciones PL / SQL se destacan a continuación
DECLARAR
Cursor
CURSOR c_employees ES SELECCIONADO * DE empleados;
EMPEZAR
PARA c_emp en c_employees
CÍRCULO

SI c_emp.job_id = 'SA_REP' Y c_emp.hire_date <= '05-Feb-2005' ENTONCES


ACTUALIZAR empleados
SET job_id = 'SR_SA_REP'
DONDE employee_id = c_emp.employee_id;
Iterativo ELSIF c_emp.job_id = 'MK_REP' AND c_emp.hire_date <= '05 -Feb-2005'THEN
Control ACTUALIZAR empleados
SET job_id = 'SR_MK_REP'
DONDE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'ST_CLERK' AND c_emp.hire_date <= '05-Feb-2005' ENTONCES
ACTUALIZAR empleados
SET job_id = 'SR_ST_CLRK' Condicional
DONDE employee_id = c_emp.employee_id; Control
TERMINARA SI;
SQL
END LOOP;
FIN;

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos.
Introducción a PL / SQL
dieciséis

dieciséis
Características de PL / SQL
• PL / SQL:
-Es un lenguaje altamente estructurado, legible y accesible.
-Es un lenguaje estándar y portátil para el desarrollo de Oracle.
-Es un lenguaje incrustado y funciona con SQL.
-Es un lenguaje de base de datos de alto rendimiento y altamente integrado.
-Se basa en el lenguaje de programación Ada y tiene muchos
similitudes en la sintaxis

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 17
Introducción a PL / SQL

17
Terminología
• Los términos clave utilizados en esta lección incluyen:
-PL / SQL
-Construcciones procedimentales

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 18
Introducción a PL / SQL

• PL / SQL es el lenguaje de procedimientos de Oracle Corporation para bases de datos relacionales que
permite combinar la lógica del programa y el flujo de control con declaraciones SQL.

• Las construcciones de procedimiento incluyen variables, constantes, cursores, lógica condicional e iteración.

18
Resumen
• En esta lección, debería haber aprendido a:
-Describe PL / SQL
-Diferenciar entre SQL y PL / SQL
-Explique la necesidad de PL / SQL

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 19
Introducción a PL / SQL

19
20

También podría gustarte