0% encontró este documento útil (0 votos)
107 vistas20 páginas

PLSQL 1 1

plsl seccio 1.1

Cargado por

Nadia Fino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
107 vistas20 páginas

PLSQL 1 1

plsl seccio 1.1

Cargado por

Nadia Fino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

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.


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
Propósito
•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
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
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
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 solo se usa con


una base de datos de Oracle

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

SELECT employee_id, job_id, hire_date


FROM employees;
•Por ejemplo, ¿cómo escribiría una declaración SQL para actualizar los
datos de job_id con un nuevo valor determinado por el job_id actual y
la fecha de contratación?

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 9
Introducción a PL / SQL
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 DELTRABAJO 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
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
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?


UPDATE employees
SET job_id = 'SR_SA_REP’
WHERE job_id = 'SA_REP' AND
hire_date <= '05-Feb-2005’
UPDATE employees
SET job_id = 'SR_ST_CLERK’
WHERE job_id = 'ST_CLERK' AND
hire_date <= '05-Feb-2005'

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 12
Introducción a PL / SQL
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
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.

DECLARE
CURSOR c_employees IS SELECT * FROM employees;
BEGIN
FOR c_emp in c_employees
LOOP
IF c_emp.job_id = 'SA_REP' AND c_emp.hire_date <= '05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_SA_REP' WHERE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'MK_REP' AND c_emp.hire_date <= '05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_MK_REP' WHERE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'ST_CLERK' AND c_emp.hire_date <= '05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_ST_CLRK' WHERE employee_id = c_emp.employee_id;
END IF;
END LOOP;
END;

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 14
Introducción a PL / SQL
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
ejecutar cuando sea necesario

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 15
Introducción a PL / SQL
Construcciones procedimentales destacadas
•Varias construcciones PL / SQL se destacan a continuación
DECLARE Cursor
CURSOR c_employees IS SELECT * FROM employees;
BEGIN
FOR c_emp in c_employees
LOOP
IF c_emp.job_id = 'SA_REP' AND c_emp.hire_date <='05-Feb-2005' THEN
UPDATE employees
SET job_id = 'SR_SA_REP’
WHERE employee_id = c_emp.employee_id;
Iterative ELSIF c_emp.job_id = 'MK_REP' AND c_emp.hire_date <= '05-Feb-2005‘THEN
Control UPDATE employees
SET job_id = 'SR_MK_REP’
WHERE employee_id = c_emp.employee_id;
ELSIF c_emp.job_id = 'ST_CLERK' AND c_emp.hire_date <='05-Feb-2005‘ THEN
UPDATE employees
SET job_id = 'SR_ST_CLRK’ Conditional
WHERE employee_id = c_emp.employee_id; Control
END IF; SQL
END LOOP;
END;

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. dieciséis
Introducción a PL / SQL
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 muchas
similitudes en la sintaxis.

PLSQL 1-1
Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 17
Introducción a PL / SQL
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
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

También podría gustarte