1 TEMA 8. Acceso a bases de datos Arquitectura de una aplicación que accede a una BD Arquitectura de una aplicación que accede a una BD Establecer la conexión.

Slides:



Advertisements
Presentaciones similares
Fundamentos de Base de Datos
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Internet y tecnologías web
Acceso a Bases de Datos con Java
Fernando Alonso Blázquez Servlets con acceso a Bases de Datos 29 de Abril de 2004.
Hardware y Software de servidor
integridad referencial
Qué es una Comunidad? Comunidades… … compartir conocimientos, noticias y documentación entre agrupaciones de usuarios en torno a un tema determinado. Pestaña.
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
SCPG: Ontología para el poblado de GPC ejecutables
Conjunto de información almacenado en memoria auxiliar Permiten acceso directo a programas que las manipulan Es un sistema de archivos electrónicos.
Aprendizaje de Microsoft® Access® 2010
"java del lado del servidor" Servlet y JSP Java Server Pages.
JDBC Acceso a B.B.D.D. con Java.
UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS
Java 2 Platform Enterprise Edition
Francisco Moreno Bases de Datos II Universidad Nacional
JAVA Persistence API (JPA)
San José, Costa Rica Febrero, 2011 Sistema de Formulación Presupuestaria.
ODBC - JDBC Gabriel Vásquez Dpto. Electrónica, Instrumentación y Control.
M.I. María Luisa González Ramírez Servlets y JSP.
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.
Unidad 2. Manejo de conectores
Acceso a datos con ADO.NET
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
Ingeniero Anyelo Quintero
ARCHIVOS Y CONEXIÓN A BASE DE DATOS. FileInputStream: Clase que representa ficheros de texto accedidos en orden secuencial, byte a byte. FileWriter: Clase.
Scis.regis.edu ● CS-434: Programación Orientada a Objetos usando Java Semana 7 Dr. Jesús Borrego Adjunct Faculty Regis University 1.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Sistema de Gestión de Información Desarrollado por: Solange Ahumada K Bernardo Malet
Manejo de Base de Datos en Java Ing. Esp. Ricardo Cujar.
Curso de Java La tecnología Java
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
Programación Orientada a Objetos II
Base de Datos con Visual Basic
Fernando Alonso Nicolás Serrano Servlets con acceso a Bases de Datos 21 de Abril de 2008.
EMPRESA DISTRIBUIDORA DE CERVEZA
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
1 Programación Interactiva JDBC Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle.
Java Data Base Connectivity
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Si no se dispone.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Bases de Datos Unidad 1.
Bases de Datos y Conectores
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Aplicaciones en 2,3 y n capas
API JDBC Java Database Connectivity. Conceptos básicos API de Conectividad a Bases de Datos Emplea SQL Standard Ventaja: los programas desarrollados en.
Taller de Inteligencia de Negocios SQL Server Analysis Services Semana 8.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
JDBC. Definición Java Database Conectivity El acceso a bases de datos JDBC implica abrir una conexión ejecutar comandos SQL en un sentencia procesar los.
EI, Profesor Ramón Castro Liceaga Desarrollo conexión JDBC – ODBC UNIVERSIDAD LATINA (UNILA) DIPLOMADO DE DESARROLLO DE SISTEMAS CON EL PARADIGMA DE ORIENTACIÓN.
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
QUÉ ES UNA BASE DE DATOS? Es un Conjunto de Información, que está clasificada de distintas maneras; pero que comparten entre sí algún tipo de vínculo,
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Crear Aplicación Cliente para Conectarse a una Base de Datos.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Conferencia 9. ODBC, OLE DB y JDBC.
Transcripción de la presentación:

1 TEMA 8. Acceso a bases de datos Arquitectura de una aplicación que accede a una BD Arquitectura de una aplicación que accede a una BD Establecer la conexión con BD Establecer la conexión con BD Sentencias SQL sobre la BD Sentencias SQL sobre la BD

2 Bibliografía Jesús Bobadilla, Adela Sancho. Comunicaciones y bases de datos con Java. Ed. Rama. George Reese. Programación de bases de datos con JDBC y Java. Ed. Anaya Multimedia, O’Reilly. c1.htm c1.htm Sun. “Documentación de Java”. Traducciones al castellano en

3 Una aplicación Java que realiza accesos a la base de datos funciona según una arquitectura que permite escribir los programas abstrayéndose de los detalles de niveles inferiores. Una aplicación Java que realiza accesos a la base de datos funciona según una arquitectura que permite escribir los programas abstrayéndose de los detalles de niveles inferiores.Aplicación JDBC/Controlador Oracle/ Acess/MySQL Arquitectura de una aplicación que accede a una BD

4 Un controlador JDBC (es una API) es el conjunto de clases que implementan los métodos para acceder a una base de datos a través de un sistema de gestión. Un controlador JDBC (es una API) es el conjunto de clases que implementan los métodos para acceder a una base de datos a través de un sistema de gestión. Existen cuatro categorías de controladores: Existen cuatro categorías de controladores: 1. Arquitectura de una aplicación que accede a una BD Controladores

5 Utilizan una tecnología puente para acceder a la base de datos. Por ejemplo del puente JDBC-ODBC que acompaña al jdk (sun.jdbc.odbc.JdbcOdbcDriver). Utilizan una tecnología puente para acceder a la base de datos. Por ejemplo del puente JDBC-ODBC que acompaña al jdk (sun.jdbc.odbc.JdbcOdbcDriver). Controladores que son API’s nativas en C o C++ proporcionados por los distribuidores de las bases de datos. Controladores que son API’s nativas en C o C++ proporcionados por los distribuidores de las bases de datos. 1. Arquitectura de una aplicación que accede a una BD Controladores

6 En la dirección ustry.html, se encuentra una lista de todas las empresas que distribuyen drivers jdbc para diferentes motores de base de datos. En la dirección ustry.html, se encuentra una lista de todas las empresas que distribuyen drivers jdbc para diferentes motores de base de datos. ustry.html ustry.html 1. Arquitectura de una aplicación que accede a una BD Controladores

7 1. Arquitectura de una aplicación que accede a una BD Clase/InterfaceDescripción Driver Permite conectarse a una Base de Datos: cada gestor de Base de Datos requiere un Driver distinto. DriverManager Permite gestionar todos los Drivers instalados en el sistema. DriverPropertyInfo Proporciona diversa información acerca de un Driver. Connection Representa una conexión con una Base de Datos. Una aplicación puede tener más de una conexión a más de una Base de Datos. DatabaseMetadata Proporciona información acerca de una Base de Datos, como las tablas que contiene, etc. Statement Permite ejecutar sentencias SQL sin parámetros. PreparedStatement Permite ejecutar sentencias SQL con parámetros de entrada. CallableStatement Permite ejecutar sentencias SQL con parámetros de entrada y salida, típicamente procedimientos almacenados. ResultSet Contiene las filas o registros obtenidos al ejecutar un SELECT. ResultSetMetadata Permite obtener información sobre un ResultSet, como el número de columnas, sus nombres, etc. Clases e interfaces de jdbc

8 1. Cargar el controlador de la BD 2. Establecer una conexión entre el programa Java y el sistema de administración de la Base de datos. 3. Enviar una sentencia SQL a la BD mediante un objeto Statement 4. Recuperar los resultados de la BD y utilizarlos en el programa. 2. Establecer la conexión con la BD Pasos para la conexión

9 JDBC está diseñado para trabajar con diferentes sistemas de administración de BD (de varios fabricantes) JDBC está diseñado para trabajar con diferentes sistemas de administración de BD (de varios fabricantes) Para poder establecer una conexión con la BD especificada se tiene que instalar y cargar el controlador de dicha BD. Para poder establecer una conexión con la BD especificada se tiene que instalar y cargar el controlador de dicha BD. La instalación dependerá del vendedor del driver. La instalación dependerá del vendedor del driver. 2. Establecer la conexión con la BD Cargar el controlador.

10 La clase DriverManager es la responsable de cargar y descargar esos controladores La clase DriverManager es la responsable de cargar y descargar esos controladores Los drivers de JDBC suelen estar diseñados por el fabricante de la BD; aceptan conexiones y sentencias SQL por un lado y realizan llamadas a la BD por otro. Los drivers de JDBC suelen estar diseñados por el fabricante de la BD; aceptan conexiones y sentencias SQL por un lado y realizan llamadas a la BD por otro. 2. Establecer la conexión con la BD Cargar el controlador.

11 Desde la línea de órdenes, se puede cargar el driver en la fase de ejecución mediante la siguiente sentencia: Desde la línea de órdenes, se puede cargar el driver en la fase de ejecución mediante la siguiente sentencia: java -Djdbc.drivers=jdbc:odbc:JdbcOdbcDriver nombrePrograma Desde el programa, se carga el driver en tiempo de compilación: Desde el programa, se carga el driver en tiempo de compilación: Class.forName(“sun.jdbc.odbc. JdbcOdbcDriver”) No obstante algunas máquinas virtuales no llaman al iniciador estático hasta que se crea una instancia de la clase. Por lo tanto se debe de llamar a newInstance(): No obstante algunas máquinas virtuales no llaman al iniciador estático hasta que se crea una instancia de la clase. Por lo tanto se debe de llamar a newInstance(): Class.forName(“sun.jdbc.odbc. JdbcOdbcDriver”).newInstance(); 2. Establecer la conexión con la BD Cargar el controlador.

12 Solicitud al DriverManager para realizar una Connection: Solicitud al DriverManager para realizar una Connection: Connection con = DriverManager.getConnection(url_BD); DriverManager.getConnection(url_BD, usuario, palabraClave); palabraClave); Cuando DriverManager recibe una petición getConnection le envía la URL de JDBC a cada driver registrado. El primer driver que reconoce la URL es el que estable la conexión. Cuando DriverManager recibe una petición getConnection le envía la URL de JDBC a cada driver registrado. El primer driver que reconoce la URL es el que estable la conexión. Si la petición no reconoce se genera una: Si la petición no reconoce se genera una:SQLException 2. Establecer la conexión con la BD Establecimiento de la conexión

13 Los objetos Statement se usan para almacenar sentencias SQL Los objetos Statement se usan para almacenar sentencias SQL Statement stat=con.createStatement(); A través del objeto Statement se pueden realizar consultas sobre la BD a través de una Connection, A través del objeto Statement se pueden realizar consultas sobre la BD a través de una Connection, la BD ejecuta la consulta y la devuelve en un ResultSet: la BD ejecuta la consulta y la devuelve en un ResultSet: ResultSet theResults = stat.executeQuery(“consul”); 2. Establecer la conexión con la BD Sentencia SQL sobre la BD

14 La clase ResultSet funciona como un cursor SQL que permite examinar los datos de la sentencia SQL fila a fila. La clase ResultSet funciona como un cursor SQL que permite examinar los datos de la sentencia SQL fila a fila. Para avanzar de una fila a la siguiente se llama a next():esta función devuelve un valor booleano; false indica que no existen más filas en el ResultSet. Para avanzar de una fila a la siguiente se llama a next():esta función devuelve un valor booleano; false indica que no existen más filas en el ResultSet. Se puede leer el contenido de las columnas de una fila de izquierda a derecha con los métodos getTipo(). Se puede leer el contenido de las columnas de una fila de izquierda a derecha con los métodos getTipo(). while (theResults.next()) {String titulo=theResults.getString(“titulo”); float precio=theResults.getFloat(“precio”); float precio=theResults.getFloat(“precio”);} 2. Establecer la conexión con la BD Obtención de resultados

15 Dado un registro de la consulta establecida sus campos se recuperan con getTipoCampo( posición o nombre). Dado un registro de la consulta establecida sus campos se recuperan con getTipoCampo( posición o nombre). Por lo tanto se deben conocer los tipos correspondientes de Java a cada tipo SQL, la tabla siguiente representa dicha correspondencia: Por lo tanto se deben conocer los tipos correspondientes de Java a cada tipo SQL, la tabla siguiente representa dicha correspondencia: 2. Establecer la conexión con la BD Obtención de resultados

16 2. Establecer la conexión con la BD Obtención de resultados Tipo SQLTipo Java CHARString VARCHARString LONGVARCHARString NUMERICJava.math.BigDecimal DECIMALJava.math.BigDecimal BITBoolean TINYINTByte SMALLINTShort INTEGERInt BIGINTLong REALFloat FLOATDouble DOUBLEDouble BINARYByte[] VARBINARYByte[] LONGVARBINARYByte[] DATEJava.sql.Date TIMEJava.sql.Time TIMESTAMPJava.sql.Timestamp