Clase xiii

18
Lic. José Angel Quintanilla Rosales PROGRAMACIÓN DE SISTEMAS Un programa bien escrito es su propio cielo; un programa mal escrito es su propio infierno. [Geoffrey James, El Tao de la Programación]

Transcript of Clase xiii

Page 1: Clase xiii

Lic. José Angel Quintanilla Rosales

PROGRAMACIÓN DE SISTEMAS

Un programa bien escrito es su propio cielo; un

programa mal escrito es su propio infierno. [Geoffrey

James, El Tao de la Programación]

Page 2: Clase xiii

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

Page 3: Clase xiii

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

Page 4: Clase xiii

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

Page 5: Clase xiii

MODELO RELACIONAL (TABLAS)Campo, Atributo, Columna

Registro, Fila

Page 6: Clase xiii

MODELO RELACIONAL (RELACIONES)Tabla

Relación

Clave

Page 7: Clase xiii

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

Page 8: Clase xiii

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>

Page 9: Clase xiii

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

Page 10: Clase xiii

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

ODBC Driver Manager

ODBC Driver

ODBC Database

Data Source Name (DSN)

ODBC Driver

Page 11: Clase xiii

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

Page 12: Clase xiii

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

Page 13: Clase xiii

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

Page 14: Clase xiii

CONTROLADORES (DRIVERS) JDBC

Page 15: Clase xiii

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

Page 16: Clase xiii

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

Page 17: Clase xiii

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

Page 18: Clase xiii

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