Buscar en el Blog

Mostrando entradas con la etiqueta oracle. Mostrar todas las entradas
Mostrando entradas con la etiqueta oracle. Mostrar todas las entradas

martes, 23 de septiembre de 2014

PL/SQL

INNOVA Desarrollos Informáticos, SL

PL/SQL, bajo este nombre se esconde el Lenguaje de manipulación de
datos propietario de Oracle. Conceptualmente, Oracle lo define como
una extensión procedimental del SQL… en realidad, y para entenderlo
mejor, se trata de un potente lenguaje de acceso a Bbdd, mediante el cual
podemos estructurar y controlar las sentencias SQL que definamos para
nuestra Bbdd.
PL/SQL sigue la filosofía de los modernos lenguajes de programación,
es decir, permite definir y manipular distintos tipos de datos, crear
procedimientos, funciones, contempla recursividad, etc… Quizás la
diferencia más importante, y algo que debemos tener siempre muy en
cuenta, es que la eficiencia de un programa en PL/SQL se mide sobre
todo por la eficiencia de los accesos a Bbdd.

INTRODUCCIÓN................................................................. 3
Prólogo............................................................................................................... 3
ÍNDICE .............................................................................. 4
FICHA INFORMATIVA DEL MÓDULO. .................................. 6
Nombre.............................................................................................................. 6
Meta .................................................................................................................... 6
Requisitos del alumno ...................................................................................... 6
Bibliografía......................................................................................................... 6
1 UNIDAD 4:INTRODUCCIÓN A PL/SQL ............................ 7
Objetivo general de la unidad ......................................................................... 7
Objetivos específicos........................................................................................ 7
Contenidos......................................................................................................... 7
Cuaderno de notas............................................................................................ 8
1.1 Introducción............................................................................................... 10
1.2 Tipos de Datos........................................................................................... 16
1.3 Declaraciones ............................................................................................. 22
1.4 Ámbito y Visibilidad.................................................................................. 32
1.5 Asignaciones............................................................................................... 34
1.6 Expresiones y Comparaciones................................................................. 35
1.7 Funciones Soportadas ............................................................................... 39
2 UNIDAD 5:ESTRUCTURAS DE CONTROL......................... 41
Objetivo general de la unidad ....................................................................... 41
Objetivos específicos...................................................................................... 41
Contenidos....................................................................................................... 41
Cuaderno de notas.......................................................................................... 42
2.1 Introducción............................................................................................... 44
2.2 Control Condicional.................................................................................. 44
2.3 Control Iterativo ........................................................................................ 47
2.4 Control Secuencial..................................................................................... 54
3 UNIDAD 6:INTERACCIÓN CON ORACLE ......................... 58
Objetivo general de la unidad ....................................................................... 58
Objetivos específicos...................................................................................... 58
Contenidos....................................................................................................... 58
Cuaderno de notas.......................................................................................... 59
3.1 Soporte SQL............................................................................................... 61
3.2 Manejando Cursores.................................................................................. 66
3.3 Empaquetando Cursores .......................................................................... 71
3.4 Utilización de Cursores con bucles FOR............................................... 73
4 UNIDAD 7: MANEJO DE ERRORES.................................. 75
Objetivo general de la unidad ....................................................................... 75
Objetivos específicos...................................................................................... 75
Contenidos....................................................................................................... 75
Cuaderno de notas.......................................................................................... 76
4.1 Introducción............................................................................................... 78
4.2 Ventajas de las excepciones...................................................................... 79
4.3 Excepciones Predefinidas......................................................................... 80
4.4 Excepciones definidas por el usuario ..................................................... 82
5 UNIDAD 8: SUBPROGRAMAS Y PACKAGES ........................ 88
Objetivo general de la unidad ....................................................................... 88
Objetivos específicos...................................................................................... 88
Contenidos....................................................................................................... 88
Cuaderno de notas.......................................................................................... 89
5.1 Ventajas de los subprogramas.................................................................. 91
5.2 Procedimientos y Funciones .................................................................... 92
5.3 Recursividad en PL/SQL......................................................................... 93
5.4 Concepto de Package y definición .......................................................... 93
5.5 Ventajas de los Packages........................................................................... 96
6 ANEXO 3:EJERCICIOS..................................................... 98
6.1 Ejercicios de la Unidad 4 .......................................................................... 98
6.2 Ejercicios de la Unidad 5 ........................................................................ 104
6.3 Ejercicios de la Unidad 6 ........................................................................ 106
6.4 Ejercicios de la Unidad 7 ........................................................................ 108
6.5 Ejercicios de la Unidad 8 ........................................................................ 108


sábado, 6 de septiembre de 2014

Base de Datos Oracle 10g: Conceptos Fundamentales de SQL I

Introducción
Objetivos de la Lección I-2
Objetivos del Curso I-3
Oracle10g I-4
Base de Datos Oracle 10g I-6
Oracle Application Server 10g I-7
Oracle Enterprise Manager 10g Grid Control I-8
Sistemas de Gestión de Bases de Datos Relacionales y Relacionales de
Objetos I-9
Plataforma para Internet de Oracle I-10
Ciclo de Vida de Desarrollo del Sistema I-11
Almacenamiento de Datos en Medios Diferentes I-13
Concepto de Base de Datos Relacional I-14
Definición de una Base de Datos Relacional I-15
Modelos de Datos I-16
Modelo de Relación de Entidades I-17
Convención de Modelado de Relación de Entidades I-19
Relación de Varias Tablas I-21
Terminología de Bases de Datos Relacionales I-23
Propiedades de las Bases de Datos Relacionales I-25
Comunicación con un RDBMS mediante SQL I-26
Sistema de Gestión de Bases de Datos Relacionales de Oracle I-27
Sentencias SQL I-28
Tablas Utilizadas en el Curso I-29
Resumen I-30
1 Recuperación de Datos mediante la Sentencia SELECT de SQL
Objetivos 1-2
Capacidades de las Sentencias SELECT de SQL 1-3
Sentencia SELECT Básica 1-4
Selección de Todas las Columnas 1-5
Selección de Columnas Específicas 1-6
Escritura de Sentencias SQL 1-7
Valores por Defecto de Cabeceras de Columna 1-8
Expresiones Aritméticas 1-9
Uso de Operadores Aritméticos 1-10
Prioridad de Operadores 1-11
Definición de un Valor Nulo 1-12
Valores Nulos en Expresiones Aritméticas 1-13
Definición de un Alias de Columna 1-14
Uso de Alias de Columnas 1-15
Operador de Concatenación 1-16
Cadenas de Literales 1-17
Uso de Cadenas de Literales 1-18
Operador de Comillas (q) Alternativo 1-19
Filas Duplicadas 1-20
Interacción de SQL e iSQL*Plus 1-21
Sentencias SQL frente a Comandos de iSQL*Plus 1-22
Visión General de iSQL*Plus 1-23
Conexión a iSQL*Plus 1-24
Entorno iSQL*Plus 1-25
Visualización de la Estructura de Tablas 1-26
Interacción con Archivos de Comandos 1-28
Página History de iSQL*Plus 1-32
Definición de Preferencias de iSQL*Plus 1-34
Definición de la Preferencia de Ubicación de Salida 1-35
Resumen 1-36
Práctica 1: Visión General 1-37
2 Restricción y Ordenación de Datos
Objetivos 2-2
Limitación de Filas mediante una Selección 2-3
Limitación de las Filas que se Seleccionan 2-4
Uso de la Cláusula WHERE 2-5
Cadenas de Caracteres y Fechas 2-6
Condiciones de Comparación 2-7
Uso de Condiciones de Comparación 2-8
Uso de la Condición BETWEEN 2-9
Uso de la Condición IN 2-10
Uso de la Condición LIKE 2-11
Uso de la Condición NULL 2-13
Condiciones Lógicas 2-14
Uso del Operador AND 2-15
Uso del Operador OR 2-16
Uso del Operador NOT 2-17
Reglas de Prioridad 2-18
Uso de la Cláusula ORDER BY 2-20
Ordenación 2-21
Variables de Sustitución 2-22
Uso de la Variable de Sustitución & 2-24
Valores de Carácter y de Fecha con Variables de Sustitución 2-26
Especificación de Nombres de Columna, Expresiones y Texto 2-27
Uso de la Variable de Sustitución && 2-24
Uso del Comando DEFINE de iSQL*Plus 2-29
Uso del Comando VERIFY 2-30
Resumen 2-31
Práctica 2: Visión General 2-32
3 Uso de Funciones de una Sola Fila para Personalizar la Salida
Objetivos 3-2
Funciones SQL 3-3
Dos Tipos de Funciones SQL 3-4
Funciones de una Sola Fila 3-5
Funciones de Carácter 3-7
Funciones de Manipulación de Mayúsculas/Minúsculas 3-9
Uso de Funciones de Manipulación de Mayúsculas/Minúsculas 3-10
Funciones de Manipulación de Caracteres 3-11
Uso de Funciones de Manipulación de Caracteres 3-12
Funciones Numéricas 3-13
Uso de la Función ROUND 3-14
Uso de la Función TRUNC 3-15
Uso de la Función MOD 3-16
Trabajo con Fechas 3-17
Aritmética con Fechas 3-20
Uso de Operadores Aritméticos con Fechas 3-21
Funciones de Fecha 3-22
Uso de Funciones de Fecha 3-23
Práctica 3: Visión General de la Parte 1 3-25
Funciones de Conversión 3-26
Conversión de Tipos de Datos Implícita 3-27
Conversión de Tipos de Datos Explícita 3-29
Uso de la Función TO_CHAR con Fechas 3-32
Elementos del Modelo de Formato de Fecha 3-33
Uso de la Función TO_CHAR con Fechas 3-37
Uso de la Función TO_CHAR con Números 3-38
Uso de las Funciones TO_NUMBER y TO_DATE 3-41
Formato de Fecha RR 3-43
Ejemplo de Formato de Fecha RR 3-44
Anidamiento de Funciones 3-45
Funciones Generales 3-47
Función NVL 3-48
Uso de la Función NVL 3-49
Uso de la Función NVL2 3-50
Uso de la Función NULLIF 3-51
Uso de la Función COALESCE 3-52
Expresiones Condicionales 3-54
Expresión CASE 3-55
Uso de la Expresión CASE 3-56
Función DECODE 3-57
Uso de la Función DECODE 3-58
Resumen 3-60
Práctica 3: Visión General de la Parte 2 3-61
4 Información sobre Datos Agregados mediante las Funciones de Grupo
Objetivos 4-2
¿Qué son las Funciones de Grupo? 4-3
Tipos de Funciones de Grupo 4-4
Funciones de Grupo: Sintaxis 4-5
Uso de las Funciones AVG y SUM 4-6
Uso de las Funciones MIN y MAX 4-7
Uso de la Función COUNT 4-8
Uso de la Palabra Clave DISTINCT 4-9
Funciones de Grupo y Valores Nulos 4-10
Creación de Grupos de Datos 4-11
Creación de Grupos de Datos: Sintaxis de la Cláusula GROUP BY 4-12
Uso de la Cláusula GROUP BY 4-13
Agrupación por Más de Una Columna 4-15
Uso de la Cláusula GROUP BY en Varias Columnas 4-16
Consultas Ilegales mediante Funciones de Grupo 4-17
Restricción de Resultados de Grupos 4-19
Restricción de Resultados de Grupos con la Cláusula HAVING 4-20
Uso de la Cláusula HAVING 4-21
Anidamiento de Funciones de Grupo 4-23
Resumen 4-24
Práctica 4: Visión General 4-25
5 Visualización de Datos de Varias Tablas
Objetivos 5-2
Obtención de Datos de Varias Tablas 5-3
Tipos de Uniones 5-4
Unión de Tablas mediante la Sintaxis SQL:1999 5-5
Creación de Uniones Naturales 5-6
Recuperación de Registros con Uniones Naturales 5-7
Creación de Uniones con la Cláusula USING 5-8
Unión de Nombres de Columnas 5-9
Recuperación de Registros con la Cláusula USING 5-10
Cualificación de Nombres de Columna Ambiguos 5-11
Uso de Alias de Tabla 5-12
Creación de Uniones con la Cláusula ON 5-13
Recuperación de Registros con la Cláusula ON 5-14
Autouniones mediante la Cláusula ON 5-15
Aplicación de Condiciones Adicionales a una Unión 5-17
Creación de Uniones en Tres Sentidos con la Cláusula ON 5-18
Uniones No Igualitarias 5-19
Recuperación de Registros con Uniones No Igualitarias 5-20
Uniones Externas 5-21
Uniones INNER frente a OUTER 5-22
LEFT OUTER JOIN 5-23
RIGHT OUTER JOIN 5-24
FULL OUTER JOIN 5-25
Productos Cartesianos 5-26
Generación de un Producto Cartesiano 5-27
Creación de Uniones Cruzadas 5-28
Resumen 5-29
Práctica 5: Visión General 5-30
6 Uso de Subconsultas para Resolver Consultas
Objetivos 6-2
Uso de Subconsultas para Resolver Problemas 6-3
Sintaxis de Subconsultas 6-4
Uso de Subconsultas 6-5
Instrucciones para el Uso de Subconsultas 6-6
Tipos de Subconsultas 6-7
Subconsultas de una Sola Fila 6-8
Ejecución de Subconsultas de una Sola Fila 6-9
Uso de Funciones de Grupo en una Subconsulta 6-10
La Cláusula HAVING con Subconsultas 6-11
¿Qué Problema Hay en Esta Sentencia? 6-12
¿Devolverá Filas Esta Sentencia? 6-13
Subconsultas de Varias Filas 6-14
Uso del Operador ANY en Subconsultas de Varias Filas 6-15
Uso del Operador ALL en Subconsultas de Varias Filas 6-16
Valores Nulos en una Subconsulta 6-17
Resumen 6-19
Práctica 6: Visión General 6-20
7 Uso de Operadores SET
Objetivos 7-2
Operadores SET 7-3
Tablas Utilizadas en Esta Lección 7-4
Operador UNION 7-8
Uso del Operador UNION 7-9
Operador UNION ALL 7-11
Uso del Operador UNION ALL 7-12
Operador INTERSECT 7-13
Uso del Operador INTERSECT 7-14
Operador MINUS 7-15
Instrucciones para los Operadores SET 7-17
Oracle Server y los Operadores SET 7-18
Correspondencia de Sentencias 7-19
Correspondencia de la Sentencia: Ejemplo 7-20
Control del Orden de Filas 7-21
Resumen 7-23
Práctica 7: Visión General 7-24
8 Manipulación de Datos
Objetivos 8-2
Lenguaje de Manipulación de Datos 8-3
Adición de una Nueva Fila a una Tabla 8-4
Sintaxis de la Sentencia INSERT 8-5
Inserción de Nuevas Filas 8-6
Inserción de Filas con Valores Nulos 8-7
Inserción de Valores Especiales 8-8
Inserción de Valores de Fecha Específicos 8-9
Creación de un Archivo de Comandos 8-10
Copia de Filas de Otra Tabla 8-11
Cambio de Datos en una Tabla 8-12
Sintaxis de la Sentencia UPDATE 8-13
Actualización de las Filas de una Tabla 8-14
Actualización de Dos Columnas con una Subconsulta 8-15
Actualización de Filas Basándose en Otra Tabla 8-16
Eliminación de una Fila de una Tabla 8-17
Sentencia DELETE 8-18
Supresión de Filas de una Tabla 8-19
Supresión de Filas Basándose en Otra Tabla 8-20
Sentencia TRUNCATE 8-21
Uso de Subconsultas en una Sentencia INSERT 8-22
Transacciones de la Base de Datos 8-24
Ventajas de las Sentencias COMMIT y ROLLBACK 8-26
Rollback de Cambios hasta un Marcador 8-28
Procesamiento de Transacciones Implícito 8-29
Estado de los Datos antes de COMMIT o ROLLBACK 8-31
Estado de los Datos después de COMMIT 8-32
Validación de Datos 8-33
Estado de los Datos después de ROLLBACK 8-34
Rollback de Nivel de Sentencia 8-36
Consistencia de Lectura 8-37
Implementación de la Consistencia de Lectura 8-38
Resumen 8-39
Práctica 8: Visión General 8-40
9 Uso de Sentencias DDL para Crear y Gestionar Tablas
Objetivos 9-2
Objetos de Base de Datos 9-3
Reglas de Nomenclatura 9-4
La Sentencia CREATE TABLE 9-5
Referencia a Tablas de Otro Usuario 9-6
Opción DEFAULT 9-7
Creación de Tablas 9-8
Tipos de Datos 9-9
Tipos de Datos de Fecha/Hora 9-11
Tipo de Datos INTERVAL DAY TO SECOND 9-16
Inclusión de Restricciones 9-17
Instrucciones de Restricciones 9-18
Definición de Restricciones 9-19
Restricción NOT NULL 9-21
Restricción UNIQUE 9-22
Restricción PRIMARY KEY 9-24
Restricción FOREIGN KEY 9-25
Restricción FOREIGN KEY: Palabras Clave 9-27
Restricción CHECK 9-28
CREATE TABLE: Ejemplo 9-29
Violación de Restricciones 9-30
Creación de Tablas mediante una Subconsulta 9-32
Sentencia ALTER TABLE 9-34
Borrado de un Tabla 9-35
Resumen 9-36
Práctica 9: Visión General 9-37
10 Creación de Otros Objetos de Esquema
Objetivos 10-2
Objetos de Base de Datos 10-3
¿Qué Es una Vista? 10-4
Ventajas de las Vistas 10-5
Vistas Simples y Vistas Complejas 10-6
Creación de Vistas 10-7
Recuperación de Datos de una Vista 10-10
Modificación de Vistas 10-11
Creación de Vistas Complejas 10-12
Reglas para Realizar Operaciones DML en Vistas 10-13
Uso de la Cláusula WITH CHECK OPTION 10-16
Denegación de Operaciones DML 10-17
Eliminación de Vistas 10-19
Práctica 10: Visión General de la Parte 1 10-20
Secuencias 10-21
Sentencia CREATE SEQUENCE: Sintaxis 10-23
Creación de Secuencias 10-24
Pseudocolumnas NEXTVAL y CURRVAL 10-25
Uso de Secuencias 10-27
Caché de Valores de Secuencia 10-28
Modificación de Secuencias 10-28
Instrucciones para Modificar una Secuencia 10-30
Índices 10-31
¿Cómo se Crean los Índices? 10-33
Creación de Índices 10-34
Instrucciones para la Creación de Índices 10-35
Eliminación de Índices 10-36
Sinónimos 10-37
Creación y Eliminación de Sinónimos 10-39
Resumen 10-40
Práctica 10: Visión General de la Parte 2 10-41
11 Gestión de Objetos con Vistas de Diccionario de Datos
Objetivos 11-2
El Diccionario de Datos 11-3
Estructura de los Diccionarios de Datos 11-4
Uso de las Vistas de Diccionario 11-6
Vista USER_OBJECTS 11-7
Información de Tabla 11-9
Información de Columna 11-10
Información de Restricción 11-12
Información de Vista 11-15
Información de Secuencia 11-16
Información de Sinónimos 11-18
Adición de Comentarios a Tablas 11-19
Resumen 11-20
Práctica 11: Visión General 11-21