FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 15: CONECTIVIDAD CON BASES DE DATOS Ing. Ronald Criollo
AGENDA Sistemas de Gestión de la Información Introducción a SQL Conectividad (ODBC/JDBC) Controladores JDBC JDBC API Ejemplo
SISTEMAS DE GESTION DE LA INFORMACION 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, MySQL ... 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
Modelo relacional (tablas) Campo, Atributo, Columna Registro, Fila
Modelo relacional (relaciones) Tabla Clave Relación
INTRODUCCION A SQL Recuperar información Almacenar 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>
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 ODBC Driver Manager ODBC Driver ODBC Database
CONECTIVIDAD JDBC JDBC API de Java para ejecutar sentencias SQL 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
ODBC vs. jdbc ODBC está escrito en C el gestor de drivers ODBC y el propio driver han de ser instalados en todos los ordenadores JDBC está escrito en Java y permite obtener aplicaciones completas en Java (100% pure java) usando ODBC en BD grandes, el rendimiento puede disminuir al convertir llamadas Java a C y viceversa
CONTROLADORES (DRIVERS) JDBC
JDBC API La JDBC 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
UTILIZACION DE JDBC API Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = ″jdbc:odbc:wombat″; Connection con = DriverManager.getConnection(url); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(″SELECT a, b, c FROM Table2″); While(rs.next()){ int i = rs.getInt(a); String s = rs.getString(b); Float f = rs.getFloat(c); System.out.println(ROW= + i + + s + + f); }
JDBC API subclasses Connection CallableStatement PreparedStatement ResultSet Data Types createStatement prepareStatement prepareCall executeQuery getXXX getMoreResults getResultSet
EJEMPLO Base de datos en formato Access Base de Datos: Libros 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