Este documento presenta una introducción a la programación de sistemas de bases de datos relacionales utilizando Java Database Connectivity (JDBC). Explica conceptos clave como el modelo relacional de bases de datos, el lenguaje de consultas SQL, y la API JDBC para conectividad y acceso a bases de datos desde Java. También describe los pasos básicos para establecer conexiones JDBC, ejecutar consultas SQL y procesar resultados, usando una base de datos de ejemplo en formato Access.
1. PROGRAMACIÓN DE SISTEMAS
Lic. José Angel Quintanilla Rosales
Un programa bien escrito es su propio cielo; un
programa mal escrito es su propio infierno. [Geoffrey
James, El Tao de la Programación]
2. INDICE
•
Sistemas de Gestión de la Información
• Modelo Relacional
•
Introducción a SQL
•
Conectividad
• ODBC / JDBC
•
Controladores (Drivers) JDBC
•
JDBC 3.0 API
•
Empezando a trabajar con JDBC
3. INDICE
•
Sistemas de Gestión de la Información
• Modelo Relacional
•
Introducción a SQL
•
Conectividad
• ODBC / JDBC
•
Controladores (Drivers) JDBC
•
JDBC 3.0 API
•
Empezando a trabajar con JDBC
4. SISTEMAS DE GESTIÓN DE LA INFORMACIÓN
•
Base de Datos
• Forma de almacenamiento de información
• Estructura y Datos
• Modelo Relacional
•
Gestor de Base de Datos
• Aplicación para manipular bases de datos
• Oracle, Access, ...
•
SQL – Structured Query Language
• Lenguaje estándar para crear, examinar y manipular bases de datos relacionales
• Permite manipular bases de datos en diferentes sistemas que soporten el
estándar
7. INDICE
•
Sistemas de Gestión de la Información
• Modelo Relacional
•
Introducción a SQL
•
Conectividad
• ODBC / JDBC
•
Controladores (Drivers) JDBC
•
JDBC 3.0 API
•
Empezando a trabajar con JDBC
8. INTRODUCCIÓN A SQL
•
Recuperar información
SELECT [ALL | DISTINCT] <seleccion> FROM <tablas>
WHERE <condiciones de seleccion> [ORDER BY <columna> [ASC | DESC]
[,<columna> [ASC | DESC]]...]
•
Almacenar información
INSERT INTO <nombre tabla>
[(<nombre columna> [,<nombre columna>]...)]
VALUES (<expresion> [,<expresion>]...)
•
Eliminar datos
DELETE FROM <nombre tabla> WHERE <condicion busqueda>
•
Actualizar datos
UPDATE <nombre tabla>
SET <nombre columna> = ( <expresion> | NULL )
[, <nombre columna> = ( <expresion> | NULL )]... WHERE <condicion busqueda>
9. INDICE
•
Sistemas de Gestión de la Información
• Modelo Relacional
•
Introducción a SQL
•
Conectividad
• ODBC / JDBC
•
Controladores (Drivers) JDBC
•
JDBC 3.0 API
•
Empezando a trabajar con JDBC
10. CONECTIVIDAD - ODBC
•
ODBC – Open DataBase Connectivity
• Interface de aplicaciones (API) para acceder a datos en sistemas gestores de
bases de datos utilizando SQL
Aplicación Cliente
Data Source Name (DSN)
ODBC Driver Manager
ODBC Driver
ODBC Driver
ODBC Database
11. CONECTIVIDAD - JDBC
•
JDBC
• Marca registrada
• Java DataBase Connectivity
•
API de Java para ejecutar sentencias SQL
•
JDBC posibilita básicamente tres cosas:
• Establecer una conexión con una base de datos desde Java
• Enviar sentencias SQL a través de dicha conexión
• Procesar los resultados
12. JDBC VS. ODBC
•
¿Por qué no usar ODBC desde Java?
• Se puede usar ODBC desde Java
• Puente JDBC-ODBC
•
¿Por qué se necesita JDBC?
• ODBC no es apropiado para su uso directo desde Java porque usa una interface
en C
• Una traducción de la ODBC API en C a una API en Java no sería deseable
• ODBC es duro de aprender
• Una API en Java como JDBC es necesaria para conseguir una solución
“puramente Java”
•
JDBC API es una interface natural de Java
13. INDICE
•
Sistemas de Gestión de la Información
• Modelo Relacional
•
Introducción a SQL
•
Conectividad
• ODBC / JDBC
•
Controladores (Drivers) JDBC
•
JDBC 3.0 API
•
Empezando a trabajar con JDBC
15. INDICE
•
Sistemas de Gestión de la Información
• Modelo Relacional
•
Introducción a SQL
•
Conectividad
• ODBC / JDBC
•
Controladores (Drivers) JDBC
•
JDBC 3.0 API
•
Empezando a trabajar con JDBC
16. JDBC 3.0 API
•
La JDBC 3.0 API comprende 2 paquetes:
• java.sql
• javax.sql (añade capacidades de la parte servidor)
•
Básicamente, los pasos a seguir son:
• Registrar un driver:
• Clase DriverManager
• Establecer una conexión con la base de datos:
• Interface Connection
• Enviar sentencias SQL a la base de datos:
• Interface Statement
• Procesar los resultados de las consultas
• Interface ResultSet
17. INDICE
•
Sistemas de Gestión de la Información
• Modelo Relacional
•
Introducción a SQL
•
Conectividad
• ODBC / JDBC
•
Controladores (Drivers) JDBC
•
JDBC 3.0 API
•
Empezando a trabajar con JDBC
18. EMPEZANDO A TRABAJAR CON JDBC
•
Base de datos en formato Access
• Base de Datos: Libros.mdb
• Tabla: Datos
• Campos: Codigo, Titulo, Autor
•
Creación de un Data Source Name (DSN)
•
Ejemplo de aplicación JDBC simple
•
Ejemplo con excepciones y MetaData