1. Lenguajes relacionales
1.1. Tipos de lenguajes relacionales
1.2. Operaciones en el modelo relacional
1.3. Álgebra relacional
1.3.1. Clasificación de operadores
1.3.2. Denominación de atributos
1.3.3. Relaciones derivadas
1.3.4. Operaciones primitivas: selección, proyección, producto cartesiano, unión y diferencia
1.3.5. Otras operaciones: intersección, join, división
1.4. Cálculo relacional
1.4.1. Cálculo relacional orientado a tuplas
1.4.2. Cálculo relacional orientado a dominios
1.5. Transformación de consultas entre álgebra y cálculo relacional
1.6. Lenguajes comerciales: SQL (Structured Query Language), QBE (Query By Example)
1.7. Orígenes y evolución del SQL
1.8. Características del SQL
1.9. Sistemas de gestión de bases de datos con soporte SQL
Ejercicio propuesto
2. El lenguaje de manipulación de la base de datos
2.1. El lenguaje de definición de datos (DDL)
2.1.1. Tipos de datos del lenguaje
2.1.2. Creación, modificación y borrado de bases de datos
2.1.3. Creación, modificación y borrado de esquemas
2.1.4. Creación, modificación y borrado de tablas
2.1.5. Creación, modificación y borrado de vistas
2.1.6. Creación, modificación y borrado de índices
2.1.7. Especificación de restricciones de integridad
2.2. El lenguaje de manipulación de datos (DML)
2.2.1. Construcción de consultas de selección: agregación, subconsultas, unión, intersección, diferencia
2.2.2. Construcción de consultas de inserción
2.2.3. Construcción de consultas de modificación
2.2.4. Construcción de consultas de borrado
2.3. Cláusulas de lenguaje para la agrupación y ordenación de consultas
2.4. Capacidades aritméticas, lógicas y de comparación del lenguaje
2.5. Funciones agregadas del lenguaje
2.6. Tratamiento de valores nulos
2.7. Construcción de consultas anidadas
2.7.1. Subconsultas que generan valores simples
2.7.2. Subconsultas que generan conjuntos de valores
2.7.3. Consultas correlacionadas
2.8. Unión, intersección y diferencia de consultas
2.8.1. Operador union
2.8.2. Operador intersect
2.8.3. Operador except
2.9. Consultas de tablas cruzadas
2.10. Otras cláusulas del lenguaje
2.10.1. Los dominios
2.10.2. La orden TRUNCATE
2.10.3. El comando SHOW
2.11. Extensiones del lenguaje
2.11.1. Creación, manipulación y borrado de vistas
2.11.2. Especificación de restricciones de integridad
2.11.3. Instrucciones de autorización
2.11.4. Control de las transacciones
2.12. El lenguaje de control de datos (DCL)
2.12.1. Transacciones
2.12.2. Propiedades de las transacciones: atomicidad, consistencia, aislamiento y permanencia
2.12.3. Estados de una transacción: activa, parcialmente comprometida, fallida, abortada y comprometida
2.12.4. Consultas y almacenamiento de estructuras en XML
2.12.5. Estructura del diccionario de datos
2.12.6. Control de transacciones
2.12.7. Privilegios: autorizaciones y desautorizaciones
2.13. Procesamiento y optimización de consultas
2.13.1. Procesamiento de una consulta
2.13.2. Tipos de optimización: basada en reglas, basada en costes, otros
2.13.3. Herramientas de la base de datos para la optimización de consultas
Ejercicios propuestos
Anexo I: instalación de PostgreSQL
Bibliografía
Páginas web