La presente obra está dirigida a los estudiantes del Ciclo Formativo Administración de Sistemas Informáticos en Red de Grado Superior, en concreto para el módulo profesional Gestión de Bases de Datos. Se cubren con cierto detalle los distintos modelos de datos predominantes en el mercado, así como los sistemas de software de bases de datos que permiten su implementación física. En primer lugar, se verán los sistemas de almacenamiento para estudiar después el modelo relacional como ejemplo de modelado que más se ha impuesto desde su creación en los años 70. Después, se estudiará cómo se tratan los datos utilizando un gestor o software de bases de datos bastante extendido y bien documentado como es MySQL y el lenguaje genérico (independiente del software) SQL, que permite llevar a cabo las distintas operaciones (consulta, inserción, modificación y borrado de datos). Posteriormente, se verá en detalle el proceso clásico de desarrollo de bases de datos, desde su concepción mediante un modelo conceptual hasta su implementación en un sistema informático. Por último, se desarrollará un ejemplo de software de bases de datos avanzado que utiliza conceptos de la orientación a objetos. Se trata de Oracle, un sistema gestor de bases objeto-relacionales que incorpora conceptos de bases de datos y de objetos tal y como se definieron según el estándar SQL1999. Todo ello con numerosos ejemplos y complementado con una serie de apéndices que amplían y completan los conceptos explicados. Así mismo, se incorporan test de conocimientos y ejercicios propuestos con la finalidad de comprobar que los objetivos de cada capítulo se han asimilado correctamente. Además, reúne los recursos necesarios para incrementar la didáctica del libro, tales como un glosario con los términos informáticos necesarios, bibliografía y documentos para ampliación de los conocimientos. CAPÍTULO 1. SISTEMAS DE ALMACENAMIENTO DE LA INFORMACIÓN CAPÍTULO 2. DISEÑO CONCEPTUAL Y LÓGICO DE BASES DE DATOS CAPÍTULO 3. DISEÑO FÍSICO DE BASES DE DATOS CAPÍTULO 4. REALIZACIÓN DE CONSULTAS CAPÍTULO 5. EDICIÓN DE DATOS CAPÍTULO 6. OTROS OBJETOS DE LA BASE DE DATOS CAPÍTULO 7. OPTIMIZACIÓN DE CONSULTAS CAPÍTULO 8. CONSTRUCCIÓN DE GUIONES CAPÍTULO 9. GESTIÓN DE LA SEGURIDAD DE LOS DATOS CAPÍTULO 10. BASES DE DATOS DISTRIBUIDAS
1.1 ALMACENAMIENTO DE LA INFORMACIÓN
1.2 SISTE MAS DE ARCHIVOS
1.2.1 Organización primaria de archivos
1.2.2 Métodos de Acceso
1.3 SISTEMAS DE BASES DE DATOS
1.3.1 Arquitectura de sistemas de bases de datos
1.3.2 Modelos de datos
1.3.3 Tipos de modelos
1.4 SISTEMAS GESTORES DE BASES DE DATOS
1.4.1 Definición y objetivos
1.4.2 Funciones del Sistema Gestor de Base de Datos (SGBD)
1.4.3 Componentes de un SGBD
1.4.4 Usuarios de los SGBD
1.4.5 Modelo ANSI /X3/SPARC
1.4.6 Tipos de SGBD
1.4.7 Sistemas gestores de base de datos comerciales y libres
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPU ESTOS
TEST DE CONOCIMIENTOS
2.1 EL MODELO ENTIDAD/INTERR ELACIÓN
2.1.1 Elementos del modelo entidad/interrelación
2.1.2 Modelo entidad relación extendido: Jerarquías
2.2 EL MODELO RELACIONAL
2.2.1 Terminología del modelo relacional
2.2.2 Restricciones en el modelo
2.2.3 El grafo relacional
2.3 OBTENCIÓN DEL MODELO LÓGICO DE DATOS (RELACIONAL) A PARTIR DEL MODELO
conceptual o mer
2.3.1 Reglas de transformación
2.4 NORMALIZACIÓN
2.4.1 Dependencias funcionales
2.4.2 Formas normales
2.5 CONCEPTOS DEL MODELO ORIENTADO A OBJETOS
2.5.1 El modelo estándar ODMG
2.5.2 Diseño de bases de objetos: El lenguaje UML
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPU ESTOS
TEST DE CONOCIMIENTOS
3.1 MANIPUL ACIÓN DE BASES DE DATOS
3.2 MANIPUL ACIÓN DE TABLAS
3.2.1 Creación de tablas
3.2.2 Eliminación de tablas
3.2.3 Consulta de tablas
3.2.4 Definición de atributos. Tipos de datos
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
4.1 INTRODUCCIÓN DE LA SENTENCIA SELECT EN MYSQL
4.2 BASE DE DATOS DE EJEMPL O
4.3 CONSUL TAS BÁSICAS
4.3.1 Cláusula ORDER BY
4.3.2 Cláusula DISTINCT
4.3.3 Cláusula LIMIT
4.3.4 Expresiones
4.3.5 Funciones propias de MySQL
4.3.6 Cláusula WHERE
4.3.7 Predicados en SQL
4.3.8 Funciones de agregado
4.3.9 Cláusula GROUP BY. Consultas con agrupamiento de filas
4.3.10 Cláusula HAVING
4.4 SUBCONSULTAS
4.4.1 Consultas correlacionadas
4.5 CONSUL TAS SOBR E VARIAS TABL AS
4.5.1 Operaciones de reunión (JOIN)
4.5.2 Operaciones de unión/intersección/diferencia
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
5.1 INSERCIÓN DE REGISTROS
5.1.1 Cláusula INSERT
5.1.2 Cláusula REPLACE
5.2 MODIFICACIÓN DE REGISTROS
5.3 BORRADO DE REGISTROS
5.4 BORRADOS Y MODIFICACIONES E INTEGRIDAD REFERENCIAL
5.5 TRANSACCIONES
5.6 POLÍTICAS DE BLOQUEO DE TABL AS
5.6.1 Comandos de bloqueo de tablas
5.6.2 Tipos de bloqueo
5.6.3 Adquisición-liberación de un bloqueo
5.6.4 Bloqueos y transacciones
5.6.5 I nserciones concurrentes
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
6.1 VISTAS
6.1.1 Ventajas de las vistas
6.1.2 Vistas en MySQL
6.2 ENLACES A OTRAS BASES DE DATOS
6.2.1 Enlaces entre tablas de distintos gestores
6.2.2 Vínculos a bases de datos remotas
6.3 SINÓNIMOS
6.3.1 Sinónimos públicos/privados
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
7.1 ÍNDICES
7.1.1 Tipos de Índices
7.1.2 Índices en MySQL
7.1.3 Gestión de índices
7.1.4 Procesamiento de consultas
7.1.5 Optimización de consultas e índices
7.2 SUGERENCIAS DE EJECUCIÓN DE CONSULTAS
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
8.1 LENGUAJES DE PROGRAMACIÓN Y BASES DE DATOS
8.2 PROCEDIMIENTOS Y FUNCIONES ALMACENADOS EN MYSQL
8.2.1 Sintaxis y ejemplos de rutinas almacenadas
8.2.2 Parámetros y variables
8.2.3 Instrucciones condicionales
8.2.4 Instrucciones repetitivas o loops
8.2.5 SQL en rutinas: cursores
8.2.6 Gestión rutinas almacenadas
8.2.7 Manejo de errores
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
9.1 TIPOS DE FALLOS
9.2 COPIAS DE SEGURIDAD DE BASES DE DATOS
9.2.1 Tipos de copias de seguridad
9.2.2 Copias de seguridad en MySQL
9.2.3 Exportación/importación de datos
9.2.4 Uso de MySQL Workbench para gestión de copias, recuperación y exportación e importación de datos
RES UMEN DE L CA PÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
10.1 CONCEPTOS DE BASES DE DATOS DISTRIBUIDAS
10.1.1 Introducción
10.1.2 Arquitectura de un DDBMS
10.1.3 Fragmentación, replicación y distribución de datos
10.1.4 Tipos de sistemas de bases distribuidas
10.2 REPLICACIÓN EN MY SQL
10.2.1 Introducción a la replicación en MySQL
10.2.2 Arquitectura y configuración
10.2.3 Implementación de la replicación en MySQL
10.2.4 Administración y mantenimiento
10.3 BALANCEO DE CARGA Y ALTA DISPONIBILIDAD
10.3.1 Fundamentos
10.3.2 MySQL Cluster
10.3.3 Organización de los datos
10.3.4 Instalación y configuración
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
APÉNDICE A. INSTALACIÓN Y PRIMEROS PASOS CON MYSQL WORKBENCH Y ORACLE DATABASE DEVELOPER
A.1 MYSQL WORKBENCH
A.2 INSTALACIÓN ORACLE EXPRESS EDITION 11G Y ORACLE DATABASE DEVELOPER
A.3 ARRANQUE DE ORACLE
A.4 I NSTALAR Y PR IMEROS PASOS CON SQL DEVELOPER
APÉNDICE B. LENGUAJE DE PROGRAMACIÓN PL/SQL EN ORACLE
MATERIAL ADICIONAL
ÍNDICE ALFABÉTICO