Вы находитесь на странице: 1из 27

Acceso a Bases de Datos en la

Internet
JULIO CESAR RODRIGUEZ RIBON
jrodriguezr@unicartagena.edu.co

UNIVERSIDAD DE CARTAGENA
FACULTAD DE CIENCIAS E INGENIERAS
PROGRAMA DE INGENIERIA DE SISTEMAS

De la clase anterior ..
Introduccin a las Bases de Datos (Campo, Registro, Tabla,
DBMS).
Bsicos de SQL Select, Where, Delete, Insert Into, Update.
ndices y Llave Primaria
Relaciones entre Tablas

Programa de Ingeniera de Sistemas Universidad de Cartagena

Contenido
Acceso a Base de Datos RDBMS.
Open DataBase Connectivity (ODBC)
Java Database Connectivity (JDBC)
Taller

Programa de Ingeniera de Sistemas Universidad de Cartagena

Acceso a Bases de Datos


Tecnologas de
Desarrollo sobre
La Web

DBMS

Oracle

JAVA

Conectividad ?
Mysql

.NET

PHP

+ Forma Nativa
+ ODBC
+ JDBC

Informix

Postgress, db2,
SQLServer, Access

Python, perl, cgi.


Programa de Ingeniera de Sistemas Universidad de Cartagena

Open DataBase Connectivity


(ODBC)
Estndar de acceso a Bases de Datos desarrollado por Microsoft
Corporation.
Hace posible acceder a cualquier dato desde cualquier aplicacin, sin
importar en que DBMS se encuentre almacenado.
El ODBC es el intermediario entre las aplicaciones y el DBMS.
Permite usar el mismo cdigo para trabajar con cualquier base de datos con
la restriccin de usar el estndar ANSI SQL en los comandos.

Programa de Ingeniera de Sistemas Universidad de Cartagena

Open DataBase Connectivity


(ODBC)
Para utilizarse desde un aplicativo se requiere el Driver ODBC del respectivo DBMS.
Ejemplo: Para Registrar un Origen ODBC en Ms-Windows XP, descargar el respectivo
Driver ODBC del DBMS con el cual se va a conectar el aplicativo, luego crear el origen
de
datos
(DSN)
en
Windows
(Inicio/Panel
de
Control/Herramientas
Administrativas/Orgenes de datos(ODBC)/Agregar

Programa de Ingeniera de Sistemas Universidad de Cartagena

Open DataBase Connectivity


(ODBC)

Programa de Ingeniera de Sistemas Universidad de Cartagena

Java Database Connectivity


(JDBC)
El API (Application Programming Interface) JDBC es el estndar de
conexin entre el lenguaje de programacin Java y un amplio rango de bases
de datos.
Este API hace posible la conexin con un DBMS (DataBase Management
System), permite enviar enunciados SQL y procesar los resultados.
El uso del API JDBC hace posible llevar a cabo lo siguiente:
Establecer una conexin con una base de datos o acceder a cualquier
fuente de datos tabular
Enviar enunciados SQL.
Procesar los resultados
Es importante resaltar que la conectividad y apertura de controles nos
permitira una mejor interconexin de sistemas heterogneos.
Fuente: [9]
Programa de Ingeniera de Sistemas Universidad de Cartagena

Java Database Connectivity


(JDBC)

Fuente: [9]
Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
Instalar Netbeans + jdk 1.6. Descargar de www.netbeans.org.
Descargar el driver ODBC para Mysql, el cual se llama Connector/J.
descargar de: http://dev.mysql.com/downloads/connector/j/5.1.html.
Descomprimir la carpeta y renombrar el archivo mysql-connector-java-5.0.0beta.bin.jar por connector.jar
Agregarlo a la variable del sistema CLASSPATH. Para hacerlo desde la
lnea de comandos:

Para hacerlo en Netbeans:


1. Crear un nuevo proyecto: File/NewProject/General/Java Application/Next y
colocar un nombre al proyecto (Ejemplo: pruebaODBC).
Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER

Presionar
Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
2. En la ventana del Proyecto de bibliotecas (Libraries) con el click derecho,
obtener el men rpido y seleccionar: Add Jar/Folder. Seleccionar el
connector.jar.
Instalar Mysql y subir el esquema de la clase 13 dentro de una base de
datos llamada proveedores.

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
PASOS PARA ESTABLECER UNA CONEXIN JAVA-DBMS
1. Para trabajar con el API JDBC se tiene que importar el paquete java.sql,
tal y como se indica a continuacin:
import java.sql.*;
En este paquete se definen los objetos que proporcionan toda la
funcionalidad que se requiere para el acceso a bases de datos.

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
PASOS PARA ESTABLECER UNA CONEXIN JAVA-DBMS
2. Registro del driver, en este caso el driver para mysql.
Class.forName("Controlador JDBC");
para el caso particular del controlador para MySQL, Connector/J, se tiene
lo siguiente:
Class.forName("com.mysql.jdbc.Driver");
Algunos controladores no crean automticamente una instancia cuando se
carga la clase. Si forName() no crea por s solo una instancia del
controlador, se tiene que hacer esto de manera explcita:
Class.forName("Controlador JDBC").newInstance();
De
nuevo,
para
el
Class.forName("com.mysql.jdbc.Driver").newInstance();

Connector/J:

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
PASOS PARA ESTABLECER UNA CONEXIN JAVA-DBMS
3. Construir la URL:
El

formato

general

para

conectarse

MySQL

es:

jdbc:mysql://[servidor][:puerto]/[base_de_datos][?param1=valor1][param2=valor2]...
El siguiente paso para establecer una conexin es tener el driver apropiado
conectado al controlador de base de datos. La siguiente lnea de cdigo ilustra la
idea general.
Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");
Las operaciones de registro del driver y establecimiento de la conexin generan las
excepciones java.lang.ClassNotFoundException, java.lang.InstantiationException y
java.sql.SQLException por lo que es necesario atraparlas por medio del bloque trycatch.

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
Crear una nueva clase denominada BD. Con el siguiente cdigo:

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
Crear una nueva clase denominada Main. Con el siguiente cdigo:

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER
Compilar Ambas Clases (BD y Main) y ejecutar la clase Main.

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER- Envo de comandos


SQL al DBMS
El objeto Connection permite establecer una conexin a una base de datos. Para
ejecutar instrucciones SQL y procesar los resultados de las mismas, se debe hacer
uso de un objeto Statement.
Los objetos Statement envan comandos SQL a la base de datos, y pueden ser de
cualquiera de los tipos siguientes:
Un comando de definicin de datos como CREATE TABLE o CREATE INDEX.
Un comando de manipulacin de datos como INSERT, DELETE o UPDATE.
Un sentencia SELECT para consulta de datos.
Un comando de manipulacin de datos devuelve un contador con el nmero de filas
(registros) afectados, o modificados, mientras una instruccin SELECT devuelve un
conjunto de registros denominado conjunto de resultados (result set). La interfaz
Statement no tiene un constructor , sin embargo, podemos obtener un objeto
Statement al invocar el mtodo createStatement() de un objeto Connection.

Fuentes: Lecturas recomendadas.


Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER- Envo de comandos


SQL al DBMS
conn = DriverManager.getConnection(url,login,pasword);
Statement stmt = conn.createStatement().
Una vez creado el objeto Statement, se puede emplear para enviar
consultas a la base de datos usando los mtodos execute(),
executeUpdate() o executeQuery(). La eleccin del mtodo depende del
tipo de consulta que se va a enviar al servidor de bases de datos:

Es recomendable que se cierren los objetos Connection y Statement que


se hayan creado cuando ya no se necesiten
Fuentes: Lecturas recomendadas.
Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER- Agregando Registros


Agregar el siguiente mtodo a la clase BD:

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER- Agregando Registros


Agregar la siguiente lnea al mtodo main() de la clase Main:

Compilar, Ejecutar y revisar la Tabla proveedores desde phpMyadmin

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER- Realizando Consultas


Agregar el siguiente mtodo a la clase BD:

Programa de Ingeniera de Sistemas Universidad de Cartagena

TALLER- Realizando Consultas


Agregar la siguiente lnea al mtodo main() de la clase Main:

Eliminar desde phpMyAdmin el registro agregado anteriormente


Compilar, Ejecutar la clase Main:

Programa de Ingeniera de Sistemas Universidad de Cartagena

Taller
4- Ingresar nuevos productos a la tabla producto
5- Ingresar nuevos proveedores
6- Ingresar nuevos inventarios con precio entre 70 y 90 pesos
7- Aumentarles el valor del IVA a los productos que cuestan ms de 50 pesos
8- Borrar de la lista de inventario, aquellos que cuestan entre 80 y 90 pesos
9- Cul es el mximo precio?
10- Cual producto tiene la mnima cantidad?
11- Muestre el nombre del proveedor que tiene el producto con mximo precio.
Bonificacin en Trabajo de Clase
En una ventana tener campos para ingresar nuevos proveedores, y seleccionar y
listar en una ventana cualquiera de las diferentes tablas de la base de datos
proveedores.

Programa de Ingeniera de Sistemas Universidad de Cartagena

Lectura Recomendada
Manual de JDBC:
http://www.programacion.net/tutorial/jdbc/
http://diariodeunprogramador.googlepages.com/java9.pdf
http://diario-de-un-programador.blogspot.com/2006/10/conectarsemysql-con-netbeans_07.html

Programa de Ingeniera de Sistemas Universidad de Cartagena

Referencias
[1] Craig Larman. UML y Patrones, Una introduccin al anlisis y diseo orientado a objetos y al proceso
unificado. Editorial PEARSON y Prentice Hall.
[2] Orfali Robert, Harkey Dan, Edwards Jeri. Cliente/Servidor y Objetos, Gua de Supervivencia. Tercera
Edicin. Editorial Oxford University Press Mxico. ISBN: 970-613-597-9.
[3] Tutorial de Bases de Datos. URL: http://sistemas.itlp.edu.mx/tutoriales/basedat1/temas1.htm
[4] Tutorial de SQL. URL: http://sql.1keydata.com/es/
[5] Mysql Web Site: http://www.mysql.org/
[6] Mysql Hispano Web Site: http://www.mysql-hispano.org/
[7] Ejercicios con SQL. URL:http://www.aspfacil.com/tutsql/
[8] Mysql Manual. URL:http://dev.mysql.com/doc/refman/5.0/es/select.html

[9] Manual de JDBC. URL: http://diariodeunprogramador.googlepages.com/java9.pdf


Programa de Ingeniera de Sistemas Universidad de Cartagena

Вам также может понравиться