UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO
LABORATORIO 10: BDOO
1. OBJETIVO Conocer , probar, evaluar y utl!ar a"ecua"a#ente al$%n $e&tor "e BDOO en aplcacone& pr'ctca&. (. ACTIVIDADE) a* In&talar el &o+t,are "e "b-o b* .reparar el c/"$o "el Ane0o 1 c* E1ecutar el c/"$o "* 2enerar el "a$ra#a "e cla&e& corre&pon"ente e* 2enerar reporte "e practca& 3. CRO4O2RA5A In&talac/n (0 #n .reparac/n c/"$o (0 #n .rueba& 60 #n Reporte& 10 #n UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO A4E7O 1 Pasos a seguir para formalizar la prctica: Paso 1 Creacin de la clase Lo primero que debemos saber (para os que sabemos u! po"o de m#sq$% es que a&ora a base de datos !o debe "rearse "o! '"reate database (!ombre)db*+,% aqu- se "rea! dire"tame!te as "ases (que sustitu#e! a as "o!o"idas tabas de m#sq$% para posteriorme!te "rear "o! eas ob.etos (que sustitu#e! a as tupas de as tabas de m#sq xD$% sie!do estos /timos os datos que ma!e.aremos a !uestra "o!0e!ie!"ia1 A "o!ti!ua"i2! se muestra e e.empo de !uestra "ase a "rear% se amar3 Stude!t% # sus propiedades ser3! as mostradas1 45Aqu- 0ie!e e "2di6o ta "ua o "ompi7 e! Student.java54 pubi" "ass Stude!t 8 Stri!6 !ame+ i!t a6e+ pubi" Stude!t(Stri!6 !ame% i!t a6e$ 8 t&is1!ame 9 !ame+ t&is1a6e 9 a6e+ : pubi" Stri!6 6etName($ 8 retur! !ame+ : pubi" i!t 6etA6e($ 8 retur! a6e+ : pubi" Stri!6 updateName(Stri!6 !ame$ 8 t&is1!ame 9 !ame+ retur! !ame+ : pubi" i!t updateA6e(i!t a6e$ 8 t&is1a6e 9 a6e+ retur! a6e+ : pubi" Stri!6 toStri!6($ 8 retur! ;<tName:; = !ame = ;<!<tA6e: ; = a6e+ : : 455Este "ome!tario !o o pe6ue!>>> ??54 U!a 0e@ "reada # 6uardada a "ase a!terior # "omo Stude!t1.a0a te!emos #a !uestra primera taba ("ompar3!doa "aro "o! m#sq =D$1 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO Paso 2 Creacin de la clase de conexin a la base de datos. La "ase mostrada aba.o% soo represe!ta a "o!eAi2! "o! a base de datos% "omo puede! !otar% es mu# se!"ia # mu"&o m3s "orta que a se!te!"ia utii@ada para "o!e"tar m#sq "o! .a0a xD1 45Aqu- 0ie!e e "2di6o ta "ua o "ompi7 e! ConectionDB.java54 import "om1dbBo15+ import "om1dbBo1DbBo15+ pubi" "ass Co!e"tio!DB 8 pubi" stati" Ob.e"tCo!tai!er "o!e"tio!DB(Stri!6 dataBase$ 8 Ob.e"tCo!tai!er db 9 DbBo1ope!Fie(dataBase$+ retur! db+ : : 455Este "ome!tario !o o pe6ue!>>> ??54 Importa!te: Notemos que !uestra "ase tie!e u! m7todo que re"ibe u! par3metro% 7ste ser3 e !ombre de !uestra base de datos% o bie!% u!o de os ar"&i0os de !uestra base de datos1 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO Paso 3 Creacin de un objeto. La si6uie!te "ase Stude!ts% te!dr3 a Du!"io!aidad de ama"e!ar e! ea todos # "ada u!o de os datos que Dormara! a !uestro ob.eto Stude!t1 45Aqu- 0ie!e e "2di6o ta "ua o "ompi7 e! Students.java54 import "om1dbBo15+ import "om1dbBo1DbBo15+ pubi" "ass Stude!ts 8 pubi" stati" 0oid !eEStude!t(Ob.e"tCo!tai!er db%Stri!6 !ame%i!t a6e$ 8 tr# 8 Stude!t stude!t 9 !eE Stude!t(!ame%a6e$+ db1store(stude!t$+ S#stem1out1pri!t!(;<!<tStored<!; = stude!t$+ : F!a# 8 db1"ose($+ : : : 455Este "ome!tario !o o pe6ue!>>> ??54 Importa!te: Nue0ame!te !otemos que e m7todo de 7sta "ase tambi7! re"ibe par3metros% mismos que e!ara! a "ada re6istro de !uestra base1 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO Paso 4 Mostrar los objetos guardados en la base de datos. La "ase de aba.o% tie!e a Du!"i2! de mostrar (e! "aso de &abero$ os re6istros que &a#amos ama"e!ado1 45Aqu- 0ie!e e "2di6o ta "ua o "ompi7 e! RetrieveStudent.java54 import "om1dbBo15+ import "om1dbBo1DbBo15+ pubi" "ass Getrie0eStude!t 8 pubi" stati" 0oid istGesut(Ob.e"tSet resut$ 8 S#stem1out1pri!t!(;<!Ob.e"ts<!<t; = resut1si@e($ = ;<!<t))));$+ E&ie (resut1&asNeAt($$ 8 S#stem1out1pri!t!(resut1!eAt($$+ S#stem1out1pri!t!(;<!))))))))))))<!;$+ : : pubi" stati" 0oid retrie0eStude!t(Ob.e"tCo!tai!er db$ 8 tr# 8 Stude!t stude!t 9 !eE Stude!t(!u% 0$+ Ob.e"tSet resut 9 db1quer#B#EAampe(stude!t$+ istGesut(resut$+ : F!a# 8 db1"ose($+ : : : 455Este "ome!tario !o o pe6ue!>>> ??54 Importa!te: Nue0ame!te !ote! e paso de par3metros e! os m7todos que a "o!Dorma!1 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO Paso 5 Cambiar los datos del objeto almacenados. Co! a "ase de aba.o% podremos "ambiar a6u!o de os datos de re6istro que deseemos% para o "ua debemos i!di"3rseo media!te par3metros e! os m7todos1 45Aqu- 0ie!e e "2di6o ta "ua o "ompi7 e! UpdateStudent.java54 import "om1dbBo15+ import "om1dbBo1DbBo15+ pubi" "ass UpdateStude!t 8 pubi" stati" 0oid updateStude!t(Ob.e"tCo!tai!er db%Stri!6 !ame%Stri!6 !eEName%i!t !eEA6e$ 8 tr# 8 Ob.e"tSet resut 9 db1quer#B#EAampe(!eE Stude!t(!ame% 0$$+ Stude!t Dou!d 9 (Stude!t$resut1!eAt($+ iD (!eEA6e >9 0$ 8 Dou!d1updateA6e(!eEA6e$+ : iD (!eEName >9 !u$ 8 Dou!d1updateName(!eENam e$+ : db1store(Dou!d$+ S#stem1out1pri!t!(;<!<tUpdated;$+ : F!a# 8 db1"ose($+ : : : 455Este "ome!tario !o o pe6ue!>>> ??54 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO Paso 6 Borrar alguno de los objetos almacenados. Por /timo% "o! esta "ase !os e!"ar6aremos de borrar aqueos datos que "o!sideremos #a !o mere"e! perma!e"er e! !uestra base1 45Aqu- 0ie!e e "2di6o ta "ua o "ompi7 e! DeleteStudent.java54 import "om1dbBo15+ import "om1dbBo1DbBo15+ pubi" "ass DeeteStude!t 8 pubi" stati" 0oid deeteStude!t(Ob.e"tCo!tai!er db% Stri!6 !ame$ 8 tr# 8 Ob.e"tSet resut 9 db1quer#B#EAampe(!eE Stude!t(!ame%0$$+ Stude!t Dou!d 9 (Stude!t$resut1!eAt($+ db1deete(Dou!d$+ S#stem1out1pri!t!(;<!Deeted <!; = Dou!d$+ : F!a# 8 db1"ose($+ : : : 455Este "ome!tario !o o pe6ue!>>> ??54 Hu"&o m3s importa!te a/!: Note! que e! todas as "ases e! que es !e"esario "o!sutar a a base de datos% ma!e.amos !uestro "2di6o e! u! tr#4F!a#% esto "o! e F! de &a"er que !uestra "o!eAi2! a as base de datos !o quede abierta # 6aste m3s re"ursos de os !e"esarios1 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO Paso ltimo Creacin de un m!todo main "ara mani"ular las clases creadas. Iasta a&ora soo &emos "reado "ases # "ases si! 0er su Du!"io!aidad1 Es por eso que se &a "reado este /timo paso% e! e "ua podemos !otar u!a "ase de!omi!ada "omo Hai!Stude!t1.a0a esto por ser a /!i"a que "o!tie!de e m7todo mai!1 Puede 0erse que a prop2sito se e &a! "ome!tado se""io!es de "2di6o% esto para e ma!e.o de "ada u!o de os m7todos "o! te!idos e! as "ases #a mostradas si! que estas te!6a! "o!Ji"to e!tre s- a e.e"utar e "2di6o "ompeto1 45Aqu- 0ie!e e "2di6o ta "ua o "ompi7 e! MainStudent.java54 import "om1dbBo15+ import "om1dbBo1DbBo15+ pubi" "ass Hai!Stude!t 8 pubi" stati" 0oid mai!(Stri!6 (*ar6s$ 8 Ob.e"tCo!tai!er db 9 Co!e"tio!DB1"o!e"tio!DB(;Stude!t;$+ 44Stude!ts1!eEStude!t(db%;Aberto;%20$+ Getrie0eStude!t1retrie0eStude!t(db$+ 44UpdateStude!t1updateStude!t(db%!u%;Ha!ueo;%2K$+ 44DeeteStude!t1deeteStude!t(db%;Leo!eo;$+ : : 455Este "ome!tario !o o pe6ue!>>> ??54 Importa!te: Como todos os m7todos e.e"utados requiere! de a "o!eAi2!% esa se!te!"ia ser3 a /!i"a que !o deber3 "ome!tarse1 Es !e"esario "ome!tar que para u! ma!e.o apropiado de Hai!Stude!t1.a0a es !e"esario que se "ome!te! sus se6me!tos de "2di6o% se 6uarde # posteriorme!te se 0ue0a a "ompiar a "ase1 A "o!ti!ua"i2!% se6uiremos "o! a pr3"ti"a% # a&ora 0eremos desde -!ea de "oma!dos "2mo se "omporta! "ada u!a de as "ases% esto "o! a F!aidad de que as dudas que &a#a! sur6ido pueda! ser a"aradas =D1 #cti$idad 1 # com"ilar nuestras clases x%. E! mi "aso% a si!taAis e! que &e 6uardado mis "ases es C:\practicaDb4o1 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO #cti$idad 2 # guardar datos en nuestra base de dato &%. A!tes de empe@ar "o! e ama"e!amie!to de datos% &aremos u!a "o!suta a a base de datos Student para 0eriF"ar su estado (0a"-a o "o! a6/! re6istro$% para o "ua e.e"utaremos as si6uie!tes -!eas de "2di6o de a "ase MainStudent.java: E resutado mostrado: A&ora si empe@aremos a e!ar !uestra base "o! as si6uie!tes -!eas de "2di6o: Hedia!te para metros% e i!di"aremos os datos a 6uardar e! !uestro primer re6istro 9D1 E resutado mostrado: Podemos obser0ar que !os muestra o que se &a 6uardado% mu"&o o.o% !o se reai@2 u!a "o!suta% simpeme!te !os di"e que datos 6uard21 #cti$idad 3 # re$isar los registros 'abidos en nuestra base x%. E.e"utaremos as si6uie!tes -!eas de "2di6o: UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO E resutado: Importa!te: LSeamos obser0adores> No es ma6ia% os re6istros se &i"iero! a prop2sito para poder te!er u!a me.or 0isuai@a"i2! de u!a "o!suta "ompeta1 E! ea se muestra e !/mero de re6istros que eAiste! a mome!to # "uaes so! "ada u!o de eos1 #cti$idad 4 # cambiar algunos nombres o edades &%. De a"uerdo a resutado de a "o!suta a!terior% "ambiemos primero a edad de Manuelo% #a que e! reaidad !o so! 20 aMos% e daremos K aMos m3s =P1 E.e"utaremos e si6uie!te "2di6o: E resutado mostrado: Ia6amos u!a "o!suta para 0isuai@ar e "ambio AD: UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO #cti$idad 5 # borrar al registro (ue menos (ueramos &P. Ee6iremos u!o de os re6istros que te!emos para poder &a"er a eimi!a"i2! de mismo1 E.e"utaremos e si6uie!te "2di6o: E resutado mostrado: Nos muestra e re6istro que &a sido borrado% a "o!ti!ua"i2! &aremos u!a "o!suta para 0eriF"ar que e! reaidad Leonelo &a#a desapare"ido xD: N e! eDe"to Leo!eo &a desapare"ido de !uestra base de datos 9D1 LGe"uerde! que !o Due ma6ia> N si !o "ree!% Halo u!tede! "i!"o!# =D Fi!1 A6rade"imie!tos a quie! e! 0erdad ea esta pequeMa pra"ti"a% # a quie! !o% pues !o1 UNAS FIPS EPIS Base de Datos 2 Laboratorio 10: BDOO Posibe sou"i2!1 Esta se""i2! esta "reada espe"iame!te para aqueos que te!6a! probema a6u!a "o! su ar"&i0o 1.ar de d!o1 OC2mo saber si te!6o a6/! probema "o! e ar"&i0o 1.arP LHu# se!"io> Cua!do "ompias tus "ases% e primer error que te ori6i!a di"e a6o a respe"to de ar"&i0o 1.ar% puede de"irte que !e"esitas u!o m3s a"tua% o u!o m3s 0ie.o1 E "&iste es que para !ada ser3 e ar"&i0o que a6re6aste a CLASSPAQI1 As- que a "o!ti!ua"i2! es dar7 u! pequeMo mi!i tutoria para que sepa! que &a"er 9D1 Primer "aso x%) * nico) Ge0ise! a 0ersi2! que tie!e su .dR o su .re e! a si6uie!te si!taAis% o do!de sea que sepa! que se e!"ue!tra% e! mi "aso es C:<Pro6ram Fies<Sa0a1 Co! o a!terior s7 que e ar"&i0o 1.ar que debo a6re6ar a CLASSPAQI es e si6uie!te dbBoTU1B1VB112WUKT.a0aX1.ar A/! as-% eAiste e "aso (porque Due o que pas2 "o! a6u!os de sus "ompaMeros$ de te!er u!a 0ersi2! m3s atrasada a .dR X 2 W% por o que ser-a bue!o que "&e"ara! os si6uie!tes ra!6os1