Programación en Base de Datos Oracle – Lenguaje PL-SQL
Adquiere las herramientas y saberes para programar bases de datos y comprende el lenguaje PL/SQL de Oracle.
Presentación
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, 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.
Objetivo general
Que los participantes:
- Se formen en los conceptos fundacionales de la programación de bases de datos relacionales sobre Oracle.
- Adquirieran conocimientos sobre la construcción de procesos rápidos y eficaces que se ejecutan directamente en la DB.
- Aprendan diferentes objetos de la base de datos, que permitan modularizar el código de programación, como las funciones, procedimientos, packages y triggers.
Objetivos específicos
Que los participantes:
- Logren comprender que el lenguaje PL/SQL de Oracle permite extender las funcionalidades del SQL.
- Sepan escribir el código PL/SQL para interfasear con la base de datos.
- Aprendan a diseñar unidades de programas en PL/SQL que se ejecuten eficientemente.
- Sepan usar la programación estructurada y sentencias de control de condiciones.
- Sepan ocultar errores de ejecución mostrando mensajes customizados.
- Aprendan a crear y ejecutar stored procedures, funciones, packages, y triggers de base de datos.
Destinatarios
A todos los interesados en aprender a programar en bases de datos, pudiendo crear distintos objetos como ser, procedimientos, funciones, packages y triggers, así como lograr aprendizajes en la construcción y ejecución de procesos transaccionales que se ejecutan directamente en la DB, en los lenguajes de programación de alto nivel.
Requisitos previos
Conocimientos generales de SQL.
Metodología de enseñanza-aprendizaje
El alumno deberá realizar una lectura crítica del material disponible. Se promoverán intercambios en los foros creados, dirigidos y coordinados por el profesor-tutor. Asimismo será de carácter obligatorio la entrega de trabajos prácticos, que serán desarrollados con herramientas gratuitas, que los participantes deberán instalar según indicaciones del profesor-tutor. Se realizará una clase virtual en tiempo real.
Modalidad educativa
La modalidad es totalmente mediada por tecnologías a través del Campus Virtual FRBA. Las actividades que se realizarán serán:
- Foros de discusión semanal propuestos por el docente (un foro por unidad).
- Consulta al docente a través de e-mail o chat.
- Dictado de clases en tiempo real mediante un Aula Virtual Sincrónica (AVS)
- Material de lectura semanal y por unidad temática
- Actividades individuales y/o grupales de aplicación práctica semanal y por unidad temática.
- Evaluaciones semanales y por unidad temática sobre la base de trabajos prácticos de aplicación de los conocimientos adquiridos.
Se trata de una modalidad básicamente asincrónica con el complemento del AVS, que supera la instancia de autoestudio por la implementación de foros proactivos coordinados por el profesor-tutor y dictado de clases en tiempo real. Los foros cumplen cuatro funciones pedagógico-didácticas fundamentales: 1) Son el lugar para la presentación de las dudas, consultas y opiniones críticas de los alumnos; 2) Son el principal espacio para la generación de retroalimentación (feedback) entre profesores-tutores y alumnos y alumnos entre sí; 3) Es el lugar específico para la discusión, coordinada por el profesor-tutor, de todos los temas tratados en los módulos de la especialidad o curso y 4) Es el lugar para el aprendizaje entre pares de los alumnos. A su vez, el AVS permite complementar todas aquellas instancias pedagógico-didácticas que le señalan límites a la modalidad puramente asincrónica.
Modalidad de evaluación y acreditación
Tratándose de una modalidad mediada por tecnologías, la participación activa en los foros 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 las evaluaciones que el profesor-tutor determine como obligatorias y haber participado activamente en los foros.
Finalmente deberá aprobarse un examen final multiple choice.
Temario
Unidad 1:Introducción a PL/SQL. Declaración de Variables. Escritura de sentencias de ejecución.
Introducción. Oracle Database – Oracle Application Server – Oracle Enterprise Manager. Que es PL/SQL ?. Beneficios de PL/SQL. Estructura de bloque de PL/SQL. Creación y Ejecución de bloques anónimos. Pruebas de salida de PL/SQL. Utilización de variables. Declaración e inicialización de variables. Tipos de variables. Como comentar código de programación. Operadores en PL/SQL. Indentación del código.
Unidad 2:Interactuando con Oracle-Server. Escritura de estructuras de control
Sentencias de SQL en PL/SQL. Sentencias SELECT en PL/SQL. Retornar información utilizando PL/SQL. Convención de nomenclaturas. Inserción, modificación y borrado de datos. Introducción al concepto de cursores en SQL. Cursores implícitos. Sentencias “IF”. Sentencias “IF THEN ELSE”. Valores NULL en sentencias “IF”. Expresiones “CASE”. Manejo de condiciones booleanas. Sentencias de control de iteraciones “LOOP”, “WHILE” y “FOR”.
Unidad 3: Trabajar con tipos de datos. Escritura de Cursores explícitos. Conceptos avanzados de cursores
Composición de tipos de datos. Creación y manejo de registros de PL/SQL. Manejo de atributo “%Rowtype”. Inserción de datos utilizando “%Rowtype”. Operaciones con cursores explícitos. Control, declaración y manejo de cursores. Utilización de “%Isopen”, “%Rowcount” y “%Notfound”. Manejo de cláusula “For Update”.
Unidad 4: Trabajo con excepciones. Creación y Manejo de Procedimientos
Creación y manejo de distinto tipo de excepciones. Como atrapar excepciones. Utilización de “RAISE_APPLICATION_ERROR”. Estructura de Bloques anónimos. Beneficios de los subprogramas. Que es un procedure ?. Sintáxis para crear un procedure. Manejo de parámetros IN y OUT. Opciones de DEFAULT para los parámetros. Invocación de procedures y bloques Anónimos. Mostrar y ocultar excepciones dentro de los procedures. Eliminar procedures de la base de datos.
Unidad 5: Creación y Manejo de Funciones. Creación de Packages. Creación de triggers
Creación y manejo de funciones. Ejecución de funciones. Ventajas de funciones de usuario en expresiones de SQL. Invocación de funciones. Restricciones cuando se llama a una función. Eliminar funciones de la base de datos. Comparación entre procedimientos y funciones. Beneficios de grabar en la DB funciones y procedimientos.
Conceptos generales de packages. Componentes de los packages. Referencias a packages. Creación y manejo de packages. Creación de especificación y de cuerpo de un package. Declaración de packages. Referenciar variables públicas, procedures y funciones del del package. Eliminación de packages de la base de datos. Ventajas de la utilización de packages. Tipos de triggers. Como diseñar triggers. Operaciones DML sobre los triggers. Como ejecutar los triggers de base de datos. Utilización de calificadores OLD y NEW. Utilización de “INSTEAD OF” triggers. Eliminación de triggers.
Duración
5 semanas
Carga horaria
40 hs.
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 aun habiendo participado activamente en los foros y realizado las actividades prácticas no cumplimentaran los requisitos de evaluación, recibirán un certificado de participación en el curso.
Dirección y cuerpo docente
Mariano Gecik
Es Ingeniero en Sistemas de Información de la Universidad
Tecnológica Nacional (UTN). Es docente en la misma casa hace más de 15 años de las materias Análisis de Sistemas, Sistemas de Gestión I, y Administración de Recursos. Es tutor de los cursos presenciales de Oracle SQL Introductorio y programación Oracle PL/SQL.
Tiene una vasta experiencia como consultor de Oracle, JAVA y .NET en distintos proyectos nacionales e internacionales y en importantes empresas como Siemens, Oracle, Banco Galicia y Protech Association. Actualmente tiene su propia consultora especializada en Oracle eBusiness-Suite, GMP IT.
Adicionalmente integró el cuerpo docente dedicado a las tutorías DISI de la misma universidad.
Ayudante:
Fabian Quinteros
Estudiante de la carrera Licenciatura en Informática en Universidad Atlántida Argentina (U.A.A.) sede Mar del Plata. Trabajó durante 18 años en una importante empresa privada de Servicios y Tecnologías de la Información. Por medio de la UTN participó en la implementación del Sistema Augusta en el Poder Judicial de Mar del Plata.
Forma parte del Departamento de Extensión de U.A.A. realizando diferentes actividades. Particularmente me identifico con la Aplicación de Metodologías Ágiles durante el proceso de desarrollo de software.
Actualmente estoy dictando cursos en Universidad Atlántida Argentina, además de dictar los cursos de Fundamentos de Bases de Datos y Programación en Base de Datos Oracle – PL/SQL hace varios años.
Bibliografía
Libros y otros manuscritos
- Oracle 11g, SQL, PL/SQL, SQL*Plus – Jerome Gabillaud - SATISH ASNANI, PHI Learning Private Limited (Julio 2013), ISBN-13: 978-8120340206
- ORACLE 12c. Programación SQL*Plus, SQL y PLSQL - MARIA PEREZ MARQUES - Amazon Digital Services, Inc. (Dic 2013), ASIN: B00HB8TC08
- Oracle 11g PL/SQL – Antolin Muñoz Chaparro - RC Libros (Ene 2013), ASIN: B00AWR6V6I