presentación asignatura pof030

33
Presentación Asignatura POF030 Semana 1

Upload: ciaran-caldwell

Post on 31-Dec-2015

41 views

Category:

Documents


0 download

DESCRIPTION

Presentación Asignatura POF030. Semana 1. Contenido. En forma general, los conceptos que se estudiarán en la asignatura son: Procedures Functions Packages Triggers Cursors Exceptions Others. Evaluaciones. Las evaluaciones se compondrán de la siguiente forma: Pruebas (60%) - PowerPoint PPT Presentation

TRANSCRIPT

Presentación Asignatura POF030Semana 1

Contenido

• En forma general, los conceptos que se estudiarán en la asignatura son:– Procedures– Functions– Packages– Triggers– Cursors– Exceptions– Others

Evaluaciones• Las evaluaciones se compondrán de la

siguiente forma:– Pruebas (60%)

• Trabajo 1: 20%• Prueba 2: 20%• Prueba 3: 20%

– Controles, tareas: (20%)• Controles• Tareas y/o trabajos

– Proyecto Semestral: (20%)• 1 proyecto semestral: 20%

Proyecto Semestral

• Se debe desarrollar un sistema de mediana dificultad que solucione una problemática propuesta por los grupos de trabajo

• Se mostrarán avances durante el semestre• El proyecto debe estar coordinado con los

desarrollos de las asignaturas de .NET y Java

Bloques PL/SQLAprendizajes esperados

• Construye procedimientos almacenados, triggers de base de datos, cursores y funciones que ayuden o implementen directamente soluciones a la lógica de negocio recogida en la captura de requerimientos de un sistema

• Discernir cuando usar un procedimientos almacenados, trigger de base de datos, cursor y función para implementar una solución a la lógica de negocio recogida en la captura de requerimientos de un sistema

Conceptos Claves

• El lenguaje PL/SQL es el ofrecido por Oracle para programar en sus bases de datos

• Es una ampliación de SQL, con elementos típicos de los lenguajes de programación como los ciclos, control de flujos, uso de variables, etc.

• Con PL/SQL se puede programar también para otras herramientas Oracle:– Oracle Forms– Oracle Reports– Oracle Graphics– Oracle Application Server

Conceptos Claves

• El bloque es la unidad mínima de programación en PL/SQL

Bloques

• Existen 3 tipos de bloques– Bloques Anónimos:

• No tienen un nombre identificatorio• No se almacenan en la base de datos• Su existencia es mientras dura su ejecución

– Bloques Anonimados:• Tienen un nombre identificatorio• No se almacenan en la base de datos• Su existencia es mientras dura su ejecución

Bloques

– Subprogramas:• Tienen un nombre identificatorio• Se almacenan en la base de datos• Su existencia es mientras esté registrada en la base de

datos

Partes de un Bloque

– Un bloque puede estar compuesto por tres partes:• Sección Declarativa: En esta sección se declaran todas

las variables, constantes o estructuras necesarias que utilizará el programa

• Sección de Ejecución: En esta sección se incorporan todos los códigos necesarios para la ejecución del programa

• Sección de Manejo de Excepciones: En esta sección se incorporan todos los códigos necesarios para controlar las excepciones planificadas o no que se produzcan en la ejecución del código

Partes de un Bloque Anónimo– Sección Declarativa: Esta sección se reconoce porque

comienza con el comando DECLARE– Sección de Ejecución: Esta sección se reconoce porque

comienza con el comando BEGIN– Sección de Manejo de Excepciones: Esta sección se

reconoce porque comienza con el comando EXCEPTION– Todo bloque termina donde aparece el comando END– La sección de ejecución es la única obligatoria, las demás

son opcionales según las necesidades que se tengan

Ejemplo de un Bloque Anónimo

Sección Declarativa

Sección de Ejecución

Sección de Manejo de Excepciones

Generalidades

Forma de agregar comentarios al código

Cada sentencia debe terminar con punto y

coma (;)

Bloques Anidados

• Un bloque puede estar anidado dentro de otro bloque

Bloque 1

Bloque 2

Bloque 1

Bloque 2

Forma correcta Forma incorrecta

Ejemplo de Bloques Anidados

Bloque 1Bloque 2

Variables en Bloques PL/SQLAprendizajes esperados

• Construye procedimientos almacenados, triggers de base de datos, cursores y funciones que ayuden o implementen directamente soluciones a la lógica de negocio recogida en la captura de requerimientos de un sistema

Conceptos Claves

• Las variables y constantes se declaran en la sección declarativa del bloque

• La asignación de valores a las variables puede ser realizada en cualquiera de las partes del bloque

Sintáxis• En general, la sintaxis para declarar un variable y/o constante

es la siguiente:<Nombre_variable> [constant] <tipo_dato> [not null][:=valor];• Donde:

<Nombre_variable>: Obligatorio. Es el nombre que se dará a la variable o constante [constant]: Opcional. Indica que lo declarado es una constante. Su valor no puede ser modificado en tiempo de ejecución <tipo_dato>: Obligatorio. Indica el tipo de dato que tendrá la variable o constante[not null]: Opcional. Indica que la variable o constante no puede tomar un valor nulo[:=valor]: Opcional. Asigna un valor a la variable o constante

Algunas consideraciones

• Una variable o constante no inicializada, asumirá el valor null

• Las variables o constantes «not null», no pueden asumir el valor nulo, por lo cual deben ser inicializadas

• La inicialización puede incluir cualquier expresión de PL/SQL. Dicha expresión debe retornar el mismo tipo de dato de la variable o constante

Ejemplo de Declaraciones

Declaraciones Implícitas

• Se pueden declarar variables o constantes de forma que «asuman» el tipo de datos de otra variable o constantes u otra estructura de la base de datos– %Type: Se utiliza para que la variable declarada de

tipo escalar, asuma el tipo de datos de otra variable o constante

– %Rowtype: Se utiliza para definir una variable de tipo fila

Ejemplo de declaraciones implícitas

Ejemplo de usos

Ejemplo de usos

Ejemplo de usos

• Dada la tabla «auto», con la estructura que se muestra a continuación, se asignarán valores a la variable

Ejemplo de usos

Asignando valores con sentencia Select

• Otra forma de asignar valores a las variables es utilizando la sentencia «Select…into»

• Su estructura es la siguiente:Select lista_valores into lista_variablesFrom tablas_origen

• Donde:– Lista_valores: Lista de campos , otras variables o valores que serán

almacenados en la lista de campos. Se separa por comas (,) en caso de existir mas de un valor

– Lista_variables: Lista de variables que recibirán los valores extraídos. Se separa por comas (,) en caso de existir mas de una variable

– Tablas_origen: Tablas de donde proviene la información

Ejemplo de asignación mediante Select .. Into

Ejemplo de asignación mediante Select .. Into

Consideraciones respecto a la asignación mediante Select .. Into

• Para el select .. into se espera siempre que devuelva sólo un valor o una fila (según sea el caso de variable escalar o variable de tipo fila)

• Si la sentencia no devuelve valor alguno o devuelve más de uno, la ejecución del código arrojará error– No Data Found: No encuentra datos– Too Many Rows: Muchas filas encontradas

Alcance de las variables

• Las variables tienen un alcance local, es decir, son visibles sólo dentro del bloque al cual pertenecen

• Para los bloques anidados, las variables declaradas en el bloque contenedor (bloque que contiene a otro bloque) son visibles para el bloque contenido

• Las variables declaradas en el bloque contenido (bloque que se declara dentro de otro bloque) son visibles sólo en forma local a su bloque. El bloque contenedor no tiene acceso a dicha variable

Ejemplo de Alcance de Variables (Uso Correcto)

Ejemplo de Alcance de Variables (Uso Incorrecto)

Descripción del error existente