conectividad con bases de datos
TRANSCRIPT
-
7/24/2019 Conectividad con bases de datos
1/27
Acceso a Bases de Datos en laAcceso a Bases de Datos en la
InternetInternetJULIO CESAR RODRIGUEZ RIBONJULIO CESAR RODRIGUEZ RIBON
[email protected]@unicartagena.edu.co
UNIERSIDAD DE CAR!AGENAUNIERSIDAD DE CAR!AGENA"ACUL!AD DE CIENCIAS E INGENIER#AS"ACUL!AD DE CIENCIAS E INGENIER#AS
$ROGRA%A DE INGENIERIA DE SIS!E%AS$ROGRA%A DE INGENIERIA DE SIS!E%AS
-
7/24/2019 Conectividad con bases de datos
2/27
De la clase anterior ..
Introduccin a las Bases de Datos (Campo, Registro, Tabla,DBM!.
B"sicos de #$ % elect, &'ere, Delete, Insert Into, pdate.
)ndices * $la+e rimaria
Relaciones entre Tablas
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
-
7/24/2019 Conectividad con bases de datos
3/27
Contenido
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
Acceso a Base de Datos % RDBM.
pen DataBase Connecti+it*(DBC!
/a+a Database Connecti+it* (/DBC!
Taller
-
7/24/2019 Conectividad con bases de datos
4/27
Acceso a Bases de Datos
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
racle
M*s0l
In1ormi2
DBM
ostgress, db3,#$er+er, Access
Tecnolog-as deDesarrollo sobre$a &eb
/A4A
.56T
7
*t'on, perl, cgi.
Conecti+idad 8
9 :orma 5ati+a9 DBC9 /DBC
-
7/24/2019 Conectividad con bases de datos
5/27
pen DataBase Connecti+it*(DBC!
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
6st"ndar de acceso a Bases de Datos desarrollado por Microso1tCorporation.
7ace posible acceder a cual0uier dato desde cual0uier aplicacin, sinimportar en 0ue DBM se encuentre almacenado.
6l DBC es el intermediario entre las aplicaciones * el DBM.
ermite usar el mismo cdigo para traba;ar con cual0uier base de datos con
la restriccin de usar el est"ndar A5I #$ en los comandos.
-
7/24/2019 Conectividad con bases de datos
6/27
pen DataBase Connecti+it*(DBC!
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
ara utili&indo?s @, descargar el respecti+oDri+er DBC del DBM con el cual se +a a conectar el aplicati+o, luego crear el origende datos (D5! en &indo?s (Inicioanel de Control7erramientas
Administrati+asr-genes de datos(DBC!Agregar
-
7/24/2019 Conectividad con bases de datos
7/27
pen DataBase Connecti+it*(DBC!
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
-
7/24/2019 Conectividad con bases de datos
8/27
/a+a Database Connecti+it*(/DBC!
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
6l AI (Application rogramming Inter1ace! /DBC es el est"ndar decone2in entre el lengua;e de programacin /a+a * un amplio rango de basesde datos.
6ste AI 'ace posible la cone2in con un DBM (DataBase Management*stem!, permite en+iar enunciados #$ * procesar los resultados.
6l uso del AI /DBC 'ace posible lle+ar a cabo lo siguiente=
6stablecer una cone2in con una base de datos o acceder a cual0uier1uente de datos tabular6n+iar enunciados #$.rocesar los resultados
6s importante resaltar 0ue la conecti+idad * apertura de controles nospermitir-a una me;or intercone2in de sistemas 'eterogneos.
:uente= E
-
7/24/2019 Conectividad con bases de datos
9/27
/a+a Database Connecti+it*(/DBC!
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
:uente= E
-
7/24/2019 Conectividad con bases de datos
10/27
TA$$6R
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
Instalar 5etbeans 9 ;dF G.H. Descargar de ???.netbeans.org.
Descargar el dri+er DBC para M*s0l, el cual se llama Connector/.descargar de= 'ttp=de+.m*s0l.comdo?nloadsconnector;.G.'tml.
Descomprimir la carpeta * renombrar el arc'i+o m*s0l>connector>;a+a>.J.J>beta.bin.;ar por connector.;ar
Agregarlo a la +ariable del sistema C$AAT7. ara 'acerlo desde lal-nea de comandos=
ara 'acerlo en 5etbeans=G. Crear un nue+o pro*ecto= :ile5e?ro;ectKeneral/a+a Application5e2t *colocar un nombre al pro*ecto (6;emplo= pruebaDBC!.
http://dev.mysql.com/downloads/connector/j/5.1.htmlhttp://dev.mysql.com/downloads/connector/j/5.1.html -
7/24/2019 Conectividad con bases de datos
11/27
TA$$6R
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
resionar
-
7/24/2019 Conectividad con bases de datos
12/27
TA$$6R
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
3. 6n la +entana del ro*ecto de bibliotecas ($ibraries! con el clicF derec'o,obtener el menL r"pido * seleccionar= Add /ar:older. eleccionar elconnector.;ar.
Instalar M*s0l * subir el es0uema de la clase G dentro de una base dedatos llamada 'ro&eedore(.
-
7/24/2019 Conectividad con bases de datos
13/27
A ARA 6TAB$6C6R 5A C56@IN5 /A4A>DBM
G. ara traba;ar con el AI /DBC se tiene 0ue importar el pa0ueteja&a.()*,tal * como se indica a continuacin=
import ;a+a.s0l.OP
6n este pa0uete se de1inen los ob;etos 0ue proporcionan toda la1uncionalidad 0ue se re0uiere para el acceso a bases de datos.
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R
-
7/24/2019 Conectividad con bases de datos
14/27
A ARA 6TAB$6C6R 5A C56@IN5 /A4A>DBM
3. Registro del dri+er, en este caso el dri+er para m*s0l.Class.1or5ame(QControlador /DBCQ!P
para el caso particular del controlador para M*#$, Connector/, se tienelo siguiente=
Class.1or5ame(Qcom.m*s0l.;dbc.Dri+erQ!P
Algunos controladores no crean autom"ticamente una instancia cuando secarga la clase. i 1or5ame(! no crea por s- solo una instancia delcontrolador, se tiene 0ue 'acer esto de manera e2pl-cita=
Class.1or5ame(QControlador /DBCQ!.ne?Instance(!PDe nue+o, para el Connector/=Class.1or5ame(Qcom.m*s0l.;dbc.Dri+erQ!.ne?Instance(!P
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R
-
7/24/2019 Conectividad con bases de datos
15/27
A ARA 6TAB$6C6R 5A C56@IN5 /A4A>DBM
. Construir la R$=
6l 1ormato general para conectarse a M*#$ es=
;dbc=m*s0l=ser+idorE=puertoEbasededatosE8paramGS+alorGEparam3S+alor3E...
6l siguiente paso para establecer una cone2in es tener el dri+er apropiadoconectado al controlador de base de datos. $a siguiente l-nea de cdigo ilustra laidea general.
Connection con S Dri+erManager.getConnection(url, Qm*$oginQ, Qm*ass?ordQ!P
$as operaciones de registro del dri+er * establecimiento de la cone2in generan las
e2cepciones;a+a.lang.Class5ot:ound62ception, ;a+a.lang.Instantiation62ception *;a+a.s0l.#$62ceptionpor lo 0ue es necesario atraparlas por medio del blo0ue tr*>catc'.
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R
-
7/24/2019 Conectividad con bases de datos
16/27
Crear una nue+a clase denominada BD. Con el siguiente cdigo=
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R
-
7/24/2019 Conectividad con bases de datos
17/27
Crear una nue+a clase denominada Main. Con el siguiente cdigo=
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R
-
7/24/2019 Conectividad con bases de datos
18/27
Compilar Ambas Clases (BD * Main! * e;ecutar la clase Main.
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R
-
7/24/2019 Conectividad con bases de datos
19/27
6l ob;eto Connectionpermite establecer una cone2in a una base de datos. arae;ecutar instrucciones #$ * procesar los resultados de las mismas, se debe 'aceruso de un ob;eto State+ent.
$os ob;etos State+enten+-an comandos #$ a la base de datos, * pueden ser decual0uiera de los tipos siguientes=
n comando de de1inicin de datos como CR6AT6 TAB$6 o CR6AT6 [email protected] comando de manipulacin de datos como I56RT, D6$6T6 o DAT6.n sentencia 6$6CT para consulta de datos.
n comando de manipulacin de datos de+uel+e un contador con el nLmero de 1ilas(registros! a1ectados, o modi1icados, mientras una instruccin 6$6CT de+uel+e uncon;unto de registros denominado con;unto de resultados (result set!. $a inter1a 6n+-o de comandos#$ al DBM
:uentes= $ecturas recomendadas.
-
7/24/2019 Conectividad con bases de datos
20/27
conn S Dri+erManager.getConnection(url,login,pas?ord!Ptatement stmt S conn.createtatement(!.
na +e< creado el ob;eto tatement, se puede emplear para en+iarconsultas a la base de datos usando los mtodos e2ecute(!,e2ecutepdate(! o e2ecute#uer*(!. $a eleccin del mtodo depende deltipo de consulta 0ue se +a a en+iar al ser+idor de bases de datos=
6s recomendable 0ue se cierren los ob;etos Connection * tatement 0uese 'a*an creado cuando *a no se necesiten
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R> 6n+-o de comandos#$ al DBM
:uentes= $ecturas recomendadas.
-
7/24/2019 Conectividad con bases de datos
21/27
Agregar el siguiente mtodo a la clase BD=
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R> Agregando Registros
-
7/24/2019 Conectividad con bases de datos
22/27
Agregar la siguiente l-nea al mtodo main(! de la clase Main=
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R> Agregando Registros
Compilar, 6;ecutar * re+isar la Tabla pro+eedores desde p'pM*admin
-
7/24/2019 Conectividad con bases de datos
23/27
Agregar el siguiente mtodo a la clase BD=
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
TA$$6R> Reali
-
7/24/2019 Conectividad con bases de datos
24/27
Agregar la siguiente l-nea al mtodo main(! de la clase Main=
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
6liminar desde p'pM*Admin el registro agregado anteriormenteCompilar, 6;ecutar la clase Main=
TA$$6R> Reali
-
7/24/2019 Conectividad con bases de datos
25/27
Taller
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
> Ingresar nue+os productos a la tabla producto> Ingresar nue+os pro+eedoresH> Ingresar nue+os in+entarios con precio entre UJ * J pesosU> Aumentarles el +alor del I4A a los productos 0ue cuestan m"s de J pesosV> Borrar de la lista de in+entario, a0uellos 0ue cuestan entre VJ * J pesos> Cu"l es el m"2imo precio8GJ> Cual producto tiene la m-nima cantidad8GG> Muestre el nombre del pro+eedor 0ue tiene el producto con m"2imo precio.
Boni1icacin en Traba;o de Clase
6n una +entana tener campos para ingresar nue+os pro+eedores, * seleccionar *listar en una +entana cual0uiera de las di1erentes tablas de la base de datospro+eedores.
-
7/24/2019 Conectividad con bases de datos
26/27
$ectura Recomendada
Manual de /DBC=
'ttp=???.programacion.nettutorial;dbc
'ttp=diariodeunprogramador.googlepages.com;a+a.pd1
'ttp=diario>de>un>programador.blogspot.com3JJHGJconectarse>m*s0l>con>netbeansJU.'tml
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
-
7/24/2019 Conectividad con bases de datos
27/27
Re1erencias
rograma de Ingenier-a de istemas % ni+ersidad de Cartagena
GE Craig $arman. M$ * atrones, na introduccin al an"lisis * diseWo orientado a ob;etos * al procesouni1icado. 6ditorial 6AR5 * rentice 7all.
3E r1ali Robert, 7arFe* Dan, 6d?ards /eri. Clienteer+idor * b;etos, Ku-a de uper+i+encia. Tercera6dicin. 6ditorial 21ord ni+ersit* ress M2ico. IB5= UJ>HG>U>.
E Tutorial de Bases de Datos. R$= 'ttp=sistemas.itlp.edu.m2tutorialesbasedatGtemasG.'tm
E Tutorial de #$. R$= 'ttp=s0l.GFe*data.comes
E M*s0l &eb ite= 'ttp=???.m*s0l.org
HE M*s0l 7ispano &eb ite= 'ttp=???.m*s0l>'ispano.org
UE 6;ercicios con #$. R$='ttp=???.asp1acil.comtuts0l
VE M*s0l Manual. R$='ttp=de+.m*s0l.comdocre1man.Jesselect.'tml
E Manual de /DBC. R$= 'ttp=diariodeunprogramador.googlepages.com;a+a.pd1
http://www.aspfacil.com/tutsql/http://dev.mysql.com/doc/refman/5.0/es/select.htmlhttp://dev.mysql.com/doc/refman/5.0/es/select.htmlhttp://dev.mysql.com/doc/refman/5.0/es/select.htmlhttp://dev.mysql.com/doc/refman/5.0/es/select.htmlhttp://www.aspfacil.com/tutsql/