¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Java
  3. Acceso a las bases de datos
Extrait - Java Los fundamentos del lenguaje (con ejercicios corregidos)
Extractos del libro
Java Los fundamentos del lenguaje (con ejercicios corregidos) Volver a la página de compra del libro

Acceso a las bases de datos

Principios del funcionamiento de una base de datos

Las bases de datos relacionales se han convertido en elementos ineludibles de la mayoría de las aplicaciones. Sustituyen al uso de archivos gestionados por el propio desarrollador. Esta aportación permite un aumento de productividad importante durante el desarrollo y una mejora significativa de las posibilidades de las aplicaciones. Facilitan también compartir información entre usuarios. Para poder utilizar una base de datos, es necesario conocer un mínimo de vocabulario relacionado con esta tecnología.

1. Terminología

En el contexto de las bases de datos, se utilizan frecuentemente los términos siguientes:

  • Base de datos relacional: una base de datos relacional es un tipo de base de datos que utiliza tablas para el almacenamiento de datos. Emplea valores procedentes de dos tablas para asociar los datos de una tabla con los datos de otra tabla. En general, en una base de datos relacional, se almacena la información una única vez.

  • Tabla: una tabla es un componente de una base de datos que almacena los datos en registros (filas) y en campos (columnas). Se suele agrupar la información por categoría a nivel de una tabla. Por ejemplo, tendremos la tabla de los Clientes, de los Productos o de los Pedidos.

  • Registro: el registro es el conjunto de datos relativos a un elemento de una tabla. Los registros son los equivalentes al nivel lógico de las filas de una tabla. Por ejemplo, un registro de la tabla Clientes contiene las características de un cliente particular.

  • Campo: un registro se compone de varios campos. Cada campo de un registro contiene una única información en el registro. Por ejemplo, un registro Cliente puede contener los campos CódigoCliente, Apellido, Nombre…

  • Clave primaria: se utiliza una clave primaria para identificar unívocamente una fila de una tabla. La clave primaria es un campo o una combinación de campos cuyo valor es único en la tabla. Por ejemplo, el campo CódigoCliente es la clave primaria de la tabla Cliente. No pueden existir dos clientes con el mismo código.

  • Clave foránea: una clave foránea representa uno o varios campos de una tabla que hacen referencia a los campos de la clave primaria...

Acceso a una base de datos desde Java

Cuando se desea manipular una base de datos a partir de un lenguaje de programación, se dispone de dos soluciones:

  • Comunicarse directamente con la base de datos.

  • Utilizar una capa de software que asegure el diálogo con la base de datos.

La primera solución comporta varios requisitos.

  • Debe dominar perfectamente la programación de red.

  • También debe conocer en detalle el protocolo utilizado por la base de datos.

  • Este tipo de desarrollo suele ser muy largo y lleno de trabas. Por ejemplo, ¿puede acceder a las especificaciones del protocolo?

  • Deberá empezar de nuevo todo su trabajo si cambia de tipo de base de datos ya que por supuesto los protocolos no son compatibles de una base de datos a otra. O incluso peor, de una versión a otra de una misma base de datos.

Por supuesto, la segunda solución es preferible y es la que los diseñadores de Java han elegido. Para ello, desarrollaron la API JDBC (Java DataBase Connectivity) para el acceso a una base de datos. Precisamente, la API JDBC se compone de dos partes. La primera parte, contenida en el paquete java.sql, se compone esencialmente de interfaces. Estas interfaces están implementadas por los drivers JDBC. Estos drivers (o puentes) no están desarrollados por Oracle sino, en general, por la empresa diseñadora de la base de datos. Efectivamente, es el propio fabricante quien domina mejor la técnica para comunicarse con su base de datos. Existen cuatro tipos de drivers JDBC con características y rendimiento diferentes.

  • Tipo 1: Driver JDBC-ODBC

    Este tipo de puente no es específico de una base de datos concreta, sino que traduce simplemente las instrucciones jdbc en instrucciones ODBC. A continuación, es el driver odbc quien asegura la comunicación con la base de datos. Esta solución solo ofrece resultados mediocres porque dependen del número de capas de software utilizadas. Las funcionalidades jdbc también están limitadas por las de la capa ODBC. Este tipo de controlador no está disponible a partir de la versión 8 de Java. Oracle recomienda utilizar el controlador específico de la base de datos con la que desee trabajar. Está, generalmente, disponible en el sitio del fabricante de la base de datos.

  • Tipo 2: Driver nativo

    Este tipo de puente no está escrito completamente...