JDBC

16
JDBC “Java Database Connectivity” Equipo No. 3: Yurico De la O Arrieta Francisco Gómez Pérez Andrea Lira Morales Omar Macías Delgadillo Blanca Parra Hernández

Transcript of JDBC

Page 1: JDBC

JDBC “Java Database Connectivity”

Equipo No. 3:

Yurico De la O Arrieta

Francisco Gómez Pérez

Andrea Lira Morales

Omar Macías Delgadillo

Blanca Parra Hernández

Page 2: JDBC

Qué es y qué hace JDBC?

JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix, SyBase, etc.

Establece una conexión con una BDEnvía sentencias SQLProcesa los resultados

Page 3: JDBC

SQLEl Lenguaje de consulta, es un lenguaje declarativo de

acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar información de interés de una base de datos, de una forma sencilla

Page 4: JDBC

El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos. Es un lenguaje declarativo de alto nivel o de no procedimiento, que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación. De esta forma una sola sentencia puede equivaler a uno o más programas que utilizasen un lenguaje de bajo nivel orientado a registro.

Page 5: JDBC

ANTECEDENTES En el mundo de la informática hay numerosos estándares y lenguajes,

la mayoría de los cuales son incapaces de comunicarse entre sí.

El Structured Query Language o SQL, [2] [8] [10] [11] [17] se ha convertido en los últimos años en el método estándar de acceso a bases de datos.

Para solventar este problema, Java introduce la API JDBC, [2] [11] [17] [24] compuesta por un conjunto de clases que unifican el acceso a las bases de datos. Gracias a la utilización de JDBC, un programa Java puede acceder a cualquier base de datos sin necesidad de modificar la aplicación.

Page 6: JDBC

Cuando SUN se puso a trabajar en este tema, decidió seguir una serie de normas para la definición del interfaz, y que han condicionado en gran manera el resultado final. Algunas de estas características son:

API(Application programming interface) A NIVEL SQL. JDBC es un API de bajo nivel, es decir, que está orientado a permitir ejecutar comandos SQL directamente, y procesar los resultados obtenidos. Esto supone que será tarea del programador crear APIs de más alto nivel apoyándose directamente sobre JDBC.

Page 7: JDBC

COMPATIBLE CON SQL. Cada motor de Base de Datos implementa una amplia variedad de comandos SQL, y muchos de ellos no tienen por qué ser compatibles con el resto de motores de Base de Datos. JDBC, para solventar este problema de incompatibilidad, ha tomado la siguiente posición

JDBC permite que cualquier comando SQL pueda ser pasado al driver directamente, con lo que una aplicación Java puede hacer uso de toda la funcionalidad que provea el motor de Base de Datos, con el riesgo de que esto pueda producir errores o no en función del motor de Base de Datos.

Un driver JDBCes una capa de software intermedia que traduce las llamadas JDBC a los APIs específicos del vendedor

Page 8: JDBC

JDBC permite que cualquier comando SQL pueda ser pasado al driver directamente, con lo que una aplicación Java puede hacer uso de toda la funcionalidad que provea el motor de Base de Datos, con el riesgo de que esto pueda producir errores o no en función del motor de Base de Datos.

JDBC debe ser utilizable sobre cualquier otro API de acceso a Bases de Datos, o más en particular ODBC (Open Database Connectivity)

JDBC debe proveer un interfaz homogéneo al resto de APIs de Java.

JDBC debe ser un API simple, y desde ahí, ir creciendo.

JDBC debe ser fuertemente tipado, y siempre que sea posible de manera estática, es decir, en tiempo de compilación, para evitar errores en tiempo de ejecución.

Page 9: JDBC

JDBC debe mantener los casos comunes de acceso a Base de Datos lo más sencillo posible:

• Mantener la sencillez en los casos más comunes (SELECT, INSERT, DELETE y UPDATE)

• Hacer realizables los casos menos comunes: Invocación de procedimientos almacenados...

Crear múltiples métodos para múltiple funcionalidad. JDBC ha preferido incluir gran cantidad de métodos, en lugar de hacer métodos complejos con gran cantidad de parámetros.

Page 10: JDBC

TERMINOLOGIA Y CONCEPTOSJDBC es un API (Application programming interface) que

describe o define una librería estándar para acceso a fuentes de datos, principalmente orientado a Bases de Datos relacionales que usan SQL (Structured Query Language). JDBC no sólo provee un interfaz para acceso a motores de bases de datos, sino que también define una arquitectura estándar, para que los fabricantes puedan crear los drivers que permitan a las aplicaciones de java el acceso a los datos.

Page 11: JDBC

JDBC

Consta de un conjunto de clases e interfaces escrito en lenguaje de programación Java. Usando JDBC es fácil enviar sentencias SQL a virtualmente cualquier base de datos relacional. En otras palabras, con la API JDBC no es necesario escribir un programa para acceder a una base de datos tipo Access, otro programa para acceder a una base de datos tipo Oracle y así para cada tipo de base de datos.

Page 12: JDBC

Uno puede escribir un solo programa usando la API JDBC y el programa será capaz de enviar sentencias SQL a la base de datos apropiada. Y, con una aplicación escrita en Java, uno no tiene por qué preocuparse por escribir diferentes programas para diferentes plataformas. La combinación de JDBC permite al programador escribir una vez y ejecutar en cualquier sitio.

Page 13: JDBC

De una forma simple, JDBC posibilita hacer tres cosas:

• Establecer una conexión con una base de datos

• Enviar sentencias SQL

• Procesar los resultados

Page 14: JDBC

SQL & JDBCUna integración de SQL hacia Java, es decir que las

sentencias SQL se puedan mezclar con Java, por ejemplo, que una variable de Java pueda ser usada en una sentencia SQL para recibir o dar valores.

Un mapeo directo de las tablas de la BD hacia las clases de Java, donde cala fila de la tabla se convierte en una instancia de la clase, y donde cada columna se corresponde a un atrubuto de esa instancia.

Page 15: JDBC

CONFORMACION DE SQL

El SQL es el idioma normal por acceder las bases de datos correlativas. Una dificultad es que aunque la mayoría del DBMSs (los Sistemas de Dirección de Base de datos) use un formulario normal de SQL para la funcionalidad básica, ellos no conforman la sintaxis de SQL normal más recientemente definida para la funcionalidad más avanzada. Por ejemplo no todas las BD soportar procedimientos almacenados.

Una manera que el API de JDBC trata de este problema es permitir cualquier sentencia sea pasada a un driver de DBMS subyacente.

Para las aplicaciones complejas, JDBC trata la conformación de SQL de otra manera. Proporciona la información descriptiva sobre el DBMS por medio del DatabaseMetaData para que las aplicaciones puedan adaptar a los requisitos y capacidades de cada DBMS.