MUKHAR, KEVIN / LAUINGER, TODD / CARNELL, JOHN
Introducción
¿A quién va dirigido este libro?
¿De qué trata este libro?
Sección I: Java, SQL y Bases de datos
Sección II: Exploración de JDBC
Parte III: Paso de objetos a relaciones
Sección IV: Bases de datos y Java en la empresa
Sección V: Apéndices
Qué necesita para utilizar este libro
Convenciones empleadas
Cómo funciona
Obtener el código fuente
Díganos lo que piensa
Erratas
Configuración del entorno Java
Instalación del JDK
Definir la variable JAVA_HOME
Definir la variable PATH
Definir la variable CLASSPATH
Estructura de los directorios para los ejemplos
1. Bases de datos relacionales y Java
Datos persistentes
Persistencia en Java
Ficheros planos
Serialización de objetos
Bases de datos relacionales
Asociaciones relacionales
Structured Query Language
Cómo interactúa Java con bases de datos
JDBC
SQLJ
EJB
JDO
Características de un RDBMS
Transacciones
Acceso concurrente
Lenguajes propietarios
Elección del RDBMS para este libro
Cloudscape
Instalación de Cloudscape
Otros aspectos útiles de Cloudscape
Instalación de la base de datos de ejemplo
Oracle
Microsoft SQL Server
IBM
Bases de datos de código libre
Bases de datos personales
Resumen
2. JDBC: Técnicas básicas
Terminología y conceptos
SQL y JDBC
Relacionar JDBC con ODBC
El paquete JDBC
Versiones de JDBC
JDBC 1.x
JDBC 2.0
El núcleo del API JDBC 2.0
El paquete opcional del API JDBC 2.0
JDBC 3.0
Cómo funciona JDBC
Preparación
Cargar el driver
Establecer una conexión
URLs y JDBC
Conexión con otras bases de datos
Statements y ResultSets
Acceder a datos en un ResultSet
Obtener los metadatos de un resultado
El programa JDBC básico
Gestión de errores
SQLException
El Mensaje de la Excepción
El Estado SQL
Código de Error del Fabricante
Encadenar excepciones SQL
Advertencias SQL
Resumen
3. Consultas y manipulación de datos en SQL
Una sencilla historia de SQL
¿Qué es SQL?
SQL y la teoría de conjuntos
Acceso a datos mediante SELECT
Estructura básica del comando SELECT
Especificar las columnas
Seleccionar registros no repetidos
Dar formato a SQL
Cálculos
Construcción de fórmulas
Especificar los nombres de columna
Expresiones con funciones
Tipos de datos en SQL
Tipos de datos y cálculos
Ordenar datos
Obtener sólo los primeros n registros
Aplicar condiciones a una sentencia SELECT
Indicar varias condiciones
Búsquedas aproximadas
Consideraciones especiales sobre los valores Null
Gestionar los valores Null
Uso de grupos con funciones estadísticas
Restricciones de campos con GROUP BY
Uso de HAVING con GROUP BY
Realizar consultas con varias tablas
Sintaxis alternativa para las uniones internas
Cómo funcionan las uniones internas
Uniones cruzadas
Cómo funcionan las uniones cruzadas
Uniones externas
Unión externa izquierda
Unión externa derecha
Unión externa completa
Sintaxis alternativa para las uniones externas
Uso de tablas dinámicas
Resumen
4. Creación de tablas y modificación de datos con SQL
Crear y modificar tablas con SQL
Crear tablas
Limitación de clave principal
Limitación de clave externa
La limitación CHECK
Valores por defecto
Modificar tablas con SQL
Añadir nuevas columnas o eliminar columnas
Añadir limitaciones
Eliminar limitaciones
Eliminar tablas
Añadir, modificar y eliminar datos
Añadir datos a las tablas
Inserciones en varias filas
Eliminar datos de las tablas
DELETE frente a TRUNCATE
DELETE y las claves externas
Actualizar los datos de las tablas
Proceso transaccional
Resumen
5. Conceptos de diseño de bases de datos relacionales
Comprender cómo se hacen las cosas
El diseño conceptual
Entidades, atributos y valores
Desarrollo del diseño lógico
Interacciones y relaciones entre entidades
Entidades y relaciones en la base de datos
Definir las relaciones
Claves principales
Sobre el orden de las columnas
Claves externas
Relaciones uno a uno
Relaciones de uno a muchos
Integridad referencial
El proceso de normalización
Primera forma normal
Segunda forma normal
Tercera forma normal
Forma normal de Bryce-Codd
Cuarta forma normal
Quinta forma normal
¿Hasta dónde debe normalizar?
Integridad de datos
Diseño físico y ajuste
Uso de índices
Uso de vistas y procedimientos almacenados
Vistas
Procedimientos almacenados
Alarmas
Ajuste del rendimiento
Pruebas de carga
Optimización de consultas y procedimientos
Crear y mantener estadísticas
Resumen
6. Estudio de un caso: Diseñar la base de datos Music Store
El problema
Reunir los requisitos
Diseño de Music Store: el diseño de la lógica
Establecer interacciones entre entidades
Diseñar la base de datos Music Store: el diseño físico
¿Qué sistema de gestión de bases de datos (DBMS)?
Convenciones de nombres
Diseñar la base de datos
Los diagramas ERD
El área tipo pedidos de clientes
Tablas del modelo de datos
Las tablas del área tipo discos
Recordings
AudioStyles
Las tablas del área tipo tiendas
Tablas del área tipo cliente
Customers
Las tablas del área tipo pedidos
CustomerOrders
CustomerOrderItems
Poblar las tablas con datos de muestra
Insertar valores
Utilizar secuencias
Utilizar columnas auto numeradas
Actualizar valores
Eliminar valores
Construir soporte para consultas, vistas y procedimientos almacenados
Construir una vista de los inventarios
Un procedimiento almacenado para todos los valores del inventario
Utilizar un activador para generar valores secuenciados
Resumen
7. Desarrollo de una aplicación JDBC
Modelar objetos
Escenas de aplicación
Elegir un driver
Tipo 1: El driver puente JDBC-ODBC
Ventajas del driver puente
Desventajas del puente
Tipo 2: Driver API Nativo / parte java
Ventajas
Inconvenientes
Tipo 3: Driver protocolo de red/ todo Java
Ventajas
Inconvenientes
Tipo 4: Driver protocolo nativo/todo Java
Ventajas
Inconvenientes
Arquitecturas de aplicación
Protocolos de red para Windows NT y 98
Consideraciones en la selección de los driver JDBC
Utilizar datos relacionales en nuestra aplicación
¿Dónde se o
Java es un potente y versátil lenguaje de programación que puede trabajar en todo tipo de entornos, desde servidores de aplicaciones middle-tier hasta clientes Web. Independientemente del tipo de aplicación que usted desarrolle y del tipo de máquina en la que se ejecute el código, su aplicación seguramente tendrá que acceder a datos almacenados en algún tipo de base de datos. Las bases de datos relacionales son la elección obvia en la mayor parte de las empresas, y han evolucionado espectacularmente en los últimos años hasta convertirse en potentes sistemas de gestión de bases de datos.
Este libro pretende mostrar cómo funcionan las bases de datos relacionales, y cómo emplear la interfaz JDBC para utilizarlas en sus programas Java. Se recogen desde los fundamentos básicos de SQL y dichas bases, hasta el desarrollo de sofisticadas aplicaciones de bases de datos en Java con soporte para otras tecnologías como XML y XSLT, con las que podrá programar en entornos corporativos con calidad profesional.
Bases de datos con Java es ideal para el programador que tiene unos ciertos conocimientos de Java que quiera aplicar y mejorar sus capacidades para construir aplicaciones de bases de datos en Java, o la interfaz de programación JDBC. En el caso de conocer poco Java, las explicaciones del texto le permitirán comprender los conceptos que se tratan, especialmente si procede de otro lenguaje como C o C++.