Conectividad con bases de datos

download Conectividad con bases de datos

of 27

Transcript of Conectividad con bases de datos

  • 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/