0
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
Upcoming SlideShare
Loading in...5
×

Intro sql y plsql

428

Published on

Curso básico ORACLE SQL y PL/SQL

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
428
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Schedule:TimingTopic
    60 minutesLecture
    30 minutesPractice
    90 minutesTotal
  • Transcript of "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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×