Todo motor de base de datos presenta la posibilidad de programar en su lenguaje de programación, para desarrollar procesos en forma eficaz y eficiente.
De esta manera, procesos que se realizan en lenguajes de alto nivel se pueden mejorar, construyendo directamente los mismos en estos lenguajes de programación, que se ejecutan directamente en la memoria del motor de base de datos.
Conocer y saber utilizar esta herramienta (lenguaje PLSQL), le permitirá a la persona que tome este curso, insertarse en el mercado laboral informático, ya que Oracle es una de las principales bases de datos del mundo de las DB.
OBJETIVOS
Que los participantes se formen para:
• Comprender los fundamentos de las bases de datos y entender el lenguaje SQL
• Identificar los principales componentes estructurales de Oracle Database11g - 12c
• Recuperar datos de filas y columnas de las tablas con la sentencia SELECT
• Crear informes de datos ordenados y restringidos
• Utilizar funciones SQL para generar y recuperar datos personalizados
• Ejecutar sentencias del lenguaje de manipulación de datos (DML, SQL) para actualizar datos en Oracle Database11g - 12c
• Obtener metadatos realizando consultas en las vistas de diccionario Oracle11g - 12c
DESTINATARIOS
El curso está dirigido a participantes que deseen incorporar los conceptos esenciales de la gestión de los datos mediante una base de datos y eventualmente convertirse en profesionales de la industria con conocimientos sobre Oracle 11g -12c, como ser consultores de ventas de tecnología, usuarios, testers, desarrolladores, analistas funcionales, líderes de desarrollo, arquitectos, personal de soporte técnico, administradores de bases de datos y otros profesionales de sistemas o afines a la profesión.
REQUISITOS PREVIOS
Secundario Completo
METODOLOGÍA DE ENSEÑANZA-APRENDIZAJE
El alumno participará de las clases presenciales definidas y deberá realizar una lectura crítica del material disponible.
Será necesario que el alumno realice intercambios en las clases presenciales, dirigidos y coordinados por el profesor-tutor.
Así mismo será de carácter obligatorio la entrega de trabajos prácticos (si hubiere), los cuales serán desarrollados en forma presencial o como tareas adicionales fuera del horario de la clase.
MODALIDAD DE EVALUACIÓN Y ACREDITACIÓN
La participación activa en las clases por parte de los alumnos, será una condición necesaria para su aprobación.
Por lo tanto, para acreditar la aprobación del curso, los alumnos deberán rendir satisfactoriamente los trabajos prácticos que el profesor-tutor determine como obligatorios.
Finalmente deberá aprobarse un examen final multiplechoice que cuenta sólo con un recuperatorio.
Aquellos alumnos que aprueben el examen final recibirán un certificado de aprobación, mientras que aquellos que no logren aprobar recibirán un certificado de participación.
TEMARIO
1
Introducción
Objetivos del Curso
Agenda
Descripción del Esquema Human Resources (HR)
Entornos de Desarrollo PL/SQL Disponibles en este Curso
Introducción a SQL Developer
Introducción a PL/SQL
Visión General de PL/SQL
Ventajas de Subprogramas PL/SQL
Visión General de los Tipos de Bloques PL/SQL
Creación y Ejecución de un Bloque Anónimo Simple
Generación de Salida de un Bloque PL/SQL
Declaración de Identificadores PL/SQL
Distintos Tipos de Identificadores de un Subprograma PL/SQL
Uso de la Sección de Declaraciones para Definir Identificadores
Almacenamiento de Datos en Variables
Tipos de Datos
Escalar
Atributo %TYPE
Variables Ligadas
Uso de Secuencias en Expresiones PL/SQL
Escritura de Sentencias Ejecutables
Descripción de Instrucciones de Sintaxis Básica de Bloques PL/SQL
Comentario del Código
Funciones SQL en PL/SQL
Conversión del Tipo de Dato
Bloques Anidados
Operadores de PL/SQL
Interacción con el Servidor de Oracle
Inclusión de Sentencias SELECT en PL/SQL para Recuperar Datos
Manipulación de Datos en el Servidor con PL/SQL
Concepto de Cursor SQL
Uso de Atributos de Cursores SQL para Obtener Comentarios sobre DML
Guardado y Desecho de TransaccionesEscritura de las Estructuras de Control
2
Procesamiento Condicional con Sentencias IF
Procesamiento Condicional con Sentencias CASE
Sentencia Loop Simple
Sentencia WhileLoop
Sentencia ForLoop
Sentencia Continue
Trabajar con Tipos de Dato Compuestos
Uso de Registros PL/SQL
Uso del Atributo %ROWTYPE
Inserción y Actualización con Registros PL/SQL
Tablas INDEX BY
Métodos de Tablas INDEX BY
Tabla de Registros INDEX BY
Uso de Cursores Explícitos
Descripción de Cursores Explícitos
Declaración del Cursor
Apertura del Cursor
Recuperación de Datos del Cursor
Cierre del Cursor
Bucle FOR de Cursor
Atributos de Cursor Explícito
Cláusula FOR UPDATE
Cláusula WHERE CURRENT
Manejo de Excepciones
Descripción de Excepciones
Manejo de Excepciones con PL/SQL
Detección de Errores Predefinidos del Servidor de Oracle
Detección de Errores No Predefinidos del Servidor de Oracle
Detección de Excepciones Definidas por el Usuario
Propagación de Excepciones
Procedimiento RAISE_APPLICATION_ERROR
Creación de Procedimientos Almacenados
Creación de un Diseño de Subprograma Basado en Módulos y Capas
Desarrollo Basado en Módulos con Bloques PL/SQL
Descripción del Entorno de Ejecución de PL/SQL
Ventajas del Uso de Subprogramas PL/SQL
Diferencias entre Bloques Anónimos y Subprogramas
Creación, Llamada y Eliminación de Procedimientos Almacenados mediante el
Comando CREATE y SQL Developer
Uso de Parámetros de Procedimientos y Modos de Parámetros
Visualización de Información de Procedimientos mediante Vistas de Diccionario de Datos y SQL DeveloperCreación de Funciones Almacenadas
3
Creación, Llamada y Eliminación de una Función Almacenada mediante el
Comando CREATE y SQL Developer
Identificación de Ventajas del Uso de Funciones Almacenadas en Sentencias SQL
Identificación de los Pasos para la Creación de una Función Almacenada
Uso de Funciones Definidas por el Usuario en Sentencias SQL
Restricciones al Llamar a Funciones desde Sentencias SQL
Control de Efectos Secundarios al Llamar a Funciones desde Expresiones SQL
Visualización de Información de Funciones
Depuración de Procedimientos y Funciones mediante el Depurador de SQL
Developer
Creación de Paquetes
Lista de Ventajas de Paquetes
Descripción de Paquetes
Componentes de un Paquete
Desarrollo de un Paquete
Visibilidad de Componentes de un Paquete
Creación de Especificación y Cuerpo del Paquete mediante la Sentencia SQL
CREATE y SQL Developer
Llamada a las Construcciones de Paquetes
Visualización del Código de Origen PL/SQL mediante el Diccionario de Datos
Trabajar con Paquetes
Sobrecarga de Subprogramas en PL/SQL
Uso del Paquete STANDARD
Uso de Declaraciones Anticipadas para Solucionar una Referencia aProcedimiento No Válido
Uso de Funciones de Paquete en SQL y Restricciones
Estado Persistente de Paquetes
Estado Persistente de un Cursor de Paquete
Control de Efectos Secundarios de Subprogramas PL/SQL
Uso de Tablas PL/SQL de Registros en Paquetes
Uso de Paquetes Proporcionados por Oracle en el Desarrollo de Aplicaciones
Uso de Paquetes Proporcionados por Oracle
Ejemplos de Algunos Paquetes Proporcionados por Oracle
Funcionamiento del Paquete DBMS_OUTPUT
Uso del Paquete UTL_FILE para Interactuar con Archivos del Sistema
Operativo
Uso del Paquete UTL_MAIL
Uso de los Subprogramas UTL_MAIL
Uso de SQL Dinámico
Flujo de Ejecución de SQL
¿Qué es SQL Dinámico?
Declaración de Variables de Cursor
Ejecución Dinámica de un Bloque PL/SQL
Uso de SQL Dinámico Nativo para Compilar Código PL/SQL
Uso del Paquete DBMS_SQL
Uso de DBMS_SQL con una Sentencia DML con Parámetro
4
Funcionalidad Completa de SQL Dinámico
Consideraciones de Diseño para Código PL/SQL
Estandarización de Constantes y Excepciones
Uso de Subprogramas Locales
Uso de Transacciones Autónomas
Uso de la Indicación del Compilador NOCOPY
Uso de la Indicación PARALLEL_ENABLE
Uso de la Caché de Resultados de Funciones PL/SQL entre Sesiones
Uso de la Cláusula DETERMINISTIC con Funciones
Uso de Enlaces en Bloque para Mejorar el Rendimiento
Creación de Disparadores
Trabajar con Disparadores
Identificación de Tipos de Evento y Cuerpo del Disparador
Supuestos de Aplicación de Negocio para la Implementación de Disparadores
Creación de Disparadores de DML mediante la Sentencia CREATE TRIGGER
y SQL Developer
Identificación de Tipos de Evento, Cuerpo y Arranque (Temporización) delDisparador
Disparadores de Nivel de Sentencia frente a Disparadores de Nivel de Fila
Creación de Disparadores Instead of y Desactivados
Gestión, Prueba y Eliminación de Disparadores
Creación de Disparadores Compuestos, de DDL y de Eventos de Base de Datos
Trabajar con Disparadores Compuestos
Identificación de Secciones de Punto de Temporización de un Disparador
Compuesto de Tabla
Estructura de los Disparadores Compuestos para Tablas y Vistas
Uso de un Disparador Compuesto para Resolver el Error en la Tabla Mutante
Comparación de Disparadores de Base de Datos con Procedimientos Almacenados
Creación de Disparadores en Sentencias DDL
Creación de Disparadores de Eventos de Base de Datos y de Eventos de Sistema
Privilegios del Sistema Necesarios para Gestionar Disparadores
Uso del Compilador PL/SQL
Uso del Compilador PL/SQL
Uso de los Parámetros de Inicialización para la Compilación PL/SQL
Uso de las Nuevas Advertencias de Tiempo de Compilación PL/SQL
Visión General de las Advertencias de Tiempo de Compilación PL/SQL para Subprogramas
Ventajas de las Advertencias del Compilador
Categorías de Mensajes de Advertencia de Tiempo de Compilación PL/SQL
Definición de Niveles de Mensajes de Advertencia: Uso de SQL Developer, el Parámetro deInicialización PLSQL_WARNINGS 8: Visualización de Advertencias delCompilador: Uso de SQL
Developer, SQL*Plus o las Vistas del Diccionario de Datos
Gestión del Código PL/SQL
¿Qué es la Compilación Condicional y Cómo Funciona?
Uso de Directivas de SelecciónUso de Directivas de Consulta Predefinidas y Definidas por el Usuario
5
Parámetro PLSQL_CCFLAGS y Directiva de Consulta
Uso de Directivas de Error de Compilación Condicional para Emitir Errores
Definidos por el Usuario
Uso del Paquete DBMS_DB_VERSION
Uso de Procedimientos DBMS_PREPROCESSOR para Imprimir o
Recuperar Texto de Origen
Ocultación y Ajuste del Código PL/SQL
Gestión de Dependencias
Visión General de Dependencias de Objetos de Esquema
Consulta de Dependencias Directas de Objeto mediante la Vista
USER_DEPENDENCIES
Consulta del Estado de un Objeto
Invalidación de Objetos Dependientes
Visualización de Dependencias Directas e Indirectas
Gestión Detallada de Dependencias en Oracle Database 11g
Descripción de las Dependencias Remotas
Recompilación de una Unidad de Programa PL/SQL
Examen Final.
DURACIÓN
48 HS – 12 Clases
CERTIFICACIÓN
A todos los participantes que hayan aprobado el curso cumpliendo con todos los requisitos establecidos, se les extenderá un certificado de la Secretaría de Cultura y Extensión Universitaria, FRBA, UTN. Aquellos que aún habiendo participado activamente en las clases y realizado las actividades prácticas no cumplimentaran los requisitos de evaluación, recibirán un certificado de participación en el curso.
Para los cursos oficiales, el certificado de aprobación también esta validado por parte de la empresa pertinente (Oracle, SAP, Microsoft u otras).
QUORUM PARA LA APERTURA DEL CURSO Y POLÍTICA DE RESERVA DE VACANTES
Para el dictado del curso se requiere un mínimo de inscriptos. De lo contrario el curso será reprogramado avisando a los pre-inscriptos / inscriptos vía e-mail.
UTN-BA-SCEU se reserva el derecho de reprogramar o cancelar el curso según lo disponga, hasta llegar a la cantidad de inscriptos mínima.
En el caso de cancelar el comienzo o demorarlo mas de un mes de su fecha de apertura original, los inscriptos que hayan pagado podrán solicitar un reintegro a la coordinación del curso presentando sin excepción los comprobantes de pago efectuados.
Los cupos son limitados. El cupo al curso se confirma y se reserva únicamente habiendo realizado el pago de la matrícula en cualquiera de los medios habilitados a tal fin.
Los alumnos deberán conservar los comprobantes de pago, hasta la entrega del certificado de aprobación o asistencia, según corresponda.
ARANCELES
Matrícula $500
Pago Contado $5000
2 Cuotas de $2500 c/u