Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Introducción a SQL y PL/SQL
1-1
Introducción a SQL y PL/SQL
Orlando Lara Betancourt

Introducción a SQL y PL/SQL
1-2
Contenido
1. Introducción a Bases de Datos
2. Creación y Manejo de Objetos de Bases de Datos
3. Sentencias Basicas de SQL
...
Introducción a Bases de Datos

Introducción a SQL y PL/SQL
1-4
Overview






Conceptos Basicos
Modelo Entidad Relación (MER)
Modelo Relacional de Datos (MRD)
Bases de Datos Oracle...
Conceptos Basicos


Base de Datos: Conjunto de datos estructurados,
almacenados que se consultan a través de
aplicaciones...
Modelo Entidad Relación (MER)


Entidad: Objeto sobre el cual se puede tener
información.



Atributo: Caracteristica de...
Modelo Entidad Relación (MER)

Cliente
# Cedula
Nombre
Direccion
Telefono
Sexo (M/F)

1:n
Tiene

1:1
Pertenece

Introducci...
Modelo Relacional de Datos (MRD)






Estructura Fisica de la Base de Datos
Entidades  Tablas: Singular a Plural
At...
Modelo Relacional de Datos (MRD)

Clientes
# Cedula n(10) NN
Nombre v(50) NN
Direccion v(80)
Telefono v(20)
Sexo (M/F) v(1...
Bases de Datos Oracle

Consulta
de Datos
Manipulación
de Datos

Almacenamiento
de Datos

Introducción a SQL y PL/SQL
1-11
Bases de Datos Oracle



RDBMS (Relational Database Management System)



Garantizar el maximo aprovechamiento de los
r...
Aquitectura de la Base de Datos Oracle

Introducción a SQL y PL/SQL
1-13
Aquitectura de la Base de Datos Oracle

Introducción a SQL y PL/SQL
1-14
Aquitectura de la Base de Datos Oracle
Mandatory Background Processes
DBWn
LGWR
SMON
PMON
CKPT

Introducción a SQL y PL/SQ...
Aquitectura de la Base de Datos Oracle

Introducción a SQL y PL/SQL
1-16
Resumen






Conceptos de Bases de Datos
Modelo Entidad Relación
Modelo Relacional de Datos
Caracteristicas de un RD...
Creación y Manejo de Objetos de
Bases de Datos

Introducción a SQL y PL/SQL
1-18
Overview












Principales Objetos de la Base de Datos
Creación de Tablas
Tipos de Datos en Oracle
Altera...
Principales Objetos de la Base de Datos









Tablas
Vistas
Secuencias
Indices
Sinonimos
Procedimientos
Funcion...
Creacion de Tablas
Create table Empleados (
Codigo number(10) not null primary key,
Nombre varchar2(50) not null,
Salario ...
Tipos de Datos


Tipo Carácter



Tipo Numerico

–
–
–
–
–
–



NUMBER (L,P)

Tipo Fecha
–



CHAR
LONG
NCHAR
NVARCHAR...
Alterando Tablas
Alter table Empleados Add
(Comision number(9,2));

Codigo

Nombre

Salario

Introducción a SQL y PL/SQL
1...
Instrucciones Drop y Truncate
Drop table Empleados;
Elimina la definición de la tabla.
Truncate table Empleados;
Elimina l...
Creación de constraints
ALTER TABLE EMPLEADOS ADD (
CONSTRAINT PK_EMPLEADOS PRIMARY KEY
(CODIGO));
ALTER TABLE EMPLEADOS A...
Creación de Vistas
CREATE OR REPLACE VIEW EMP_DEPTO AS
Select Empleados.Codigo CodEmp,
Empleados.Nombre NomEmp,
Empleados....
Consultando Datos de una Vista
Select CodEmp,NomEmp,
SalEmp,Depto
From EMP_DEPTO;
CodEmp

NomEmp

SalEmp

Depto

10

Andre...
Creación y Uso de las Secuencias
CREATE SEQUENCE SEQEMPLEADOS
START WITH 1
INCREMENT BY 1
MAXVALUE 1E27
MINVALUE 1;

Intro...
Creación y Uso de Indices

CREATE UNIQUE INDEX IDX_CODEMP ON
EMPLEADOS (CODIGO);

CREATE INDEX IDX_NOMEMP ON
EMPLEADOS (NO...
Creacion de Sinonimos
CREATE SYNONYM PEGASO.OBSEMULT FOR
GAS.OBSEMULT@DESA;
CREATE PUBLIC SYNONYM PEGASO.OBSEMULT
FOR GAS....
Resumen








Objetos de Bases de Datos
Tablas
Constraints
Vistas
Secuencias
Indices
Sinonimos

Introducción a SQ...
Sentencias Basicas de SQL

Introducción a SQL y PL/SQL
1-32
Overview




Instrucción Select



Instrucción Order by

Limitando la cantidad de registros (Where)
Desplegar datos de...
Instrucción Select
Select *
From Empleados;
Codigo

Nombre

Empleados
#Codigo
Nombre
Salario
Salario

10

Andres Escobar R...
Limitando la Cantidad de Registros
Select *
From Empleados
Where Salario > 10000;
Codigo

Nombre

Salario

30

Juan Manuel...
Desplegar Datos de Multiples Tablas
Deptos
#Codigo
Nombre

Codigo

1:n
Tiene

1:1
Pertenece

Empleados
#Codigo
Nombre
Sala...
Desplegar Datos de Multiples Tablas
Select Empleados.Codigo,
Empleados.Nombre,
Empleados.salario,
Deptos.Nombre Depto

Ali...
Instrucción Order By
Select Empleados.Codigo,
Empleados.Nombre,
Empleados.Salario,
From

Empleados

Order

by Empleados.Sa...
Resumen


Instrucciones básicas de SQL para consultar
datos.
–

Select

–

Where

–

Alias

–

Joins

–

Order by

Introd...
Manipulación de Datos con SQL

Introducción a SQL y PL/SQL
1-40
Overview





Insertando Datos (Insert)
Actualizando Datos (Update)
Eliminando Información (Delete)
Control de Transac...
Insertando Datos (insert)
Insert into Empleados
Values (60,’Jota Mario Valencia’,
3000,10);
Empleados
Codigo

 60

Nombre...
Insertando Datos (insert)
Insert into Empleados
(Codigo,Nombre,Salario,Depto)
Values (60,’Jota Mario Valencia’,
3000,10);
...
Actualizando Datos (update)
Update Empleados
Set Depto = 10;
Codigo

Nombre

Salario

Depto

10

Andres Escobar R

10000

...
Eliminado Datos (delete)
Delete Empleados
Where Codigo = 10;
Codigo

Nombre

20

Carlos Velasquez

30

Salario

Depto

500...
Control de Transacciones


Commit
–



Rollback
–



Commit;
Rollback;

Save Point
–

Save Point <Nombre>

Introducción...
Resumen


Instrucciones SQL para manipular datos.

– Insert
– Update
– Delete
– Commit
– Rollback

Introducción a SQL y P...
Control de Acceso

Introducción a SQL y PL/SQL
1-48
Overview


Conceptos:
–
–

Privilegios

–



Usuarios
Roles

Otorgar (Grant) y Revocar (Revoke) Privilegios
a los objeto...
Conceptos


Usuarios: SYS y SYSTEM
CREATE USER ORLANDOL
IDENTIFIED BY VALUES 'ECE5A72B8C80CBE3’;



Privilegios
- Tablas...
Conceptos


Roles: Facilita la administración
–

Roles de Aplicación: Conjunto de privilegios
necesarios para ejecutar la...
Otorgar (Grant) y Revocar (Revoke)
Accesos a los objetos de la Base de Datos
GRANT DELETE, INSERT, SELECT, UPDATE
ON

ACTA...
Ejemplo de Uso de Seguridad

Introducción a SQL y PL/SQL
1-53
Resumen





Usuarios
Roles
Privilegios
Manejo de Seguridad de Datos en Oracle

Introducción a SQL y PL/SQL
1-54
6
Fundamentos de PL/SQL

Introducción a SQL y PL/SQL
1-55
Overview


Declaración de Variables
–
–

NOT NULL

–

%TYPE

–






DEFAULT

%ROWTYPE

Convenciones de Nombres de va...
Declaración de Variables
sbCadena varchar2(50);
nuValor

number (9,2);

dtFecha

date;

blExiste boolean;
nuCodigo Emplead...
Convenciones de Nombres de Variables








sb  Cadena
nu  Numerico
dt  Fecha
bl  Booleano
rt  Registro
cu  ...
Asignación de Valores a las variables
nuValor Empleados.Codigo%type;
...
nuValor := 25
select Codigo
into nuValor
from Emp...
Expresiones y Comparaciones


Precedencia de Operación

Introducción a SQL y PL/SQL
1-60
Expresiones y Comparaciones


Operaadores Logicos

Introducción a SQL y PL/SQL
1-61
Expresiones y Comparaciones


Operadores de Comparación

Introducción a SQL y PL/SQL
1-62
Expresiones y Comparaciones


IS NULL
–



BETWEEN
–



IF Variable IS NULL THEN ...
45 BETWEEN 38 AND 44

IN y NOT IN
...
Expresiones y Comparaciones
DECODE
SELECT DECODE
(codigo,NULL,0,10,’A’,20,’B’) VALOR
FROM EMPLEADOS;

Introducción a SQL y...
Expresiones y Comparaciones
CASE
select

sysdate fecha, to_number(TO_CHAR(sysdate, 'SS')) Minuto, 'Segundos ' ||
CASE
WHEN...
Funciones del Lenguaje (Tabla DUAL)

Introducción a SQL y PL/SQL
1-66
Resumen







Fundamentos básicos de PL/SQL
Declaracion de Variables
Convenciones
Asignación de Valores a Variables...
7
Estructuras de Control

Introducción a SQL y PL/SQL
1-68
Overview


Condicionales
–
–

IF-THEN-ELSE

–



IF-THEN
IF-THEN-ELSIF

Iteraciones
–

LOOP

–

WHILE

–

FOR

Introducc...
Condicionales


IF – THEN
IF condicion THEN
secuencia de instrucciones
END IF;

Ejemplo:
IF codigo = 5 THEN
nuValor := 50...
Condicionales


IF – THEN – ELSE
IF condicion THEN
secuencia de instrucciones 1;
ELSE
secuencia de instrucciones 2;
END I...
Condicionales


IF – THEN – ELSIF
IF condicion1 THEN
secuencia de instrucciones 1;
ELSIF condicion2 THEN
secuencia de ins...
Iteraciones


LOOP
LOOP
secuencia de instrucciones;
END LOOP;



EXIT – EXIT WHEN
LOOP

LOOP

IF condicion THEN

...

.....
Iteraciones


WHILE – LOOP
WHILE condicion LOOP
secuencia de instrucciones
END LOOP;

Ejemplo
WHILE total <=25000 LOOP
to...
Iteraciones


FOR – LOOP
FOR contador IN [REVERSE] desde..hasta
LOOP
secuencia de instrucciones;
END LOOP;

Ejemplo:
FOR ...
Resumen



Estructuras de Control
Condicionales
–
–

IF – THEN – ELSE

–



IF – THEN
IF – THEN – ELSIF

Iteraciones
–
...
8
PL/SQL y su Interacción con Oracle

Introducción a SQL y PL/SQL
1-77
Overview



Caracteristicas de PL/SQL





Paso de Parametros a los cursores

Manejo de Cursores
–
–

Implicit
Explic...
Caracteristicas de PL/SQL







Soporte de SQL
Soporta Programación Orientada a Objetos
Mejor Perfomance
Portable
I...
Manejo de Cursores


Explicit Cursor
–



Comandos: OPEN, FETCH, CLOSE.

Declaración

DECLARE
CURSOR <Nombre>
[(parametr...
Manejo de Cursores
Declare
cursor cuEmpleados is
select codigo,nombre
from empleados
where salario > 1000;
nuCodigo Emplea...
Manejo de Cursores


Implicit Cursor
–

No utilizan las instrucciones OPEN, FETCH y CLOSE.

–

Utilizan Atributos de los ...
Manejo de Cursores


FOR CURSOR
declare
cursor cuEmpleados is
select codigo,nombre
from
Empleados
where Salario > 1000;
b...
Paso de Parametros a Cursores
DECLARE
CURSOR cuEmpleados (nuSalario number) is
SELECT codigo,nombre
FROM

Empleados

WHERE...
Variables tipo cursor
DECLARE
CURSOR cuEmpleados is
SELECT *
FROM

Empleados;

rtEmp cuEmpleados%rowtype;
BEGIN
OPEN cuEmp...
Atributos de los Cursores


%FOUND: Es verdadero si se encontraron registros
del cursor.



%NOTFOUND: Es verdadero si N...
Resumen



Uso de SQL y PL/SQL
Uso de los Cursores
–
–





Implicit
Explicit

FOR CURSOR
Parametros de los cursores
...
9
Manejo de Errores

Introducción a SQL y PL/SQL
1-88
Overview




Instrucción Exception
User-Defined Exception
Mensajes de Error

Introducción a SQL y PL/SQL
1-89
Instrucción Exception


En Oracle las Advertencias o Mensajes de Error son
llamados Excepciones (Exception).



Permite ...
Instrucción Exception

Introducción a SQL y PL/SQL
1-91
User Define Exception


Declaración
DECLARE null_salary EXCEPTION;



Inicializa la variable de Error
PRAGMA EXCEPTION_I...
Mensajes de Error





Utilizacion de Tablas de Mensaje
Funcion que retorne Mensaje Ej: fsbMensaje();
Mensajes Oracle ...
Resumen




Manejo de errores Exception
Usos de las Excepciones
Mensajes de Error

Introducción a SQL y PL/SQL
1-94
10
Creación de SubProgramas y
Paquetes

Introducción a SQL y PL/SQL
1-95
Overview


SubProgramas
–
–



Funciones
Procedimientos

Paquetes

Introducción a SQL y PL/SQL
1-96
SubProgramas


Funciones
CREATE OR REPLACE
FUNCTION nombre (parametro1,parametro2)
return <tipo de dato> IS|AS
declaracio...
SubProgramas


Funciones (Uso de RETURN)
CREATE OR REPLACE
FUNCTION balance (cuenta number) RETURN number
IS
declaracione...
SubProgramas


Procedimientos: Ejecuta Acción especifica

CREATE OR REPLACE
PROCEDURE inserta_tabla IS
declaraciones loca...
Paquetes


Especificación

Introducción a SQL y PL/SQL
1-100
Paquetes


Package Body

Introducción a SQL y PL/SQL
1-101
Resumen


Objetos de Bases de Datos
–

Funciones

–

Procedimientos

–

Paquetes

Introducción a SQL y PL/SQL
1-102
P&
R
Introducción a SQL y PL/SQL
1-103
Nächste SlideShare
Wird geladen in …5
×

Intro sql y plsql

1.361 Aufrufe

Veröffentlicht am

Curso básico ORACLE SQL y PL/SQL

Veröffentlicht in: Technologie
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy &amp; Proven Way to Build Good Habits &amp; Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Busco #Desarrollador #PLSQL para DF-Sur. Enviar CV a sergio.mercado@enl.com.mx o por skype sermh78
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Intro sql y plsql

  1. 1. Introducción a SQL y PL/SQL 1-1
  2. 2. Introducción a SQL y PL/SQL Orlando Lara Betancourt Introducción a SQL y PL/SQL 1-2
  3. 3. Contenido 1. Introducción a Bases de Datos 2. Creación y Manejo de Objetos de Bases de Datos 3. Sentencias Basicas de SQL 4. Manipulación de Datos con SQL 5. Control de Acceso 6. Fundamentos de PL/SQL 7. Estructuras de Control 8. PL/SQL y su interacción con Oracle 9. Manejo de Errores 10.Creación de SubProgramas Introducción a SQL y PL/SQL 1-3
  4. 4. Introducción a Bases de Datos Introducción a SQL y PL/SQL 1-4
  5. 5. Overview      Conceptos Basicos Modelo Entidad Relación (MER) Modelo Relacional de Datos (MRD) Bases de Datos Oracle Arquitectura de Bases de Datos Oracle Introducción a SQL y PL/SQL 1-5
  6. 6. Conceptos Basicos  Base de Datos: Conjunto de datos estructurados, almacenados que se consultan a través de aplicaciones.  Diseño de Bases de datos – Conceptual: Especificación de la realidad – Lógico: Descripcion de la estructura de la BD – Fisico: Implementación de la Estructura Introducción a SQL y PL/SQL 1-6
  7. 7. Modelo Entidad Relación (MER)  Entidad: Objeto sobre el cual se puede tener información.  Atributo: Caracteristica de la entidad –  Relación: Asociación entre dos o mas Entidades –  Dominio: Conjunto de valores de un atributo Cardinalidad: Numero de correspondencias. Identificador: Atributo que identifica una única ocurrencia de la Entidad. Introducción a SQL y PL/SQL 1-7
  8. 8. Modelo Entidad Relación (MER) Cliente # Cedula Nombre Direccion Telefono Sexo (M/F) 1:n Tiene 1:1 Pertenece Introducción a SQL y PL/SQL 1-8 Factura # No Fact Fecha Valor
  9. 9. Modelo Relacional de Datos (MRD)      Estructura Fisica de la Base de Datos Entidades  Tablas: Singular a Plural Atributos  Campos Identificador  Campo Clave Normalización: Proceso estandar para evitar: – Redundancia de Información – Inconsistencia de Información – Perdida de Información en Cascada – Anomalias de Inserción Introducción a SQL y PL/SQL 1-9
  10. 10. Modelo Relacional de Datos (MRD) Clientes # Cedula n(10) NN Nombre v(50) NN Direccion v(80) Telefono v(20) Sexo (M/F) v(1) 1:n Tiene 1:1 Pertenece Introducción a SQL y PL/SQL 1-10 Facturas # No Fact n(4) NN Fecha date Valor n(9,2) Cedula n(10) NN
  11. 11. Bases de Datos Oracle Consulta de Datos Manipulación de Datos Almacenamiento de Datos Introducción a SQL y PL/SQL 1-11
  12. 12. Bases de Datos Oracle   RDBMS (Relational Database Management System)  Garantizar el maximo aprovechamiento de los recursos.  Esta formado por dos Elementos: Administración de recursos (Hardware) del Sistema. – Datos: Conforman la propia BD y son de dos tipos: – Diccionario de datos: BD de los Objetos y seguridad – Datos: Datos del Usuario – Tratamientos: Aplicaciones para el manejo de los datos (SQL Plus, DBA Studio, OEM, Forms, etc) Introducción a SQL y PL/SQL 1-12
  13. 13. Aquitectura de la Base de Datos Oracle Introducción a SQL y PL/SQL 1-13
  14. 14. Aquitectura de la Base de Datos Oracle Introducción a SQL y PL/SQL 1-14
  15. 15. Aquitectura de la Base de Datos Oracle Mandatory Background Processes DBWn LGWR SMON PMON CKPT Introducción a SQL y PL/SQL 1-15
  16. 16. Aquitectura de la Base de Datos Oracle Introducción a SQL y PL/SQL 1-16
  17. 17. Resumen      Conceptos de Bases de Datos Modelo Entidad Relación Modelo Relacional de Datos Caracteristicas de un RDBMS Arquitectura de la Base de Datos Oracle Introducción a SQL y PL/SQL 1-17
  18. 18. Creación y Manejo de Objetos de Bases de Datos Introducción a SQL y PL/SQL 1-18
  19. 19. Overview            Principales Objetos de la Base de Datos Creación de Tablas Tipos de Datos en Oracle Alterando Tablas Instrucciones Drop y Truncate Creación de constraints Creación de Vistas Consultando datos de una vista Creación y Uso de Secuencias Creación y Uso de Indices Creación de Sinonimos Introducción a SQL y PL/SQL 1-19
  20. 20. Principales Objetos de la Base de Datos         Tablas Vistas Secuencias Indices Sinonimos Procedimientos Funciones Paquetes Introducción a SQL y PL/SQL 1-20
  21. 21. Creacion de Tablas Create table Empleados ( Codigo number(10) not null primary key, Nombre varchar2(50) not null, Salario number (9,2) default 0, Depto number(4)); Codigo Nombre Salario Introducción a SQL y PL/SQL 1-21 Depto
  22. 22. Tipos de Datos  Tipo Carácter  Tipo Numerico – – – – – –  NUMBER (L,P) Tipo Fecha –  CHAR LONG NCHAR NVARCHAR2 VARCHAR2 DATE LOB Introducción a SQL y PL/SQL 1-22
  23. 23. Alterando Tablas Alter table Empleados Add (Comision number(9,2)); Codigo Nombre Salario Introducción a SQL y PL/SQL 1-23 Depto Comision
  24. 24. Instrucciones Drop y Truncate Drop table Empleados; Elimina la definición de la tabla. Truncate table Empleados; Elimina los datos de la tabla Introducción a SQL y PL/SQL 1-24
  25. 25. Creación de constraints ALTER TABLE EMPLEADOS ADD ( CONSTRAINT PK_EMPLEADOS PRIMARY KEY (CODIGO)); ALTER TABLE EMPLEADOS ADD ( CONSTRAINT FK_EMPL_DPTO FOREIGN KEY (DEPTO) REFERENCES DEPTOS (CODIGO)); Introducción a SQL y PL/SQL 1-25
  26. 26. Creación de Vistas CREATE OR REPLACE VIEW EMP_DEPTO AS Select Empleados.Codigo CodEmp, Empleados.Nombre NomEmp, Empleados.Salario SalEmp, Deptos.Nombre Depto From Empleados,Deptos Where Empleado.Depto = Deptos.Codigo; Introducción a SQL y PL/SQL 1-26
  27. 27. Consultando Datos de una Vista Select CodEmp,NomEmp, SalEmp,Depto From EMP_DEPTO; CodEmp NomEmp SalEmp Depto 10 Andres Escobar R 10000 Ventas 20 Carlos Velasquez 30 Juan Manuel Rivas 20000 Ventas 40 Jose Juaquin Velez 50000 Recursos Humanos 50 Mario Hernandez 5000 Planeación 1000 Ventas Introducción a SQL y PL/SQL 1-27
  28. 28. Creación y Uso de las Secuencias CREATE SEQUENCE SEQEMPLEADOS START WITH 1 INCREMENT BY 1 MAXVALUE 1E27 MINVALUE 1; Introducción a SQL y PL/SQL 1-28
  29. 29. Creación y Uso de Indices CREATE UNIQUE INDEX IDX_CODEMP ON EMPLEADOS (CODIGO); CREATE INDEX IDX_NOMEMP ON EMPLEADOS (NOMBRE); Introducción a SQL y PL/SQL 1-29
  30. 30. Creacion de Sinonimos CREATE SYNONYM PEGASO.OBSEMULT FOR GAS.OBSEMULT@DESA; CREATE PUBLIC SYNONYM PEGASO.OBSEMULT FOR GAS.OBSEMULT@DESA; CREATE PUBLIC DATABASE LINK DESA CONNECT TO DESA IDENTIFIED BY ud953_f1 USING 'DESA'; Introducción a SQL y PL/SQL 1-30
  31. 31. Resumen        Objetos de Bases de Datos Tablas Constraints Vistas Secuencias Indices Sinonimos Introducción a SQL y PL/SQL 1-31
  32. 32. Sentencias Basicas de SQL Introducción a SQL y PL/SQL 1-32
  33. 33. Overview    Instrucción Select  Instrucción Order by Limitando la cantidad de registros (Where) Desplegar datos de multiples tablas (Uso de Joins) Introducción a SQL y PL/SQL 1-33
  34. 34. Instrucción Select Select * From Empleados; Codigo Nombre Empleados #Codigo Nombre Salario Salario 10 Andres Escobar R 10000 20 Carlos Velasquez 5000 30 Juan Manuel Rivas 20000 40 Jose Juaquin Velez 50000 50 Mario Hernandez 1000 Introducción a SQL y PL/SQL 1-34
  35. 35. Limitando la Cantidad de Registros Select * From Empleados Where Salario > 10000; Codigo Nombre Salario 30 Juan Manuel Rivas 20000 40 Jose Juaquin Velez 50000 La clausula Where determina la condición de la consulta Introducción a SQL y PL/SQL 1-35
  36. 36. Desplegar Datos de Multiples Tablas Deptos #Codigo Nombre Codigo 1:n Tiene 1:1 Pertenece Empleados #Codigo Nombre Salario Depto Nombre 10 Recursos Humanos 20 Ventas 30 Planeación Introducción a SQL y PL/SQL 1-36
  37. 37. Desplegar Datos de Multiples Tablas Select Empleados.Codigo, Empleados.Nombre, Empleados.salario, Deptos.Nombre Depto Alias From Empleados,Deptos Where Empleados.Depto = Deptos.Codigo; Codigo Nombre Salario Depto 10 Andres Escobar R 10000 Ventas 20 Carlos Velasquez 30 Juan Manuel Rivas 20000 Ventas 40 Jose Juaquin Velez 50000 Recursos Humanos 50 Mario Hernandez 5000 Planeación 1000 Ventas Introducción a SQL y PL/SQL 1-37
  38. 38. Instrucción Order By Select Empleados.Codigo, Empleados.Nombre, Empleados.Salario, From Empleados Order by Empleados.Salario; Codigo Nombre Salario Depto 50 Mario Hernandez 1000 Ventas 20 Carlos Velasquez 5000 Planeación 10 Andres Escobar R 10000 Ventas 30 Juan Manuel Rivas 20000 Ventas 40 Jose Juaquin Velez 50000 Recursos Humanos Introducción a SQL y PL/SQL 1-38
  39. 39. Resumen  Instrucciones básicas de SQL para consultar datos. – Select – Where – Alias – Joins – Order by Introducción a SQL y PL/SQL 1-39
  40. 40. Manipulación de Datos con SQL Introducción a SQL y PL/SQL 1-40
  41. 41. Overview     Insertando Datos (Insert) Actualizando Datos (Update) Eliminando Información (Delete) Control de Transacciones (Commit - Rollback) Introducción a SQL y PL/SQL 1-41
  42. 42. Insertando Datos (insert) Insert into Empleados Values (60,’Jota Mario Valencia’, 3000,10); Empleados Codigo  60 Nombre Jota Mario Valencia Salario 3000 Introducción a SQL y PL/SQL 1-42 Depto 10
  43. 43. Insertando Datos (insert) Insert into Empleados (Codigo,Nombre,Salario,Depto) Values (60,’Jota Mario Valencia’, 3000,10); Empleados Codigo  60 Nombre Jota Mario Valencia Salario 3000 Introducción a SQL y PL/SQL 1-43 Depto 10
  44. 44. Actualizando Datos (update) Update Empleados Set Depto = 10; Codigo Nombre Salario Depto 10 Andres Escobar R 10000 10 20 Carlos Velasquez 5000 10 30 Juan Manuel Rivas 20000 10 40 Jose Juaquin Velez 50000 10 50 Mario Hernandez 1000 10 Introducción a SQL y PL/SQL 1-44
  45. 45. Eliminado Datos (delete) Delete Empleados Where Codigo = 10; Codigo Nombre 20 Carlos Velasquez 30 Salario Depto 5000 10 Juan Manuel Rivas 20000 10 40 Jose Juaquin Velez 50000 10 50 Mario Hernandez 1000 10 Introducción a SQL y PL/SQL 1-45
  46. 46. Control de Transacciones  Commit –  Rollback –  Commit; Rollback; Save Point – Save Point <Nombre> Introducción a SQL y PL/SQL 1-46
  47. 47. Resumen  Instrucciones SQL para manipular datos. – Insert – Update – Delete – Commit – Rollback Introducción a SQL y PL/SQL 1-47
  48. 48. Control de Acceso Introducción a SQL y PL/SQL 1-48
  49. 49. Overview  Conceptos: – – Privilegios –  Usuarios Roles Otorgar (Grant) y Revocar (Revoke) Privilegios a los objetos de la Base de Datos Introducción a SQL y PL/SQL 1-49
  50. 50. Conceptos  Usuarios: SYS y SYSTEM CREATE USER ORLANDOL IDENTIFIED BY VALUES 'ECE5A72B8C80CBE3’;  Privilegios - Tablas - Vistas - Secuencias - Procedimientos - Funciones - Paquetes  DML (Data Manipulation) DDL (Data Definition) Labor de DBA Introducción a SQL y PL/SQL 1-50
  51. 51. Conceptos  Roles: Facilita la administración – Roles de Aplicación: Conjunto de privilegios necesarios para ejecutar la Aplicación. – Roles de Usuario: Se crea un role para un grupo de usuarios con privilegios comunes. CREATE ROLE ROLGAS; Introducción a SQL y PL/SQL 1-51
  52. 52. Otorgar (Grant) y Revocar (Revoke) Accesos a los objetos de la Base de Datos GRANT DELETE, INSERT, SELECT, UPDATE ON ACTA TO ROLGAS; GRANT EXECUTE ON PROLEGALIZAR TO JUANCM; REVOKE DELETE, INSERT, SELECT, UPDATE ON ACTA FROM ROLGAS; Introducción a SQL y PL/SQL 1-52
  53. 53. Ejemplo de Uso de Seguridad Introducción a SQL y PL/SQL 1-53
  54. 54. Resumen     Usuarios Roles Privilegios Manejo de Seguridad de Datos en Oracle Introducción a SQL y PL/SQL 1-54
  55. 55. 6 Fundamentos de PL/SQL Introducción a SQL y PL/SQL 1-55
  56. 56. Overview  Declaración de Variables – – NOT NULL – %TYPE –     DEFAULT %ROWTYPE Convenciones de Nombres de variables Asignación de Valores a las variables Expresiones y Comparaciones Funciones del Lenguaje Introducción a SQL y PL/SQL 1-56
  57. 57. Declaración de Variables sbCadena varchar2(50); nuValor number (9,2); dtFecha date; blExiste boolean; nuCodigo Empleados.Codigo%type; rtEmp Empleados%rowtype; nuValor number(9,2) DEFAULT –1; sbCadena varchar2(50) NOT NULL := ‘CADENA’; Introducción a SQL y PL/SQL 1-57
  58. 58. Convenciones de Nombres de Variables        sb  Cadena nu  Numerico dt  Fecha bl  Booleano rt  Registro cu  Cursores cn  Constante Introducción a SQL y PL/SQL 1-58
  59. 59. Asignación de Valores a las variables nuValor Empleados.Codigo%type; ... nuValor := 25 select Codigo into nuValor from Empleados where Codigo = 25; Introducción a SQL y PL/SQL 1-59
  60. 60. Expresiones y Comparaciones  Precedencia de Operación Introducción a SQL y PL/SQL 1-60
  61. 61. Expresiones y Comparaciones  Operaadores Logicos Introducción a SQL y PL/SQL 1-61
  62. 62. Expresiones y Comparaciones  Operadores de Comparación Introducción a SQL y PL/SQL 1-62
  63. 63. Expresiones y Comparaciones  IS NULL –  BETWEEN –  IF Variable IS NULL THEN ... 45 BETWEEN 38 AND 44 IN y NOT IN – –  WHERE CODIGO IN (2,3,4) WHERE NOT IN (6,7) CONCATENAR – ‘suite’||’case’  ‘suitecase’ Introducción a SQL y PL/SQL 1-63
  64. 64. Expresiones y Comparaciones DECODE SELECT DECODE (codigo,NULL,0,10,’A’,20,’B’) VALOR FROM EMPLEADOS; Introducción a SQL y PL/SQL 1-64
  65. 65. Expresiones y Comparaciones CASE select sysdate fecha, to_number(TO_CHAR(sysdate, 'SS')) Minuto, 'Segundos ' || CASE WHEN (to_number(TO_CHAR(sysdate, 'SS')) IS NULL) THEN 'Nulos' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 0) THEN 'Cero' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 1) THEN 'Uno' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 2) THEN 'Dos' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 3) THEN 'Tres' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 4) THEN 'Cuatro' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 5) THEN 'Cinco' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 6) THEN 'Seis' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 7) THEN 'Siete' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 8) THEN 'Ocho' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 9) THEN 'Nueve' WHEN (to_number(TO_CHAR(sysdate, 'SS')) = 10) THEN 'Diez' WHEN (to_number(TO_CHAR(sysdate, 'SS')) > 10 AND to_number(TO_CHAR(sysdate, 'SS')) < 31) THEN 'entre 11 y 30' WHEN (to_number(TO_CHAR(sysdate, 'SS')) in (31,32,33,34,35,36,37,38,39)) THEN 'in (31,32,33,34,35,36,37,38,39)' ELSE 'entre 40 y 59' END as Opcion from dual Introducción a SQL y PL/SQL 1-65
  66. 66. Funciones del Lenguaje (Tabla DUAL) Introducción a SQL y PL/SQL 1-66
  67. 67. Resumen       Fundamentos básicos de PL/SQL Declaracion de Variables Convenciones Asignación de Valores a Variables Expresiones y Comparaciones Funciones del Lenguaje Introducción a SQL y PL/SQL 1-67
  68. 68. 7 Estructuras de Control Introducción a SQL y PL/SQL 1-68
  69. 69. Overview  Condicionales – – IF-THEN-ELSE –  IF-THEN IF-THEN-ELSIF Iteraciones – LOOP – WHILE – FOR Introducción a SQL y PL/SQL 1-69
  70. 70. Condicionales  IF – THEN IF condicion THEN secuencia de instrucciones END IF; Ejemplo: IF codigo = 5 THEN nuValor := 50000; END IF; Introducción a SQL y PL/SQL 1-70
  71. 71. Condicionales  IF – THEN – ELSE IF condicion THEN secuencia de instrucciones 1; ELSE secuencia de instrucciones 2; END IF; Ejemplo IF codigo = 5 THEN nuValor := 50000; ELSE nuValor := 10; END IF; Introducción a SQL y PL/SQL 1-71
  72. 72. Condicionales  IF – THEN – ELSIF IF condicion1 THEN secuencia de instrucciones 1; ELSIF condicion2 THEN secuencia de instrucciones 2; ELSE secuencia de instrucciones 3; END IF; Introducción a SQL y PL/SQL 1-72
  73. 73. Iteraciones  LOOP LOOP secuencia de instrucciones; END LOOP;  EXIT – EXIT WHEN LOOP LOOP IF condicion THEN ... ... EXIT WHEN a<5; EXIT; END LOOP; END IF; END LOOP; Introducción a SQL y PL/SQL 1-73
  74. 74. Iteraciones  WHILE – LOOP WHILE condicion LOOP secuencia de instrucciones END LOOP; Ejemplo WHILE total <=25000 LOOP total := total + 20; ... END LOOP; Introducción a SQL y PL/SQL 1-74
  75. 75. Iteraciones  FOR – LOOP FOR contador IN [REVERSE] desde..hasta LOOP secuencia de instrucciones; END LOOP; Ejemplo: FOR i IN 1..10 LOOP ... total := total + (i*10); END LOOP; Introducción a SQL y PL/SQL 1-75
  76. 76. Resumen   Estructuras de Control Condicionales – – IF – THEN – ELSE –  IF – THEN IF – THEN – ELSIF Iteraciones – LOOP – WHILE – FOR Introducción a SQL y PL/SQL 1-76
  77. 77. 8 PL/SQL y su Interacción con Oracle Introducción a SQL y PL/SQL 1-77
  78. 78. Overview   Caracteristicas de PL/SQL    Paso de Parametros a los cursores Manejo de Cursores – – Implicit Explicit Variables tipo cursor Atributos de los cursores – – – – %FOUND %NOTFOUND %ISOPEN %ROWCOUNT Introducción a SQL y PL/SQL 1-78
  79. 79. Caracteristicas de PL/SQL       Soporte de SQL Soporta Programación Orientada a Objetos Mejor Perfomance Portable Integrado con SQL Manejo de Seguridad Introducción a SQL y PL/SQL 1-79
  80. 80. Manejo de Cursores  Explicit Cursor –  Comandos: OPEN, FETCH, CLOSE. Declaración DECLARE CURSOR <Nombre> [(parametro1,parametro2...)] IS instrucción SELECT... Introducción a SQL y PL/SQL 1-80
  81. 81. Manejo de Cursores Declare cursor cuEmpleados is select codigo,nombre from empleados where salario > 1000; nuCodigo Empleados.Codigo%type; sbNombre Empleados.Nombre%type; Begin open cuEmpleados; fetch cuEmpleados into nuCodigo,sbNombre; ... close cuEmpleados; End; Introducción a SQL y PL/SQL 1-81
  82. 82. Manejo de Cursores  Implicit Cursor – No utilizan las instrucciones OPEN, FETCH y CLOSE. – Utilizan Atributos de los Cursores para determinar el estado del cursor. Ejemplo: ... SELECT codigo INTO nuValor FROM Empleados; Introducción a SQL y PL/SQL 1-82
  83. 83. Manejo de Cursores  FOR CURSOR declare cursor cuEmpleados is select codigo,nombre from Empleados where Salario > 1000; begin For rtEmp in cuEmpleados loop ... rtEmp.Codigo ... rtEmp.Nombre ... end loop; end; Introducción a SQL y PL/SQL 1-83
  84. 84. Paso de Parametros a Cursores DECLARE CURSOR cuEmpleados (nuSalario number) is SELECT codigo,nombre FROM Empleados WHERE Salario > nuSalario; Introducción a SQL y PL/SQL 1-84
  85. 85. Variables tipo cursor DECLARE CURSOR cuEmpleados is SELECT * FROM Empleados; rtEmp cuEmpleados%rowtype; BEGIN OPEN cuEmpleados FETCH cuEmpleados into rtEmp; .. CLOSE cuEmpleados; Introducción a SQL y PL/SQL 1-85
  86. 86. Atributos de los Cursores  %FOUND: Es verdadero si se encontraron registros del cursor.  %NOTFOUND: Es verdadero si NO se encontraron registros del cursor.  %ISOPEN: Es verdadero si el cursor está abierto.  %ROWCOUNT: Devuleve la cantidad de registros que retorna el cursor. Introducción a SQL y PL/SQL 1-86
  87. 87. Resumen   Uso de SQL y PL/SQL Uso de los Cursores – –    Implicit Explicit FOR CURSOR Parametros de los cursores Atributos de los cursores Introducción a SQL y PL/SQL 1-87
  88. 88. 9 Manejo de Errores Introducción a SQL y PL/SQL 1-88
  89. 89. Overview    Instrucción Exception User-Defined Exception Mensajes de Error Introducción a SQL y PL/SQL 1-89
  90. 90. Instrucción Exception  En Oracle las Advertencias o Mensajes de Error son llamados Excepciones (Exception).  Permite capturar los errores del sistema y mantener un control sobre las aplicaciones.  Pueden ser predefinidas o creadas por el programador  Introducción a SQL y PL/SQL 1-90
  91. 91. Instrucción Exception Introducción a SQL y PL/SQL 1-91
  92. 92. User Define Exception  Declaración DECLARE null_salary EXCEPTION;  Inicializa la variable de Error PRAGMA EXCEPTION_INIT (null_salary,-60); DECLARE null_salary EXCEPTION; PRAGMA EXCEPTION_INIT (null_salary,-60); BEGIN ... RAISE null_salary; EXCEPTION WHEN null_salary THEN -- Manejo del Error Introducción a SQL y PL/SQL 1-92
  93. 93. Mensajes de Error     Utilizacion de Tablas de Mensaje Funcion que retorne Mensaje Ej: fsbMensaje(); Mensajes Oracle SQLERRM Mensajes ORA-XX Introducción a SQL y PL/SQL 1-93
  94. 94. Resumen    Manejo de errores Exception Usos de las Excepciones Mensajes de Error Introducción a SQL y PL/SQL 1-94
  95. 95. 10 Creación de SubProgramas y Paquetes Introducción a SQL y PL/SQL 1-95
  96. 96. Overview  SubProgramas – –  Funciones Procedimientos Paquetes Introducción a SQL y PL/SQL 1-96
  97. 97. SubProgramas  Funciones CREATE OR REPLACE FUNCTION nombre (parametro1,parametro2) return <tipo de dato> IS|AS declaraciones locales; BEGIN -- Instrucciones EXCEPTION -- Manejo de Errores END; Introducción a SQL y PL/SQL 1-97
  98. 98. SubProgramas  Funciones (Uso de RETURN) CREATE OR REPLACE FUNCTION balance (cuenta number) RETURN number IS declaraciones locales; BEGIN -- Instrucciones return nuValor; EXCEPTION -- Manejo de Errores END; Introducción a SQL y PL/SQL 1-98
  99. 99. SubProgramas  Procedimientos: Ejecuta Acción especifica CREATE OR REPLACE PROCEDURE inserta_tabla IS declaraciones locales; BEGIN -- Instrucciones EXCEPTION -- Manejo de Errores END; Introducción a SQL y PL/SQL 1-99
  100. 100. Paquetes  Especificación Introducción a SQL y PL/SQL 1-100
  101. 101. Paquetes  Package Body Introducción a SQL y PL/SQL 1-101
  102. 102. Resumen  Objetos de Bases de Datos – Funciones – Procedimientos – Paquetes Introducción a SQL y PL/SQL 1-102
  103. 103. P& R Introducción a SQL y PL/SQL 1-103

×