La presente obra se ha tratado de ajustar en lo posible a los contenidos oficiales del módulo formativo de 210 horas de duración llamado "Programación de bases de
datos relacionales" (MF0226_3), incluido en los certificados de profesionalidad "Programación con lenguajes orientados a objetos y bases de datos
relacionales" (IFC0112) y "Programación en lenguajes estructurados de aplicaciones de gestión" (IFCD0111), ambos de nivel 3, el nivel más alto que se otorga a una cualificación profesional.
Dicho módulo trata de ofrecer una visión general de las bases de datos relacionales, incluyendo los principios generales de los sistemas gestores de bases de datos,
metodología de análisis y diseño para implementarlas, así como los principales lenguajes de programación para implementarlas y explotarlas.
Aunque durante el libro se quiere dar una visión general de este tipo de bases de datos y de sus elementos, también se describen DBMS concretos y se realizan ejercicios guiados con sistemas concretos y con herramientas muy diversas, con el objetivo de CAPÍTULO 2. MODELOS CONCEPTUALES DE BASES DE DATOS CAPÍTULO 3. EL MODELO RELACIONAL CAPÍTULO 4. EL CICLO DE VIDA DE UN PROYECTO CAPÍTULO 5. CREACIÓN Y DISEÑO DE BASES DE DATOS CAPÍTULO 6. LENGUAJES RELACIONALES CAPÍTULO 7. EL LENGUAJE DE MANIPULACIÓN DE LA BASE DE DATOS CAPÍTULO 8. LENGUAJES DE PROGRAMACIÓN DE BASES DE DATOS BIBLIOGRAFÍA
llevar a la práctica lo estudiado a lo largo de los capítulos que integran el trabajo.
1.1 EVOLUCIÓN HISTÓRICA DE LAS BASES DE DATOS
1.2 VENTAJAS E INCONVENIENTES DE LAS BASES DE DATOS
1.3 CONCEPTOS GENERALES
1.3.1 Concepto de bases de datos
1.3.2 Objetivos de los sistemas de bases de datos
1.3.3 Administración de los datos y administración de bases de datos
1.3.4 Niveles de arquitectura: interno, conceptual y externo
1.3.5 Modelos de datos. Clasificación
1.3.6 Independencia de los datos
1.3.7 Lenguaje de definición de datos
1.3.8 Lenguaje de manejo de bases de datos. Tipos
1.3.9 El Sistema de Gestión de la Base de Datos (DBMS). Funciones
1.3.10 El administrador de la base de Datos (DBA). Funciones
1.3.11 Usuarios de las bases de datos
1.3.12 Estructura general de la base de datos. Componentes funcionales
1.3.13 Arquitectura de sistemas de bases de datos
1.4 EJERCICIOS PROPUESTOS
1.5 TEST DE CONOCIMIENTOS
2.1 EL MODELO ENTIDAD-RELACIÓN
2.1.1 Entidades
2.1.2 Interrelaciones: Cardinalidad, Rol y Grado
2.1.3 Dominios y valores
2.1.4 Atributos
2.1.5 Propiedades identificatorias
2.1.6 Diagramas entidad-relación. Simbología
2.2 EL MODELO ENTIDAD-RELACIÓN EXTENDIDO
2.3 RESTRICCIONES DE INTEGRIDAD
2.3.1 Restricciones inherentes
2.3.2 Restricciones explícitas
2.4 EJERCICIOS RESUELTOS
2.5 EJERCICIOS PROPUESTOS
2.6 TEST DE CONOCIMIENTOS
3.1 EVOLUCIÓN DEL MODELO RELACIONAL
3.2 ESTRUCTURA DEL MODELO RELACIONAL
3.2.1 El concepto de relación. Propiedades de las relaciones
3.2.2 Atributos y dominio de los atributos
3.2.3 Tupla, grado y cardinalidad
3.2.4 Relaciones y tablas
3.3 CLAVES EN EL MODELO RELACIONAL
3.3.1 Claves candidatas
3.3.2 Claves primarias
3.3.3 Claves alternativas
3.3.4 Claves ajenas
3.4 RESTRICCIONES DE INTEGRIDAD
3.4.1 Valor "Null" en el modelo
3.4.2 Integridad de las entidades
3.4.3 Integridad referencial
3.5 TEORÍA DE LA NORMALIZACIÓN
3.5.1 El proceso de normalización. Tipos de dependencias funcionales
3.5.2 Primera forma normal (1FN)
3.5.3 Segunda forma normal (2FN)
3.5.4 Tercera forma normal (3FN)
3.5.5 Otras formas normales (4FN, 5FN)
3.5.6 Desnormalización. Razones para la desnormalización
3.6 EJERCICIOS RESUELTOS
3.7 EJERCICIOS PROPUESTOS
3.8 TEST DE CONOCIMIENTOS
4.1 EL CICLO DE VIDA DE UNA BASE DE DATOS
4.1.1 Estudio previo y plan de trabajo. Actividades
4.1.2 Concepción de la base de datos y selección del equipo físico y lógicos
4.1.3 Diseño y carga
4.2 CONCEPTOS GENERALES DEL CONTROL DE CALIDAD
4.2.1 Control de calidad de las especificaciones funcionales
4.2.2 Seguimiento de los requisitos de usuario
4.3 EJERCICIOS PROPUESTOS
4.4 TEST DE CONOCIMIENTOS
5.1 ENFOQUES DE DISEÑO
5.1.1 Diseños incorrectos. Causas
5.1.2 Enfoque de análisis. Ventajas y desventajas
5.1.3 Enfoque de síntesis. Ventajas y desventajas
5.2 METODOLOGÍA DE DISEÑO
5.2.1 Concepto
5.2.2 Diseños conceptual, lógico y físico
5.2.3 Entradas y salidas del proceso
5.3 ESTUDIO DEL DISEÑO LÓGICO DE UNA BASE DE DATOS RELACIONAL
5.4 EL DICCIONARIO DE DATOS: CONCEPTO Y ESTRUCTURA
5.5 ESTUDIO DEL DISEÑO DE BBDD Y DE LOS REQUISITOS DE USUARIO
5.6 EJERCICIOS PROPUESTOS
5.7 TEST DE CONOCIMIENTOS
6.1 TIPOS DE LENGUAJES RELACIONALES
6.2 OPERACIONES EN EL MODELO RELACIONAL
6.3 ÁLGEBRA RELACIONAL
6.3.1 Clasificación de operadores
6.3.2 Denominación de atributos
6.3.3 Relaciones derivadas
6.3.4 Operaciones primitivas: selección, proyección, producto cartesiano, unión y diferencia
6.3.5 Otras operaciones: intersección, join, división, etc.
6.4 CÁLCULO RELACIONAL
6.4.1 Cálculo relacional orientado a dominios
6.4.2 Cálculo relacional orientado a tuplas
6.5 TRANSFORMACIÓN DE CONSULTAS ENTRE ÁLGEBRA Y CÁLCULO RELACIONAL
6.6 LENGUAJES COMERCIALES: SQL (STRUCTURED QUERY LANGUAGE), QBE (QUERY BY EXAMPLE)
6.7 ORÍGENES Y EVOLUCIÓN DEL SQL
6.8 CARACTERÍSTICAS DEL SQL
6.9 SISTEMAS DE GESTIÓN DE BASES DE DATOS CON SOPORTE SQL
6.10 EJERCICIOS RESUELTOS
6.11 EJERCICIOS PROPUESTOS
6.12 TEST DE CONOCIMIENTOS
7.1 EL LENGUAJE DE DEFINICIÓN DE DATOS (DDL)
7.1.1 Tipos de datos del lenguaje
7.1.2 Creación, modificación y borrado de tablas
7.1.3 Creación, modificación y borrado de vistas
7.1.4 Creación, modificación y borrado de índices
7.1.5 Especificación de restricciones de integridad
7.2 EL LENGUAJE DE MANIPULACIÓN DE DATOS (DML)
7.2.1 Construcción de consultas de selección: Agregación, Subconsultas, Unión, Intersección,
Diferencia
7.2.2 Construcción de consultas de inserción
7.2.3 Construcción de consultas de modificación
7.2.4 Construcción de consultas de borrado
7.3 CLÁUSULAS DEL LENGUAJE PARA LA AGRUPACIÓN Y ORDENACIÓN DE LAS CONSULTAS
7.4 CAPACIDADES ARITMÉTICAS, LÓGICAS Y DE COMPARACIÓN DEL LENGUAJE
7.5 FUNCIONES AGREGADAS DEL LENGUAJE
7.6 TRATAMIENTO DE VALORES NULOS
7.7 CONSTRUCCIÓN DE CONSULTAS ANIDADAS
7.8 UNIÓN, INTERSECCIÓN Y DIFERENCIA DE CONSULTAS
7.9 CONSULTAS DE TABLAS CRUZADAS
7.10 OTRAS CLÁUSULAS DEL LENGUAJE
7.11 EXTENSIONES DEL LENGUAJE
7.11.1 Creación, manipulación y borrado de vistas
7.11.2 Especificación de restricciones de integridad
7.11.3 Instrucciones de autorización
7.11.4 Control de las transacciones
7.12 EL LENGUAJE DE CONTROL DE DATOS (DCL)
7.12.1 Transacciones
7.12.2 Propiedades de las transacciones: atomicidad, consistencia, aislamiento y permanencia
7.12.3 Control de las transacciones
7.12.4 Privilegios: autorizaciones y desautorizaciones
7.13 PROCESAMIENTO Y OPTIMIZACIÓN DE CONSULTAS
7.13.1 Procesamiento de una consulta
7.13.2 Tipos de optimización: basada en reglas, basadas en costes, otros
7.13.3 Herramientas de la BBDD para la optimización de consultas
7.14 EJERCICIOS RESUELTOS
7.15 EJERCICIOS PROPUESTOS
7.16 TEST DE CONOCIMIENTOS
8.1 ENTORNOS DE DESARROLLO
8.1.1 Qué es un entorno de desarrollo
8.1.2 Componentes
8.1.3 Lenguajes que soportan
8.2 ENTORNOS DE DESARROLLO EN EL ENTORNO DE LA BASE DE DATOS
8.2.1 Definición de Entorno de desarrollo en el entorno de la base de datos
8.2.2 Instalación de MySQL y MySQL Workbench
8.3 LA SINTAXIS DEL LENGUAJE DE PROGRAMACIÓN
8.3.1 Variables
8.3.2 Tipos de datos
8.3.3 Estructuras de control
8.3.4 Librerías de funciones
8.4 PROGRAMACIÓN DE MÓDULOS DE MANIPULACIÓN DE LA BASE DE DATOS: PAQUETES,
PROCEDIMIENTOS Y FUNCIONES
8.5 HERRAMIENTAS DE DEPURACIÓN Y CONTROL DE CÓDIGO
8.5.1 Instalación de la herramienta
8.5.2 Entrada en la aplicación y conexión con la base de datos
8.5.3 Ventana principal de la herramienta
8.5.4 Nuestra primera depuración sencilla
8.6 HERRAMIENTAS GRÁFICAS DE DESARROLLO INTEGRADAS EN LA BASE DE DATOS
8.6.1 Creación de formularios
8.6.2 Creación de informes
8.7 TÉCNICAS PARA EL CONTROL DE LA EJECUCIÓN DE TRANSACCIONES
8.7.1 Comandos START TRANSACTION, COMMIT y ROLLBACK
8.7.2 Comandos SAVEPOINT y ROLLBACK TO SAVEPOINT
8.7.3 Comandos LOCK TABLES y UNLOCK TABLES
8.8 OPTIMIZACIÓN DE CONSULTAS
8.9 EJERCICIOS RESUELTOS
8.10 EJERCICIOS PROPUESTOS
8.11 TEST DE CONOCIMIENTOS
SOLUCIONARIO DE LOS TEST DE CONOCIMIENTOS