You are on page 1of 34

ACCESO A DATOS

Unidad 3
ACTIVIDADES

Cuadro sinptico sobre los tipos de orgenes de datos. (15%)


Elaborar un tutorial de una conexin a origen de datos. (15%)
Elaborar un mapa conceptual de las sentencias para manipulacin de datos. (15%)
Ejercicios de acceso a datos. (20%)
Evaluacin de la unidad. (35%)
INTRODUCCIN

El acceso a bases de datos es uno de los pilares de cualquier aplicacin, de l


depender su rapidez, interoperabilidad y flexibilidad.
El poder acceder a dichas bases de datos permite manipular la informacin que
est almacenada y no solo trabajar con datos existentes mientras la aplicacin
est funcionando y que al cerrarla automticamente todo se elimina.
Una posibilidad que deben ofrecer las aplicaciones es poder almacenar la
informacin que en ellas se maneja y de esta manera asegurarse de poder
continuar con un proceso y asegurar que la informacin es actualizada.
INTRODUCCIN

Para poder acceder a los datos desde una aplicacin se requiere del uso de
algunos elementos que en ocasiones no se encuentran dentro del programa por lo
que se deben cargar de manera externa y posteriormente poder utilizarlos en el
programa.
De aqu surge la definicin de tecnologas para la conexin con bases de datos, las
cuales son aplicaciones que permiten establecer comunicacin con diferentes
sistemas gestores de base de datos, accediendo de alguna manera a la
informacin que en ellos est contenida.
TECNOLOGAS DE CONEXIN CON BD

Acceso a datos:
Es el conjunto de tcnicas, procedimientos y tecnologas cuyo objetivo es guardar
(persistir), extraer o modificar datos almacenados en una base de datos o en
cualquier otro repositorio de informacin.
Las aplicaciones necesitan algn mecanismo de acceso a datos y para esto se
cuentan con varias opciones.
TECNOLOGAS DE CONEXIN CON BD

ODBC:
Es un estndar de acceso a las bases de datos desarrollado por SQL Access Group
en 1992. El objetivo de ODBC es hacer posible el acceder a cualquier dato desde
cualquier aplicacin, sin importar qu sistema de gestin de bases de datos
(DBMS) almacene los datos.
ODBC logra esto al insertar una capa intermedia (CLI) denominada nivel de
Interfaz de Cliente SQL, entre la aplicacin y el DBMS.
El propsito de esta capa es traducir las consultas de datos de la aplicacin en
comandos que el DBMS entienda. Para que esto funcione tanto la aplicacin
como el DBMS deben ser compatibles con ODBC, esto es que la aplicacin debe
ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a
ellos.
TECNOLOGAS DE CONEXIN CON BD

ODBC:
El software funciona de dos modos, con un software manejador en el cliente, o
una filosofa cliente-servidor. En el primer modo, el driver interpreta las
conexiones y llamadas SQL y las traduce desde el API ODBC hacia el DBMS.
En el segundo modo para conectarse a la base de datos se crea una DNS dentro
del ODBC que define los parmetros, ruta y caractersticas de la conexin segn
los datos que solicite el creador o fabricante.
TECNOLOGAS DE CONEXIN CON BD

OBDC:
Open Database Connectivity (ODBC) es la interfaz estratgica de Microsoft para
obtener acceso a datos en un entorno heterogneo de relacionales y no -
relacionales sistemas de administracin de la base de datos.
ODBC alivia la necesidad de aprender mltiples interfaces de programacin de
aplicaciones para los programadores corporativos y fabricantes independientes
de software.
Con ODBC, los desarrolladores de aplicaciones pueden permitir que una
aplicacin al mismo tiempo tener acceso, ver y modificar los datos procedentes de
mltiples bases de datos diferentes.
TECNOLOGAS DE CONEXIN CON BD

ADO.NET
Es un conjunto de clases que exponen servicios de acceso a datos para el
programador de .NET.
ADO.NET ofrece abundancia de componentes para la creacin de aplicaciones de
uso compartido de datos distribuidas. Constituye una parte integral de .NET
Framework y proporciona acceso a datos relacionales, XML y de aplicaciones.
ADO.NET satisface diversas necesidades de desarrollo, como la creacin de
clientes de base de datos de aplicaciones para usuario y objetos empresariales de
nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de
Internet.
TECNOLOGAS DE CONEXIN CON BD

ADO.NET
Componentes de ADO.NET
Existen dos componentes de ADO.NET que se pueden utilizar para obtener acceso
a datos y manipularlos:
Proveedores de datos de .NET Framework: Los proveedores de datos de .NET
Framework son componentes diseados explcitamente para la manipulacin de datos y
el acceso rpido a datos de slo lectura y slo avance.
El DataSet: est expresamente diseado para el acceso a datos independientemente
del origen de datos. Como resultado, se puede utilizar con mltiples y distintos orgenes
de datos, con datos XML o para administrar datos locales de la aplicacin.
TECNOLOGAS DE CONEXIN CON BD

JDBC:
Java proporciona una plataforma completa, flexible y segura para el desarrollo de
aplicaciones, incluyendo la conectividad con una base de datos. Esta conectividad
o acceso a base de datos relacionales con Java es posible gracias a la API JDBC
(Java DataBase Connectivity).
JDBC es ODBC extendido para toda la plataforma Java. Mientras que ODBC es
una interfaz escrita en lenguaje C, que tiene que ser instalado manualmente en
cada maquina, JDBC, al estar escrito en Java, posee todas las propiedades y
ventajas del mismo.
El API JDBC puede definirse como un conjunto de clases, mtodos e interfaces
escritos en lenguaje Java, que permiten el acceso a sistemas de bases de datos
relacionales utilizando instrucciones SQL.
TECNOLOGAS DE CONEXIN CON BD

JDBC:
El API JDBC con dos paquetes principales, java.sql y javax.sql
Un controlador de acceso a una base de datos
El controlador servir para conectar la aplicacin con la API JDBC, proporcionando
comunicacin con la base de datos.
En definitiva, lo que el estndar JDBC hace posible es:
Establecer una conexin.
Lanzar sentencias SQL.
Capturar conjuntos resultado (resulset) de las consultas.
Capturar informacin de la base de datos.
Manipular los datos.
FILOSOFA Y OBJETIVOS DE JDBC

API 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 ms alto
nivel apoyndose directamente sobre JDBC.
COMPATIBLE CON SQL. Cada motor de Base de Datos implementa una amplia
variedad de comandos SQL, y muchos de ellos no tienen porque ser compatibles
con el resto de motores de Base de Datos. JDBC, para solventar este problema de
incompatibilidad, ha tomado la siguiente posicin:
JDBC permite que cualquier comando SQL pueda ser pasado al driver directamente, con
lo que una aplicacin 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 funcin del
motor de Base de Datos.
FILOSOFA Y OBJETIVOS DE JDBC

JDBC debe ser utilizable sobre cualquier otro API de acceso a Bases de Datos, o
ms en particular ODBC (Open Database Connectivity)
JDBC debe proveer un interfaz homogneo 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 esttica,
es decir, en tiempo de compilacin, para evitar errores en tiempo de ejecucin.
JDBC debe mantener los casos comunes de acceso a Base de Datos lo ms sencillo
posible:
Mantener la sencillez en los casos ms comunes (SELECT, INSERT, DELETE y UPDATE)
Hacer realizables los casos menos comunes: Invocacin de procedimientos
almacenados...
PROCEDIMIENTO DE CONEXIN Y ACCESO A
DATOS CON JDBC
Consideraciones previas.
El proceso de acceso a una Base de Datos a travs de JDBC, exige dar una serie de
pasos previos antes de crear la conexin al motor de Base de Datos.
El primer paso es determinar el entorno en el que el proyecto va a ser instalado, y
ms en concreto, que parmetros del entorno afectan directamente a JDBC:
Debemos considerar las caractersticas especficas de una base de datos, como
por ejemplo, como mapear los tipos de datos SQL a Java.
PROCEDIMIENTO DE CONEXIN Y ACCESO A
DATOS CON JDBC
Es probable encontrarnos varios drivers distintos para la misma fuente de datos.
Debemos saber detectar cual es el driver ms adecuado para nuestra aplicacin,
por ejemplo, si elegimos un driver ODBC/JDBC, tendremos ms flexibilidad para
elegir distintas fuentes de datos, pero si por ejemplo trabajamos con una Base de
Datos Oracle, un driver JDBC diseado especficamente para esta base de datos
ser mucho ms eficiente.
En funcin de donde se encuentre el driver fsicamente, debemos considerar
aspectos de rendimiento y seguridad. Por ejemplo, si cargamos el driver desde un
servidor remoto tendremos que considerar aspectos sobre seguridad de Java.
PROCEDIMIENTO DE CONEXIN.

Cargar el driver. Cualquier driver JDBC, independientemente del tipo debe


implementar el interfaz java.sql.Driver. La carga del driver se puede realizar de
dos maneras distintas:
Definiendo los drivers en la variable sql.driver (variable que mantiene todos las clases
de los drivers separados por comas) Cuando la clase DriverManager se inicializa, busca
esta propiedad en el sistema.
El programador puede forzar la carga de un driver especfico, usando el mtodo
Class.forName(driver).
PROCEDIMIENTO DE CONEXIN.

Registro del driver. Independientemente de la forma de carga del driver que


llevemos a cabo, ser responsabilidad de cada driver registrarse a s mismo,
usando el mtodo DriverManager.registerDriver.
Crear una conexin. El objetivo es conseguir un objeto del tipo
java.sql.Connection a travs del mtodo DriverManager.getConnection(String
url).
TIPOS DE CONECTORES (DRIVERS) JDBC

JDBC-ODBC bridge ms driver ODBC: BRIDGE :


Ventajas: Buena forma de aprender JDBC. Tambin puede ser buena idea usarlo, en
sistemas donde cada mquina cliente tenga ya instalado los drivers ODBC. Tambin es
posible que sea la nica forma de acceder a ciertos motores de Bases de Datos.
Inconvenientes: No es buena idea usar esta solucin para aplicaciones que exijan un
gran rendimiento, ya que la transformacin JDBC-ODBC es costosa. Tampoco es buena
solucin para aplicaciones con alto nivel de escalabilidad.
Driver Java parciales: NATIVE
Ventajas: Mejor rendimiento que el anterior. Quiz puede ser buena solucin para
entornos controlados como intranets. Ejemplo OCI Oracle.
Inconvenientes: Principalmente la escalabilidad, ya que estos drivers exigen que en la
mquina cliente libreras del cliente de la Base de Datos.
TIPOS DE CONECTORES (DRIVERS) JDBC

Driver JDBC a travs de Middleware: NETWORK


Ventajas: Buena solucin cuando necesitamos acceder a Bases de Datos distintas y se
quiere usar un nico driver JDBC para acceder a las mismas. Al residir la traduccin en el
servidor del middleware, los clientes no necesitan libreras especficas, tan solo el
driver.
Inconvenientes: La desventaja principal reside en la configuracin del servidor donde se
encuentra el middleware. Necesitar libreras especficas para cada motor de base de
datos distinto, etc.
Driver java puro (acceso directo a Base de Datos): THIN.
Ventajas: 100 % portable. Buen rendimiento. El cliente slo necesita el driver.
Inconvenientes: Al ser independiente de la plataforma, no aprovecha las caractersticas
especficas del S.O
ARQUITECTURAS JDBC

La arquitectura bsica de JDBC es simple. Una clase llamada DriverManager


provee un mecanismo para controlar un conjunto de drivers JDBC.
Esta clase intenta cargar los drivers especificados en la propiedad del sistema
jdbc.drivers. Tambin podemos cargar un driver explicitamente usando
Class.forName(). Durante la carga, el driver intentar registrarse a si mismo
usando el mtodo clase DriverManager.registerDriver().
Cuando se invoque al mtodo DriverManager.getConnection(), sta buscar el
primer driver de los registrados que pueda manejar una conexin como la descrita
en la URL y retornar un objeto que implemente el interfaz java.sql.Connection.
ARQUITECTURAS JDBC

En funcin de la localizacin de la base de datos, el driver, la aplicacin y el


protocolo de comunicacin usado, nos podemos encontrar distintos escenarios
que accedan a Base de Datos a travs de JDBC:
Todos ellos se pueden agrupar en dos tipos distintos de arquitecturas:
La aplicacin que accede a la base de datos reside en el mismo lugar que el driver de la
base de datos.
El driver acceder al servidor donde corra el motor de base de datos.
CONEXIN A ORIGEN DE DATOS

Un origen de datos define la conexin fsica a una base de datos. En la conexin


de origen de datos se especifican los parmetros necesarios para conectarse a la
base de datos, por ejemplo, la ubicacin de la base de datos y la duracin del
tiempo de espera.
Una conexin de origen de datos puede incluir informacin de credenciales y un
inicio de sesin, tambin se pueden aadir conexiones nuevas a un origen de
datos y modificar las conexiones existentes.
CONEXIN A ORIGEN DE DATOS

La accin de conectarse a un origen de datos significa establecer comunicaciones


con un DBMS para tener acceso a los datos. Cuando se establece conexin con un
origen de datos desde una aplicacin mediante un controlador ODBC, el
controlador efecta la conexin en lugar del usuario, ya sea localmente o a travs
de una red.
La conexin se puede efectuar con cualquier origen de datos para el que se tenga
un controlador ODBC. Los usuarios de la aplicacin tambin deben tener el mismo
controlador ODCB para su origen de datos.
CONFIGURAR ORIGEN DE DATOS

Para agregar un origen de datos ODBC


Elija el icono Herramientas administrativas en el Panel de control de Windows.
Elija el acceso directo Orgenes de datos ODBC.
En el cuadro de dilogo Administrador de orgenes de datos ODBC, haga clic
en Agregar y, a continuacin, seleccione el controlador que desee en la
lista Controladores ODBC instalados y elija Aceptar.
En el cuadro de dilogo Configuracin de ODBC, establezca los valores de las
opciones conforme sea necesario y elija Aceptar.
CONFIGURAR CONEXIN CON MYSQL
CONFIGURAR CONEXIN CON MYSQL
ELEMENTOS PARA CONFIGURAR CONEXIN

Libreras
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
ELEMENTOS PARA CONFIGURAR CONEXIN

Variables
private Connection conexion;
private Statement sentencia;
private ResultSet resultado;
ELEMENTOS PARA CONFIGURAR CONEXIN

public void ConexionAccess()


{
try {
Class.forName( "com.mysql.jdbc.Driver" );
conexion = DriverManager.getConnection( "jdbc:mysql://localhost:3306/usuarios","root","" );
if (conexion != null)
{
sentencia = conexion.createStatement();
System.out.println("Conexin a base de datos ... Ok");
}
}
catch( SQLException ex ) { System.out.println( "No se pudo cargar SQL" + ex ); }
catch( ClassNotFoundException e ) { System.out.println( "No se pudo cargar el
controlador" + e );
}
}
MANIPULACIN DE DATOS

Base de datos
Elementos de la base de datos.
Creacin de una base de datos.
Insertar elementos en la base de datos.
Lenguaje de consultas sql.
Insertar, modificar y eliminar datos de la BD.
VISUALIZACIN DE DATOS

Consultas de seleccin de informacin


Relacionar el programa con las consultas.
Visualizar informacin de la base de datos en el programa.
EJERCICIOS

Ejercicio 1:
Generar un programa donde pida el usuario y su contrasea y si se encuentran en la
base de datos muestre un mensaje con datos correctos, en caso contrario mandar
mensaje de datos incorrectos.
Ejercicio 2:
Elaborar un programa que permita ingresar elementos a una base de datos
llamada tienda, donde se tiene una tabla productos, con los siguientes
elementos: id_prod, nom_prod, precio_prod, cantidad, tipo_prod.
Si el usuario no ingresa el id_prod enviar un mensaje que falta llenar un campo.
Asegurar que la informacin se guarda en la BD.
EJERCICIOS

Ejercicio 3:
Elaborar un programa para llevar el inventario de una papelera donde se permita
ingresar los productos, consultar alguno de ellos, eliminar o modificarlos.
Generar la base de datos de papelera con dos tablas, una de usuarios y otra de
productos.
Asegurarse que los cambios sean generados en la BD.

You might also like