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]
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
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
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
MODELO RELACIONAL (TABLAS)
Campo, Atributo, Columna

Registro, Fila
MODELO RELACIONAL (RELACIONES)
Tabla

Clave

Relación
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
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>
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
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
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
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
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
CONTROLADORES (DRIVERS) JDBC
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
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
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
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

Clase xiii

  • 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ónde 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ónde 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ÓNDE 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
  • 5.
    MODELO RELACIONAL (TABLAS) Campo,Atributo, Columna Registro, Fila
  • 6.
  • 7.
    INDICE • Sistemas de Gestiónde 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 • Recuperarinformació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ónde 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 • ¿Porqué 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ónde la Información • Modelo Relacional • Introducción a SQL • Conectividad • ODBC / JDBC • Controladores (Drivers) JDBC • JDBC 3.0 API • Empezando a trabajar con JDBC
  • 14.
  • 15.
    INDICE • Sistemas de Gestiónde 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 • LaJDBC 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ónde 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 TRABAJARCON 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