You are on page 1of 10

CLASE N:

19

PERODO 07/12/2015 11/12/2015

TIEMPO:

2 horas

FECHA:

08 de Diciembre del 2015


Parmetros de Evaluacin

TEMA DISCUTIDO:

10.1. Programacin y administracin de procedimientos


almacenados, funciones, disparadores.

Desarrollar de acuerdo a lo que se vio en clase


Contenidos:
Procedimientos almacenados (Stored Procedure )
Funciones (Functions)
Disparadores (Triggers)
Objetivos de desempeo:
Analizar las indicaciones generales del mdulo
Conceptualizar los conceptos bsicos de contenidos antes propuestos.
Competencia General:
Describir la programacin y administracin de los procedimientos
almacenados, funciones y disparadores.
Datos interesantes discutidos:
Actividades durante la clase
En esta clase la docente nos explic lo tiles que son los procedimientos
almacenados, las funciones y los disparadores dentro de una base datos,
como por ejemplo para indicar si la operacin se ha realizado
correctamente o se han producido errores, y el motivo de estos.
Descriptores analizados
Procedimiento almacenado
Funciones
Disparadores
Procedimientos Almacenados (Stored Procedure )

Los procedimientos almacenados pueden hacer referencia a tablas, vistas, a


funciones definidas por el usuario, a otros procedimientos almacenados

Un procedimiento almacenado pueden incluir cualquier cantidad y tipo de


instrucciones DML (de manipulacin de datos, como insert, update, delete),
no instrucciones DDL (de definicin de datos, como create..., drop... alter...).

La sintaxis bsica parcial es:


create or replace procedure NOMBREPROCEDIMIENTO
as
begin
INSTRUCCIONES
end;

El bloque de instrucciones comienza luego de "begin" y acaba con "end".

Si empleamos "or replace", se sobreescribe (se reemplaza) un


procedimiento existente; si se omite y existe un procedimiento con el nombre
que le asignamos, Oracle mostrar un mensaje de error indicando tal
situacin.

Para diferenciar los procedimientos almacenados del sistema de los


procedimientos almacenados creados por el usuario use un prefijo, por
ejemplo "pa_" cuando les de el nombre.

Con las siguientes instrucciones creamos un procedimiento almacenado llamado


"pa_libros_aumentar10" que incrementa en un 10% el precio de todos los libros:
create procedure pa_libros_aumentar10
as
update libros set precio=precio+precio*0.1;

Entonces, creamos un procedimiento almacenado colocando "create procedure" (o


"create or replace", si es que desea reemplazar el existente), luego el nombre del
procedimiento y seguido de "as" las sentencias que definen el procedimiento. Para
ejecutar el procedimiento almacenado creado anteriormente tipiamos:
execute pa_libros_aumentar10;

Entonces, para ejecutar un procedimiento almacenado colocamos "execute"


seguido del nombre del procedimiento.

Funciones (Functions)
Existen en SQL muchas funciones que pueden complementar el manejo de los
datos en las consultas. Se utilizan dentro de las expresiones y actan con los
valores de las columnas, variables o constantes.
Se pueden incluir en las clsulas SELECT, WHERE y ORDER BY.
Sintaxis de una funcin:
CREATE [OR REPLACE] FUNCTION [esquema].nombre-funcin
(nombre-parmetro {IN | OUT | IN OUT} tipo-de-dato, ...)
RETURN tipo-de-dato {IS | AS}
Declaracin de variables;
Declaracin de constantes;
Declaracin de cursores;
BEGIN
Cuerpo del subprograma PL/SQL;
EXCEPTION
Bloque de excepciones PL/SQL;
END;

Pueden anidarse funciones dentro de funciones. Y existe una gran variedad de


funciones para cada tipo de datos:

Funciones de valores simples:


ABS(n)= Devuelve el valor absoluto de (n).
CEIL(n)=Obtiene el valor entero inmediatamente superior o igual a "n".
FLOOT(n) = Devuelve el valor entero inmediatamente inferior o igual a "n".
MOD (m, n)= Devuelve el resto resultante de dividir "m" entre "n".
NVL (valor, expresin)= Sustituye un valor nulo por otro valor.
POWER (m, exponente)= Calcula la potencia de un nmero.
ROUND (numero [, m])= Redondea nmeros con el nmero de dgitos de precisin
indicados.
SIGN (valor)= Indica el signo del "valor".
SQRT(n)= Devuelve la raz cuadrada de "n".
TRUNC (numero, [m])= Trunca nmeros para que tengan una cierta cantidad de
dgitos de precisin.
VAIRANCE (valor)= Devuelve la varianza de un conjunto de valores.

Funciones de grupos de valores:


AVG(n)= Calcula el valor medio de "n" ignorando los valores nulos.
COUNT (* | Expresin)= Cuenta el nmero de veces que la expresin evala algn
dato con valor no nulo. La opcin "*" cuenta todas las filas seleccionadas.
MAX (expresin)= Calcula el mximo.
MIN (expresin)= Calcula el mnimo.
SUM (expresin)= Obtiene la suma de los valores de la expresin.
GREATEST (valor1, valor2)= Obtiene el mayor valor de la lista.
LEAST (valor1, valor2)= Obtiene el menor valor de la lista.
Funciones que devuelven valores de caracteres:
CHR(n) = Devuelve el carcter cuyo valor en binario es equivalente a "n".
CONCAT (cad1, cad2)= Devuelve "cad1" concatenada con "cad2".
LOWER (cad)= Devuelve la cadena "cad" en minsculas.
UPPER (cad)= Devuelve la cadena "cad" en maysculas.
INITCAP (cad)= Convierte la cadena "cad" a tipo ttulo.
LPAD (cad1, n[,cad2])= Aade caracteres a la izquierda de la cadena hasta que
tiene una cierta longitud.
RPAD (cad1, n[,cad2])= Aade caracteres a la derecha de la cadena hasta que
tiene una cierta longitud.
LTRIM (cad [,set])= Suprime un conjunto de caracteres a la izquierda de la cadena.
RTRIM (cad [,set])= Suprime un conjunto de caracteres a la derecha de la cadena.
REPLACE (cad, cadena_busqueda [, cadena_sustitucion])= Sustituye un carcter o
caracteres de una cadena con 0 o ms caracteres.
SUBSTR (cad, m [,n])= Obtiene parte de una cadena.
TRANSLATE (cad1, cad2, cad3)= Convierte caracteres de una cadena en
caracteres diferentes, segn un plan de sustitucin marcado por el usuario.
Funciones que devuelven valores numricos:
ASCII(cad)= Devuelve el valor ASCII de la primera letra de la cadena "cad".
INSTR (cad1, cad2 [, comienzo [,m]])= Permite una bsqueda de un conjunto de
caracteres en una cadena pero no suprime ningn carcter despus.
LENGTH (cad)= Devuelve el nmero de caracteres de cad.

Funciones para el manejo de fechas:


SYSDATE= Devuelve la fecha del sistema.
ADD_MONTHS (fecha, n)= Devuelve la fecha "fecha" incrementada en "n" meses.
LASTDAY (fecha)= Devuelve la fecha del ltimo da del mes que contiene "fecha".
MONTHS_BETWEEN (fecha1, fecha2)= Devuelve la diferencia en meses entre las
fechas "fecha1" y "fecha2".
NEXT_DAY (fecha, cad)= Devuelve la fecha del primer da de la semana indicado
por "cad" despus de la fecha indicada por "fecha".
Funciones de conversin:
TO_CHAR= Transforma un tipo
DATE NUMBER en una cadena de caracteres.
TO_DATE= Transforma un tipo NUMBER CHAR en DATE.
TO_NUMBER= Transforma una cadena de caracteres en NUMBER
Disparadores (Triggers)
Un disparador define una accin que la base de datos debe llevar a cabo cuando
se produce algn suceso relacionado con la misma. Los disparadores (triggers)
pueden utilizarse para completar la integridad referencial, tambin para imponer
reglas de negocio complejas o para auditar cambios en los datos. El cdigo
contenido en un disparador, denominado cuerpo del disparador, est formado por
bloques PL/SQL. La ejecucin de disparadores es transparente al usuario.
La sintaxis para crear un trigger es la siguiente:
CREATE [OR REPLACE] TRIGGER <nombre_trigger>
{BEFORE|AFTER}
{DELETE|INSERT|UPDATE [OF col1, col2, ..., colN]
[OR {DELETE|INSERT|UPDATE [OF col1, col2, ..., colN]...]}
ON <nombre_tabla>
[FOR EACH ROW [WHEN (<condicion>)]]
DECLARE
-- variables locales
BEGIN
-- Sentencias
[EXCEPTION]
-- Sentencias control de excepcion
END <nombre_trigger>;

Reflexionar:

Qu cosas fueron difciles?


En esta clase no se presentaron temas difciles de estudiar.
Cules fueron fciles?
La creacin de procedimientos almacenados, ya que se trataban de parmetros
simples con facilidad de analizar.
Por qu?
Fue fcil porque la docente realiz un buen anlisis del tema, para que sea fcil la
comprensin del mismo
Qu aprend hoy?
Conceptos elementales como lo es la creacin de procedimientos almacenados,
funciones y disparadores en Oracle.

CLASE N:

20

PERODO 07/12/2015 11/12/2015

TIEMPO:

2 horas

FECHA:

10 de Diciembre del 2015


Parmetros de Evaluacin

TEMA DISCUTIDO:

10.2. Programacin y administracin de validaciones y


vistas, y la ejecucin de aplicaciones.

Desarrollar de acuerdo a lo que se vio en clase


Contenidos:
Validaciones y vistas
Ejecucin de aplicaciones.
Objetivos de desempeo:
Analizar las indicaciones generales del mdulo
Conceptualizar los conceptos bsicos de contenidos antes propuestos.
Competencia General:
Describir la programacin y administracin de validaciones y vistas, y la
ejecucin de aplicaciones.
Datos interesantes discutidos:
Actividades durante la clase
En esta clase la docente nos explic lo tiles que son las vistas y al
momento de ejecutar las aplicaciones, donde una vista es una alternativa
para mostrar datos de varias tablas.
Descriptores analizados
Vistas
Ejecucin de aplicaciones
Vistas

Una vista es una alternativa para mostrar datos de varias tablas; es como
una tabla virtual que almacena una consulta. Los datos accesibles a travs
de la vista no estn almacenados en la base de datos, en la base de datos
se guarda la definicin de la vista y no el resultado de ella.

Entonces, una vista almacena una consulta como un objeto para utilizarse
posteriormente. Las tablas consultadas en una vista se llaman tablas base.
En general, se puede dar un nombre a cualquier consulta y almacenarla
como una vista.

Una vista suele llamarse tambin tabla virtual porque los resultados que
retorna y la manera de referenciarlas es la misma que para una tabla.

Las vistas permiten:


o Simplificar la administracin de los permisos de usuario: se pueden
dar al usuario permisos para que solamente pueda acceder a los
datos a travs de vistas, en lugar de concederle permisos para
acceder a ciertos campos, as se protegen las tablas base de
cambios en su estructura.
o Mejorar el rendimiento: se puede evitar tipear instrucciones
repetidamente almacenando en una vista el resultado de una
consulta compleja que incluya informacin de varias tablas.

Podemos crear vistas con: un subconjunto de registros y campos de una


tabla; una unin de varias tablas; una combinacin de varias tablas; un
subconjunto de otra vista, combinacin de vistas y tablas.

Una vista se define usando un "select".


La sintaxis bsica para crear una vista es la siguiente:
create view NOMBREVISTA as
SUBCONSULTA;

El contenido de una vista se muestra con un "select":


select * from NOMBREVISTA;

En el siguiente ejemplo creamos la vista "vista_empleados", que es resultado de


una combinacin en la cual se muestran 4 campos:
create view vista_empleados as

select (apellido||' '||e.nombre) as nombre,sexo,


s.nombre as seccion, cantidadhijos
from empleados e
join secciones s
on codigo=seccion;

Para ver la informacin contenida en la vista creada anteriormente tipiamos:


select * from vista_empleados;

Podemos realizar consultas a una vista como si se tratara de una tabla:


select seccion, count(*) as cantidad
from vista_empleados;

Por ltimo podemos eliminar la vista a travs de la sentencia DROP VIEW. Para
eliminar la vista que hemos creado anteriormente se utilizara:
DROP VIEW vista_empleados;

Ejecucin de aplicaciones
El cuadro de dilogo Run Application (Ejecutar una aplicacin) proporciona acceso
a la lnea de comandos. Tenga en cuenta que, al ejecutar un comando en el
cuadro de dilogo Run Application (Ejecutar una aplicacin), no puede recibir la
salida del comando.
Cmo ejecutar una aplicacin desde la lnea de comandos
1. Abra el cuadro de dilogo Run Application (Ejecutar una aplicacin) de
cualquiera de las siguientes formas:
a. Presione Meta+R o Alt+F2.
Puede cambiar las teclas de mtodo abreviado que se muestran en
el cuadro de dilogo Run Application (Ejecutar una aplicacin) en la
herramienta de preferencias de mtodos abreviados del teclado.
b. Si agreg el botn Run Application (Ejecutar una aplicacin) a
un panel, haga clic en el botn.
Aparece el cuadro de dilogo Run Application (Ejecutar una
aplicacin).

2. Escriba el comando que desea ejecutar o seleccione una aplicacin de


la lista de aplicaciones conocidas.
Si escribe slo la ubicacin de un archivo, se inicia la aplicacin adecuada
para abrirlo. Si escribe la direccin de una pgina web, el explorador web
predeterminado abre la pgina. Utilice http:// como prefijo en la direccin de
la pgina web, por ejemplo, http://www.oracle.com.
Para elegir un comando que ejecut anteriormente, haga clic en el botn de
flecha abajo que aparece junto al campo de comando y, a continuacin,
seleccione el comando. Tambin puede utilizar el botn archivo Run With
File (Ejecutar con el archivo) para seleccionar el archivo que desea agregar
a la lnea de comandos. Por ejemplo, puede escribir emacs como comando
y, a continuacin, seleccionar un archivo para editar.
3. (Opcional) Seleccione la opcin Run in terminal (Ejecutar en un
terminal) para ejecutar la aplicacin o el comando en una ventana de
terminal.
Seleccione esta opcin para una aplicacin o un comando que no abre una
ventana para su ejecucin.
4. Haga clic en Run (Ejecutar) en el cuadro de dilogo Run Application
(Ejecutar una aplicacin).
Reflexionar:
Qu cosas fueron difciles?
En esta clase no se presentaron temas difciles de estudiar.
Cules fueron fciles?
Lo que se me hizo fcil, fue la creacin de vistas ya que para llamar o mostrar el
contenido de una vista lo hacemos con un select.
Por qu?
Fue fcil comprender debido a que la docente realiz una excelente explicacin
del tema.
Qu aprend hoy?
Hoy aprend el uso y la creacin de vistas en Oracle.