Sobre el autor
Introducción
A quién está dirigido este libro
Qué se trata en el libro
Qué necesita para utilizar este libro
Cómo está estructurado este libro
Parte I
Parte II
Parte III
Parte IV
Parte V
Parte VI. Apéndices
Cómo utilizar este libro
Nota para los profesores
Nota para los estudiantes
Convenciones
Ejemplos
Parte I. Introducción a las bases de datos y su diseño
1. Objetivos del diseño efectivo de una base de datos
Comprender la importancia del diseño
Contenedores de información
Ventajas e inconvenientes de los contenedores de información
Características deseables en una base de datos
CRUD
Obtención
Consistencia
Validez
Corrección fácil de los errores
Velocidad
Transacciones atómicas
ACID
Persistencia y copias de seguridad
Bajo coste y extensibilidad
Facilidad de uso
Portabilidad
Seguridad
Compartir
Posibilidad de realizar cálculos complejos
Consecuencias de un buen y mal diseño
Resumen
Ejercicios
2. Tipos de bases de datos
¿Por qué preocuparse?
Archivos planos
Archivos INI
Registro del sistema de Windows
Bases de datos relacionales
Hojas de cálculo
Bases de datos jerárquicas
XML
Nociones básicas de XML
Estructuras XML
Resumen sobre XML
Redes
Objetos
Objeto-relacionales
Exóticas
Orientada a los documentos
Deductivas
Dimensionales
Temporales
Resumen
Ejercicios
3. Fundamentos de las bases de datos relacionales
Puntos de vista relacionales
Tabla, filas y columnas
Relaciones, atributos y tuplas
Claves
Índices
Restricciones
Restricciones básicas
Restricciones de comprobación
Restricciones de clave primarias
Restricciones únicas
Restricción de clave ajena
Operaciones en las bases de datos
Resumen
Ejercicios
Parte II. Proceso y técnicas de diseño de la base de datos
4. Entender las necesidades del usuario
Planificación
Tener una lista de preguntas
Funcionalidad
Necesidades de los datos
Integridad de los datos
Seguridad
Entorno
Encuentro con los clientes
Saber quién es quién
Elegir en el cerebro de los clientes
Ponerse en el papel de los clientes
Estudiar las operaciones actuales
Tormenta de ideas
Mirar al futuro
Entender el razonamiento de los clientes
Entender lo que necesita el cliente de verdad
Priorizar
Verificar sus conocimientos
Escribir el documento de los requisitos
Realizar casos de uso
Decidir la viabilidad
Resumen
Ejercicios
5. Convertir las necesidades del usuario a modelos de datos
Qué son los modelos de datos
Modelos de interfaz de usuario
Modelos de objetos semánticos
Clases y objetos
Cardinalidad
Identificadores
Poner juntas todas las piezas
Vistas semánticas
Tipos de clases
Objetos simples
Objetos complejos
Objetos compuesto
Objetos híbridos
Asociación de objetos
Objetos heredados
Comentarios y notas
Modelos entidad-relación
Entidades, atributos e identificadores
Relaciones
Cardinalidad
Herencia
Convenciones adicionales
Comentarios y notas
Modelos relacionales
Convertir modelos de objetos semánticos
Convertir diagramas ER
Resumen
Ejercicios
6. Extraer las reglas empresariales
Qué son las reglas empresariales
Identificar las reglas empresariales clave
Extraer las reglas empresariales
Aplicaciones multicapa
Resumen
Ejercicios
7. Normalización de datos
Qué es la normalización
Primera forma normal (1NF)
Segunda forma normal (2NF)
Tercera forma normal (3NF)
Detenerse en la tercera forma normal
Forma normal de Boyce-Codd (BCNF)
Cuarta forma normal (4NF)
Quinta forma normal (5NF)
Forma normal dominio/clave (DKNF)
Redundancia esencial
El mejor nivel de normalización
Resumen
Ejercicios
8. Diseñar bases de datos para que admitan el software de las aplicaciones
Planificación por adelantado
Documentarlo todo
Considerar la arquitectura multicapa
Convertir dominios en tablas
Hacer que las tablas sean precisas
Utilizar tres tipos de tablas
Utilizar convenciones de nomenclatura
Permitir cierta redundancia de datos
No incluirlo todo a la fuerza
Resumen
Ejercicios
9. Patrones de diseño frecuentes
Asociaciones
Asociaciones varios a varios
Múltiples asociaciones varios a varios
Asociaciones de múltiples objetos
Asociaciones de atributos repetidos
Asociaciones reflexivas
Asociaciones reflexivas uno a uno
Asociaciones reflexivas uno a varios
Datos jerárquicos
Datos de red
Datos temporales
Fechas efectivas
Objetos eliminados
Decidir qué temporalizar
Inicio de sesión y bloqueo
Registros de auditorías
Registros llave en mano
Resumen
Ejercicios
10. Peligros de diseño frecuentes
Falta de preparación
Documentación pobre
Estándares de nomenclatura pobres
Pensar muy poco
No planificar los cambios
Demasiada normalización
Normalización insuficiente
Pruebas insuficientes
Ansiedad por el rendimiento
Tablas con valores no relacionados
No implementar las restricciones
Obsesión por las ID
No definir las claves naturales
Resumen
Ejercicios
Parte III. Estudio de un caso práctico en detalle
11. Necesidades y requisitos del usuario
Entrevista con los clientes
Seleccionar información de los clientes
Determinar qué debería hacer el sistema
Determinar la apariencia del proyecto
Determinar los datos necesarios para la interfaz de usuario
Determinar de dónde vienen los datos
Determinar cómo están relacionados los distintos datos
Determinar las necesidades de rendimiento
Determinar las necesidades de seguridad
Determinar las necesidades de integridad de los datos
Escribir casos de uso
Escribir el documento de requisitos
Exigir respuestas
Resumen
Ejercicios
12. Construir un modelo de datos
Modelado de objetos semánticos
Construir un modelo de objeto semántico inicial
Mejorar el modelo de objeto semántico
Modelar la entidad-relación
Construir un diagrama ER
Construir un diagrama ER combinado
Mejorar el diagrama entidad-relación
Modelado relacional
Poner todas las piezas juntas
Resumen
Ejercicios
13. Extraer las reglas empresariales
Identificar las reglas empresariales
Cursos
CursosCliente
Clientes
Mascotas
Empleados
Pedidos
ArtículosPedido
ArtículosInventario
HorasEntrada
Turnos
Personas
Teléfonos
Proveedores
Dibujar un nuevo modelo relacional
Resumen
Ejercicios
14. Normalización y mejora
Mejorar la flexibilidad
Verificar la primera forma normal
Verificar la segunda forma normal
Mascotas
HorasEntrada
Verificar la tercera forma normal
Resumen
Ejercicios
Parte IV. Implementar bases de datos (con ejemplos en Access y MySQL)
15. Microsoft Access
Entender Access
Cómo empezar
Definir relaciones
Crear restricciones de campo
Crear restricciones de tabla
Crear consultas
Vista Diseño de consulta
Vista SQL
Resumen
Ejercicios
16. MySQL
Instalar MySQL
Utilizar MySQL Command Line Client
Ejecutar secuencias de comandos de SQL
Utilizar MySQL Query Browser
Ejecutar consultas
Editar datos
Crear y modificar bases de datos
Utilizar secuencias de comandos
Conseguir ayuda con la sintaxis
Utilizar MySQL Workbench
Cargar secuencias de comandos
Crear diagramas EER
Editar bases de datos
Definir disparadores
Exportar secuencias de comandos
Resumen
Ejercicios
Parte V. Temas avanzados
17. Introducción a SQL
Conocimientos básicos
Encontrar más información
Normas básicas
Sintaxis básica
Visión general de las instrucciones
CREATE TABLE
CREATE INDEX
DROP
INSERT
SELECT
Cláusula SELECT
Cláusula FROM
Cláusula WHERE
Cláusula GROUP BY
Cláusula ORDER BY
UPDATE
DELETE
Resumen
Ejercicios
18. Construir bases de datos con secuenciasde comandos SQL
¿Por qué preocuparse por las secuencias de comandos?
Categorías de secuencias de comandos
Secuencias de comandos para crear bases de datos
Secuencias de comandos de inicialización básicas
Secuencias de comandos para inicializar datos
Secuencias de comandos de limpieza
Secuencias de comandos para guardar
Ordenar instrucciones SQL
Resumen
Ejercicios
19. Mantenimiento de bases de datos
Copias de seguridad
Almacenamiento de datos
Reparar la base de datos
Compactar la base de datos
Realizar mejoras
Resumen
Ejercicios
20. Seguridad de bases de datos
Nivel correcto de seguridad
Contraseñas
Bases de datos con una contraseña
Contraseñas individuales
Contraseñas del sistema operativo
Buenas contraseñas
Privilegios
Configuración inicial y privilegios
Seguridad excesiva
Seguridad física
Resumen
Ejercicios
Parte VI. Apéndices
A. Soluciones de los ejercicios
B. Diseños de bases de datos de ejemplo
C. Glosario
Índice alfabético
La mayoría de la informática empresarial está relacionada con aplicaciones de bases de datos. Éstas juegan un papel fundamental en las operaciones comerciales de muchas empresas, ya que guardan información relevante sobre productos, clientes, proveedores, ventas y otro tipo de pesquisas esenciales.
Este libro proporciona a los lectores herramientas y métodos comprobados para diseñar bases de datos eficientes, fiables y seguras, y cómo hay que organizarlas para asegurar la integridad de los datos sin sacrificar su rendimiento. En este libro aprenderá las características deseables de una base de datos, cómo planificar y realizar operaciones, cómo convertir dominios en tablas y conseguir de éstas la mayor precisión, construir un diagrama ER, y la configuración inicial y los privilegios de una base de datos, entre muchas posibilidades más.