Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo llevar a cabo algunas de las tareas habituales de un administrador del servidor.
25 horas lectivas
25 horas prácticas
Instalación
Se presenta el servidor de bases de datos empresarial Oracle 12c, enumerando las ediciones disponibles para cada necesidad. Seguidamente se estudia el proceso de instalación, prestando especial atención a las decisiones que hay que tomar a lo largo de esta y a cómo crear una base de datos. Contenido: 1. Introducción. 2. Ediciones de Oracle 12c. 3. Instalación. 4. Asistente de Configuración de Red. 5. Crear bases de datos.
Arquitectura de una base de datos Oracle
Se proporciona una visión general de la arquitectura de una base de datos Oracle; esto es, qué es una instancia, cómo se establecen las conexiones entre el servidor y las aplicaciones cliente, qué archivos configuran una base de datos, etc. Contenido: 1. Instancias. 2. Arquitectura de red. 3. Enterprise Manager Database Express. 4. Archivos de una base de datos.
Tablas
Describe cómo trabajar con la aplicación SQL Developer para crear tablas en una base de datos, así como los distintos tipos de datos disponibles en Oracle para representar campos de texto, con valores numéricos, fechas, etc. Previamente se ha creado un usuario de la base de datos para utilizar su esquema como contenedor de dichos objetos. Contenido: 1. Introducción. 2. Crear el esquema. 3. Crear tablas. 4. Tipos de datos numéricos. 5. Tipos de datos de texto. 6. Tipos de datos de fecha y hora. 7. Secuencias.
Relaciones
Estudia cómo establecer las relaciones entre las tablas de una base de datos Oracle según su naturaleza: 1 a muchos o Muchos a muchos. También se introduce el concepto de integridad referencial y cómo puede afectar al diseño de una base de datos. Contenido: 1. Introducción. 2. Relaciones 1 a Muchos. 3. Restricciones de integridad referencial. 4. Relaciones Muchos a Muchos.
Propiedades de tabla
Describe algunas propiedades de las tablas que permiten afinar el diseño de la base de datos con el objetivo de representar lo más fielmente posible la naturaleza de la información que se almacena, como los valores predeterminados, las restricciones Check o las restricciones UNIQUE. Contenido; 1. Valores predeterminados. 2. Restricciones Check. 3. Restricciones UNIQUE.
Índices
Describe el concepto de índice y de tabla organizada por índices. Se explica cómo crear índices y, lo que es más importante, cuándo hacerlo para mejorar las prestaciones de la base de datos. Contenido: 1. Introducción. 2. Crear índices. 3. Opciones de índice. 4. Tablas organizadas por índices. 5. ¿Cuándo se utilizan los índices?
El lenguaje SQL (I)
Presenta el lenguaje SQL como un estándar a la hora de acceder a bases de datos relacionales y estudia la sentencia SELECT para crear consultas de selección, mencionando algunos operadores y las funciones agregadas del lenguaje SQL. Finaliza la lección enumerando algunas de las funciones que se pueden utilizar para realizar conversiones explícitas de tipo. Contenido: 1. Introducción. 2. La sentencia SELECT. 3. Selecciones complejas. 4. Funciones agregadas. 5. Conversión entre tipos de datos.
El lenguaje SQL (II)
Estudia algunos operadores avanzados de SQL, como la forma de combinar tablas con los operadores INNER JOIN y OUTER JOIN, la posibilidad de escribir subconsultas o de utilizar el operador EXISTS. Contenido: 1. El operador INNER JOIN. 2. El operador OUTER JOIN. 3. Subconsultas. 4. El operador EXISTS.
El lenguaje SQL (III)
Se estudian las consultas de UNION en SQL, que permiten obtener resultados que, de otra forma, no sería posible. Además, se estudian la sentencias SQL para realizar consultas de actualización, en la que la base de datos se ve modificada y, finalmente, el impacto de los índices a la hora de analizar las consultas. Contenido: 1. El operador UNION. 2. La sentencia INSERT. 3. La sentencia UPDATE. 4. La sentencia DELETE. 5. La tabla DUAL. 6. Índices y consultas.
Vistas
Se estudia cómo crear vistas tanto para proteger información confidencial como para facilitar el acceso a resultados de consultas complejas. Se explica también la posibilidad de actualizar las vistas y crear vistas materializadas. Contenido: 1. Introducción. 2. Una vista sencilla. 3. Una vista más compleja. 4. Actualización de vistas. 5. Vistas materializadas.
Procedimientos almacenados (I)
Introduce el concepto de procedimiento almacenado, como un objeto más de una base de datos Oracle. Explica las ventajas de los procedimientos almacenados respecto a las consultas ''ad hoc'' en SQL, la posibilidad de utilizar no solo PL/SQL sino también Java y cómo declarar y utilizar parámetros en los procedimientos. Contenido: 1. Introducción. 2. Un procedimiento simple. 3. Parámetros.
Procedimientos almacenados (II)
Estudia conceptos clásicos de programación que podemos emplear en PL/SQL, como declarar variables, utilizar estructuras de decisión y de repetición, cursores, etc. Contenido: 1. Variables. 2. Estructuras de decisión. 3. Cursores y estructuras de repetición. 4. Cursores implícitos.
Procedimientos almacenados (III)
Estudia aspectos avanzados relacionados con los procedimientos almacenados en Oracle, como la utilización de la instrucción INSERT INTO ... SELECT; de bloques EXCEPTION para manejar errores; englobar varias operaciones en una transacción; y recomendaciones a la hora de emplear procedimientos almacenados. Contenido: 1. INSERT INTO ... SELECT. 2. Excepciones. 3. Transacciones. 4. Utilidad de los procedimientos almacenados.
Funciones y paquetes
Explica qué son las funciones definidas por el usuario y sus diferencias con los procedimientos almacenados. Presenta los distintos tipos de funciones y muestra un ejemplo de una función que devuelve un valor escalar. La lección finaliza estudiando cómo agrupar unidades de código relacionadas en un paquete. Contenido: 1. Introducción. 2. Crear funciones. 3. Utilizar funciones. 4. Paquetes. 5. Conclusión.
Disparadores (triggers)
Describe los disparadores o triggers, que son unidades de código que se pueden asociar con las tablas y vistas de una base de datos con el propósito de que se ejecuten automáticamente ante operaciones INSERT, UPDATE o DELETE. Estudia los dos tipos de desencadenadores en Oracle: BEFORE/AFTER e INSTEAD OF. Contenido: 1. Introducción. 2. Disparadores BEFORE y AFTER. 3. Las tablas :old y :new. 4. Disparadores INSTEAD OF.
Java en la base de datos
Explica cómo implementar código Java en el propio servidor de bases de datos Oracle, lo que amplía las posibilidades a la hora de programar aplicaciones de acceso a bases de datos. Contenido: 1. Introducción. 2. JDeveloper. 3. Una función de ejemplo. 4. Utilizar la función.
Propiedades de base de datos
Estudia las principales propiedades de una base de datos Oracle, describiendo detalles de memoria, procesos y almacenamiento de la misma. Se determina también cómo cambiar los parámetros de inicialización de una forma permanente utilizando archivos SPFILE. Contenido: 1. Estructuras de almacenamiento de una base de datos. 2. Tablespaces y archivos de datos. 3. Archivos de control y redo logs. 4. Memoria y procesos. 5. Parámetros de inicialización. 6. Asistente de Configuración de Bases de Datos.
Esquemas
Explica qué son los esquemas y para qué pueden ser utilizados. Se hace especial mención al hecho de tener en cuenta los esquemas cuando realizamos consultas contra la base de datos y a la relación uno a uno entre esquemas y usuarios. Contenido: 1. ¿Qué son los esquemas? 2. El esquema actual. 3. Proteger objetos con esquemas. 4. Eliminar esquemas.
Seguridad (I)
Estudia la forma de establecer la seguridad en el acceso a una base de datos Oracle. Estudia los distintos métodos de autenticación que se pueden utilizar, cómo limitar el consumo de recursos del servidor mediante perfiles y los privilegios del sistema. Contenido: 1. Autenticación. 2. Creear usuarios. 3. Perfiles. 4. Privilegios del sistema. 5. Privilegios administrativos.
Seguridad (II)
Describe características del servidor Oracle para establecer la seguridad en el acceso a los datos, como la forma de establecer privilegios sobre los objetos o utilizar roles para que sea más fácil la administración de los privilegios que necesitan los usuarios y las aplicaciones. Contenido: 1. Privilegios de objeto. 2. Ejecución de procedimientos. 3. Roles. 4. Autenticación de los roles y el role por defecto. 5. Roles de aplicación.