Sei sulla pagina 1di 14

Taller de Bases de Datos Documentales Temas avanzados 2: Relaciones entre Bases de Datos

Por Llus Codina1


ltima revisin, fe rero 2!!2

PRIMER PARTE: TEORA DE LAS BASES DE DATOS RELACIONADAS2 Relaciones Las ases de datos re"resentan entidades, #ue "ueden ser o $etos materiales como li ros % foto&rafas, seres animados como "ersonas o ideas a stractas como teoras % conce"tos' Para ser eficaces, las ases de datos de en re"resentar a las entidades con la ma%or fidelidad "osi le' (s "or ello #ue los re&istros de las ases de datos de en incluir las "ro"iedades m)s relevantes de cada ti"o de entidad' (sto se *ace a trav+s de los modelos de re&istros #ue, como sa emos, se articulan en cam"os #ue, a su vez, corres"onden a "ro"iedades de las entidades' ,i el modelo de re&istro descuida al&una "ro"iedad im"ortante de una entidad, la ase de datos ser) ineficiente' -*ora ien, las entidades, adem)s de tener atri utos, tienen relaciones entre ellas' Por e$em"lo, su"on&amos una ase de datos de ima&en #ue conten&a datos so re foto&rafas % so re fot&rafos' Ciertamente, tanto las foto&rafas como los fot&rafos son entidades #ue "oseen determinadas "ro"iedades, % los re&istros de en reco&erlas de la forma m)s adecuada "osi le en sus modelos de re&istro, siem"re se&.n los o $etivos de la ase de datos % el ". lico de la misma' -*ora ien, "or el mismo motivo #ue necesitamos re"resentar a las entidades % a sus "ro"iedades, necesitamos tam i+n re"resentar las relaciones #ue se dan entre las entidades' Por e$em"lo, entre im)&enes % autores se da la si&uiente relacin: las im)&enes son hechas "or autores' Para sa er como tratar estas relaciones en una ase de datos necesitamos determinar el &rado de la misma' efectos de su re"resentacin, consideramos #ue los &rados de una relacin "ueden ser de tres clases: / De uno a uno 01:11 / De uno a varios 0n:11 / De varios a varios 0n:m1 ($em"lo de relacin 1:1 es la #ue e2iste entre mono&rafas e 3,B4' Cada mono&rafa tiene un n.mero de 3,B4 % solo uno 0115 "or otro lado, cada n.mero de 3,B4 se asi&na a una mono&rafa % solo a una 011' 1
2
confusin' Doctor en ciencias de la informacin' Profesor titular de universidad' 6niversitat Pom"eu 7a ra de Barcelona' Correo electrnico: lluis'codina8c"is'u"f'es (vitamos e2"resamente la e2"resin 9 ases de datos relacionales9 "ara no crear

6na relacin 1:n es la #ue se da, "or e$em"lo, entre "rofesores % de"artamentos' Cada de"artamento tiene varios "rofesores 0n1, "ero cada "rofesor solamente "uede formar "arte de un de"artamento 011' Por .ltimo, una relacin n:m es la #ue e2iste entre realizadores % films' Por un lado, un realizador "uede *a er diri&ido varios films 0n1, "ero tam i+n "uede ser #ue un mismo film ten&a varios realizadores 0m1' Consecuencias para el diseo Las relaciones % los &rados de la relacin tienen im"licaciones en el dise:o de ases de datos, se&.n veremos a continuacin: 1:1 ,i la relacin es de ti"o 1:1, esto si&nifica #ue de emos tratar a las dos entidades como una sola' ,i&uiendo con nuestro e$em"lo, en el caso de las mono&rafas % los n.meros de 3,B4, nos conviene considerar #ue el n.mero de 3,B4 es una m)s de las "ro"iedades de la mono&rafa $unto a otras como ttulo, autor, fec*a de "u licacin, etc' Por tanto, cuando determinamos una relacin 1:1, necesitamos un solo modelo de re&istro' Cual#uiera de las dos candidatas a entidad "uede ser la entidad re"resentada en la ase de datos, siendo la otra candidata una "ro"iedad de la entidad' 1:n n:! ,i la relacin es de ti"o 1:n o de ti"o n:m necesitaremos al menos dos modelos de re&istros: uno "ara cada entidad' Para indicar la relacin necesitaremos #ue am os re&istros ten&an un cam"o en com.n, es decir, un cam"o con el mismo dominio 0el mismo ti"o de valores1 % con el mismo ti"o de dato 0te2tual, num+rico, etc'1' (n el caso de "rofesores % de"artamentos el cam"o com.n "uede ser el cdi&o del De"artamento' 6na re"resentacin sim"lificada de los dos re&istros de nuestra ase de datos ima&inaria de "rofesores % de"artamentos "odra la si&uiente: Modelo de re"is#ro: Pro$esores Elvis, Juan No!%re Depar#a!en#o D011 Bases de datos documentales Asi"na#ura Modelo de re"is#ro: Depar#a!en#os Documentacin y Comunicacin No!%re D011 C&di"o C/. Balmes, sector norte, Edificio Ciencias Sociales, n. 123 Direcci&n 0 ! ! Barcelona ;racias al cam"o com.n, Depar#a!en#o en el "rimer modelo de re&istro % C&di"o en el se&undo modelo, "odremos cruzar datos' < s+rvese #ue no

es necesario #ue las eti#uetas de los cam"os sean i&uales' Lo #ue necesitamos es #ue am os cam"os ten&an el mismo do!inio' Por e$em"lo, "odremos dise:ar una consulta donde a"arezcan relacionados $unto a cada de"artamento de la universidad los "rofesores #ue forman "arte del mismo % las asi&naturas #ue im"arten, etc' Pero, ="or#u+ no "odramos tener un solo modelo de re&istro> Por e$em"lo, ="or#u+ no "odramos re"resentar al de"artamento como una caracterstica de la entidad "rofesor % as sim"lificar el dise:o> Piense el alumno en la res"uesta e intente ver #u+ consecuencias "odra tener #ue tuvi+ramos un solo modelo de re&istro unificado, "or e$em"lo como el si&uiente, en el cual #ue *a% una sola entidad, pro$esores, con los datos del de"artamento como caractersticas de la entidad: Modelo de re"is#ro: Pro$esores Elvis, Juan No!%re D011 C&di"o Dep' Bases de datos documentales Asi"na#uras Depar#a!en#o Documentacin y Comunicacin Direcci&n Dep' C/. Balmes, sector norte, Edificio Ciencias Sociales, n. 123 0 ! ! Barcelona Bases de da#os in#er!edias en relaciones n:! Para entidades #ue mantienen entre ellas relaciones del ti"o n:m a veces se necesitan tres ases de datos: una "ara cada entidad % una tercera "ara la relacin' Los casos en los #ue es necesaria esta tercera ase de datos son a#uellos en los cuales la relacin, como *emos dic*o es de ti"o n:m, % la naturaleza de esta es din)mica, es decir, cuando consiste en una actividad #ue cam ia en el tiem"o' (l e$em"lo cl)sico son las o"eraciones de "r+stamo de documentos en las i liotecas o centros de documentacin' Tenemos, en este caso, dos entidades: documentos % usuarios % una relacin, el "r+stamo de documentos' Como los usuarios de un documento van cam iando en el tiem"o, un mismo documentos "uede ser "restado a lo lar&o del tiem"o a distintos usuarios' -dem)s, un mismo usuario "uede tener distintos documentos en "r+stamos' (n esta situacin la relacin no es est)tica, "or lo tanto estamos ante un caso en el #ue se re#uieren tres ases de datos: la ase de datos de li ros, la ase de datos de usuarios % la ase de datos de "r+stamos' La ase de datos intermedia contendr) un re&istro "ara cada "r+stamo' Por tanto, de er) a rirse un re&istro nuevo cada vez #ue se realice un "r+stamo' ,er) conveniente #ue cada entidad ten&a un identificador .nico5 "or e$em"lo, los documentos de en tener un n.mero .nico, % los usuarios tam i+n de er)n tener un n.mero de identificacin .nico' (l re&istro de cada "r+stamo tendr) cam"os comunes a am as ases de datos $unto con cam"os "ro"ios, como la fec*a del "r+stamo % la de fec*a de devolucin'

Relacionar %ases en In!a"ic (n 3nma&ic "odemos relacionar una ase de datos a una o m)s ases de datos "ara com inar la informacin #ue contienen 0*asta un m)2imo de cuatro ases de datos1' (n 3nma&ic las relaciones se esta lecen a nivel de cam"os: un cam"o de una ase de datos se enlaza con otro cam"o de otra ase de datos' La relacin se "roduce cuando el valor de estos cam"os coincide' Por e$em"lo, sean las ases de datos Documentos % Autores' Cuando el cam"o enlazado Autor en la ase de datos Documentos, contiene el mismo valor #ue el cam"o Nombre en la ase de datos Autores, se "roduce la relacin' (ntonces, se "ueden com inar datos de am os re&istros enlazados mediante un formato de consulta //"rimer "aso// % de visualizacin //se&undo "aso//' < s+rvese #ue, como se *a indicado, los cam"os comunes, es decir, los cam"os enlazados no necesitan tener el mismo nom re en las dos ases de datos, "ero s de en tener el mismo dominio, (n 3nma&ic, las ases de datos enlazadas reci en el nom re de ase de datos primaria 0de la #ue "arte el enlace1 % de ase de datos secundaria 0la #ue reci e el enlace1 res"ectivamente' (l cam"o del #ue "arte la relacin en la ase de datos "rimaria se llama campo enlace' (l cam"o relacionado corres"ondiente de la ase de datos secundaria se llama cam"o asociado' La definicin del enlace solamente se realiza en la ase de datos "rimaria' (n la ase de datos secundaria no es necesario realizar nin&una indicacin, aun#ue de en cum"lir al&unas condiciones, como veremos' (n contra"artida, las relaciones son unidireccionales: ase de datos "rimaria ? ase de datos secundaria, "ero no al rev+s' ,olamente la ase de datos "rimaria 9sa e9 #ue e2iste la relacin' 3nma&ic recomienda #ue la ase de datos "rimaria sea la #ue cam ia con m)s frecuencia, % la ase de datos secundaria la #ue contiene los datos m)s estructurales o #ue cam ian con menor frecuencia' (n nuestro e$em"lo anterior, la ase de datos Documentos de era ser la ase de datos "rimaria % la ase de datos Autores, la ase de datos secundaria' Para relacionar tareas: ases de datos en 3nma&ic, se re#uieren al menos tres

1' Definir una segunda base de datos Para relacionar ases de datos se re#uieren, al menos dos ti"os de entidades distintos' ,i %a tenemos una ase de datos 0"rimer ti"o de entidad1, de emos definir la se&unda ase de datos 0se&undo ti"o de entidad1 #ue va estar relacionada con la "rimera' 2' Definir un campo enlace en la base de datos primaria La relacin se define en la ase de datos "rimaria mediante la ventana de edicin de cam"os' (l cam"o enlace en la ase de datos "rimaria se define con el ti"o de cam"o Enlace'

(l cam"o enlace de e tener indizacin "or Trminos, sin "er$uicio de tener tam i+n indizacin "or Palabra' (l cam"o enlace es siem"re del ti"o Slo una entrada en los controles de Validacin' -dicionalmente, es aconse$a le #ue sea del ti"o Obligatorio % Slo entradas nicas' Por su "arte, el cam"o asociado de la ase de datos secundaria de e res"onder a las mismas es"ecificaciones res"ecto a indizacin 0indizacin "or Trminos1, % es aconse$a le #ue sea tam i+n de valores .nicos % no re"etidos' @' !rear un formato de visualizacin en la base de datos primaria (l formato de visualizacin "uede incluir cual#uiera 0o todos1 los cam"os de la ase de datos "rimaria % cual#uiera 0o todos1 los cam"os de la secundaria' Para #ue se visualice al&una informacin de los cam"os de la ase de datos secundaria en el formato de visualizacin es necesario #ue *a%a dos re&istros coincidentes' -dicionalmente, es recomenda le una cuarta tarea: A' !rear un formulario de consulta en la base de datos primaria Lo si&nificativo, en este caso, es #ue el formulario de consulta de la ase de datos "rimaria "uede incluir cam"os de la ase de datos secundaria' De este modo, se "ueden consultar datos de la ase de datos secundaria desde la ase de datos "rimaria' SE()NDA PARTE: TALLER *' Escenario diccionario de da#os

Para esta "r)ctica, se&uiremos con el escenario #ue nos sirvi "ara crear la ase de datos "magen' ,i el alumno realiz la "r)ctica de "u licacin de ases de datos en 3nternet, es "ro a le #ue su ase de datos "magen *a%a cam iado de nom re' Por ello, 3ma&en es el nom re de una varia le: desi&na al nom re concreto con el cual cada alumno renom r a su ase de datos 3ma&en' ,i el alumno a.n no *a realizado el taller de "u licacin en 3nternet, su ase de datos se&uir) denomin)ndose "magen# ,u"on&amos #ue *emos visto la necesidad de contar con una nueva ase de datos #ue nos a%ude a &estionar la informacin so re los autores de las im)&enes #ue contiene nuestra ase de datos "magen' (sta nueva ase de datos *emos decidido llamarla Autores' Tendremos #ue decidir tam i+n cu)l es el ne2o entre las dos ases de datos' Como sa emos, conviene #ue el ne2o de unin sea una "ro"iedad #ue &enere valores .nicos % no re"etidos' Parece #ue el nom re del autor ser) el m)s adecuado en este caso' La alternativa sera otor&ar una clave de identificacin .nica a cada autor, "ero en este conte2to el a"ellido cum"le ien ese "a"el, %a #ue la "osi ilidad #ue dos autores distintos ten&an el mismo nom re es remota' Por tanto, tendremos dos ases de datos % el ti"o de relaciones #ue se e2"resa en la ta la si&uiente:

Pro ec#o Bases de BD primaria Campo enlace BD secundaria Campo asociado

Da#os Ac!e 3ma&en -utor -utores 4om re

Bemos, "or tanto, la necesidad de crear una se&unda ase de datos' Como consecuencia de ello, *emos "re"arado este diccionario de datos: Diccionario de da#os Base de Da#os Autores
Campo 4om re Dominio -"ellido, 4om re del autor de la ima&en Pas del autor Breve io&rafa del autor 3niciales del o"erador 7ec*a de creacin del re&istro 4.mero .nico de identificacin de cada re&istro Tipo de campo Te2to Indizacin T+rmino Pala ra T+rmino Pala ra T+rmino Pala ra Pala ra Pala ra T+rmino Pala ra Validacin (ntrada o li&atoria ,lo entradas .nicas (ntrada o li&atoria (ntrada o li&atoria (ntrada o li&atoria 4o *a% validacin (ntrada o li&atoria

4acionalidad Bio&rafa <"erador 7ec*a-lta 4umRe&

Te2to Te2to Te2to 7ec*a autom)tica 3D autom)tico

1' Pri!era operaci&n: creaci&n de la %ase de da#os secundaria Por el "rocedimiento #ue el alumno %a conoce, de e crear una ase de datos con 3nma&ic, denominada Autores, #ue res"onda al diccionario de datos anterior' (sta ase de datos de er) estar situada en el mismo directorio % car"eta #ue la ase de datos Imagen creada anteriormente' 6na vez creada Autores, dar) de alta estos dos re&istros 0como siem"re, o viamos re"resentar a#u los tres .ltimos cam"os de ti"o administrativo1: 011 4om re 4acionalidad Bio&rafa -dams, -nsel 4orteamericano ,an 7rancisco 1C!2 / Donterre% 0D+2ico1 1CEA' 6no de los &randes artistas de la *istoria de la foto&rafa' (lev la foto&rafa de "aisa$es a cotas mticas

021 4om re 4acionalidad Bio&rafa

Cartier/Bresson, Fenr% 7ranc+s C*antelou" 1C!E' 7ot&rafo % cineasta' - "artir de la

se&unda &uerra mundial su o ra se centra en el re"orta&e' 7undador de la -&encia Da&num (l resultado de er) ser similar al si&uiente 0mostramos .nicamente el "rimer re&istro1:

6na vez *a%a dado de alta los dos re&istros anteriores, "uede cerrar esta ase de datos Au#ores % "asar a la si&uiente fase' +' Se"unda operaci&n: preparaci&n de la %ase de da#os pri!aria - ra la ase de datos "magen' Bamos a declarar el cam"o Au#or como cam"o enlace' Para ello: Man#ener , Edi#ar es#ruc#ura' Fa&a clic en el cam"o Au#or "ara seleccionarlo' Clic en Edi#ar ca!pos:

Des"u+s, *a&a clic en Tipo e Indi-aci&n' ,eleccione en Tipo de ca!po: Enlace' ,e a rir) una ventana "ara #ue seleccione la ase de datos secundaria:

,eleccione la ase de datos Au#ores' 6na vez seleccionada, mostrar) una lista de cam"os' ,eleccione No!%re % clic en Acep#ar:

Confirme con Acep#ar' Des"u+s, en Edi#ar Ca!pos, *a&a clic en Ca!%iar % des"u+s en Cerrar:

Confirme des"u+s en las sucesivas ventanas #ue le "idan confirmacin, *asta #ue se cierre la .ltima % el cam io #uede realizado' ,i *a se&uido ien todos los "asos, a*ora %a tiene dos ases de datos relacionadas' La ase de datos I!a"en es la ase de datos "rimaria, % la ase de datos Au#ores es la secundaria' Las o"eraciones de cruce de datos se *ar)n siem"re desde la ase de datos "rimaria' .' Tercera operaci&n: !odi$icaci&n del $or!ulario de /isuali-aci&n -*ora vamos a modificar el formato de visualizacin de la ase de datos "rimaria "ara #ue "odamos cruzar datos de am as ases 0siem"re #ue *a%a coincidencia en los datos de los cam"os relacionados1' Tam i+n "odramos crear un formato nuevo, "ero "ara sim"lificar la "r)ctica, nos limitaremos a modificar el formato #ue %a tenemos' Para ello: 0er , Disear $or!a#o''' ,eleccionar el formato en uso' ,i si&ui las convenciones de talleres anteriores, "odr) seleccionar el formato Nor!al 0o cual#uier otro #ue usted *a%a creado1:

Fa&a clic en el lu&ar a"ro2imado donde #uiere #ue a"arezca el nuevo recuadro 0"or e$em"lo, *a&a clic en el recuadro -utor "ara #uede de a$o de este1% des"u+s *a&a clic en el otn de a:adir recuadro:

-"arecer) una ventana "ara definir las "ro"iedades del formato 0no se "reocu"e si el nuevo recuadro no #ueda situado donde usted deseara, %a lo mover) des"u+s1:

(n la "esta:a Ca!pos, des"lace el cursor % ver) #ue, adem)s de los cam"os de la ase de datos I!a"en 0la #ue tenemos a ierta a*ora1, a"arecen listados los cam"os de la ase "rimaria % tam i+n de la secundaria:

Los cam"os de la ase de datos secundaria se muestran se&uidos de 1Au#or, "ara indicar #ue son de la otra ase de datos' ,eleccione Nacionalidad1Au#or % *a&a Aadir, de manera #ue el cam"o indicado #uede asi&nado al nuevo recuadro:

Fa&a otras modificaciones de manera #ue en la "esta:a E#i2ue#a #uede activada la o"cin Mos#rar e#i2ue#a % #ue la E#i2ue#a del recuadro sea Nacionalidad' Fa&a Aplicar, Cerrar' Fa&a los a$ustes "ara #ue el dise:o final del formato de visualizacin sea, m)s o menos como ver) a continuacin, con la o servacin de #ue no es im"ortante #ue sea id+ntico, ni si#uiera es necesario #ue en el formato final fi&uren los mismos cam"os, "ero s es im"rescindi le #ue fi&ure el recuadro Nacionalidad:

< serve #ue *emos a:adido el recuadro Nacionalidad, % vea as mismo #ue la indicacin del cam"o del recuadro es Nacionalidad1Au#or' ;uarde los cam ios del formato % cierre la ventana: , Bamos a com"ro ar la funcin del nuevo formato de visualizacin' Ba%a a la "lantilla de consultas "ara recu"erar la fic*a datos de la ima&en titulada Moonrise 0o a ra toda la ase % *a&a una e2"loracin secuencial1' Con el nuevo formato de visualizacin, a*ora tenemos este resultado:

Bemos #ue, a*ora, la ase de datos 3ma&en cruza datos de la otra ase % los muestra de manera unificada' (n concreto, la nacionalidad no forma "arte de la ase de datos I!a"en, sino de la ase de datos Au#ores, sin em ar&o los *a com inado en nuestro nuevo formato' (s im"ortante entender #ue el cruce de datos solamente se "roduce en los casos en los cuales *a%a un re&istro de cada ase de datos con datos en

com.n' (n concreto, solamente *emos dado de alta dos autores en la ase de datos secundaria, "ero en la ase de datos "rimaria *a% otros nom res de autor' ,olamente cuando coincidan los valores de dos re&istros 0uno de la ase "rimaria % otro de la secundaria1 se "roducir) el cruce de datos' Tam i+n es im"ortante entender #ue las .s#uedas cruzadas solamente tienen lu&ar desde la ase de datos #ue *emos declarado como "rimaria *acia la ase de datos secundaria, "ero no al rev+s' (l alumno "uede dise:ar otros formatos de visualizacin con distintas com inaciones de cam"os, si desea avanzar m)s en este tema' 3' O#ras !odi$icaciones ,i&uiendo un "rocedimiento id+ntico a los anteriores, el alumno de e intentar dise:ar a*ora un formulario de consulta #ue "ermita consultar la ase de datos secundaria desde la ase de datos "rimaria' Por e$em"lo, modifi#ue el recuadro Buscar en cual2uier ca!po "ara o tener informacin so re im)&enes a "artir de al&.n dato de la io&rafa del autor' De er) modificar las "ro"iedades de ese recuadro "ara a:adir el cam"o Bio"ra$4a de la ase de datos secundaria 0-utores1' 6na vez modificado el recuadro del formulario de consulta, de e tener esta a"ariencia:

Pon&a a "rue a este formulario uscando la fic*a de una ima&en cu%o autor *a%a sido cineasta 0use el t+rmino cineas#a en el recuadro Buscar en cual2uier ca!po "ara lanzar la .s#ueda1' (l resultado de e ser la fic*a de una foto&rafa de Cartier/Bresson' ,in em ar&o, aun#ue *a%a recu"erado el re&istro indicado, no a"arecen los datos io&r)ficos' (s l&ico #ue sea as' ,e de e a #ue el formato de visualizacin no inclu%e ese cam"o, "ero se "odra conse&uir #ue a"areciese ese cam"o si se modifica el formato de la forma #ue %a conoce' - efectos de esta "r)ctica no es necesario'

Tam i+n "uede crearse informes "ara cruzar datos "or el "rocedimiento %a "racticado' 7inalmente, las o"eraciones de mantenimiento de la ase de datos "rimaria tam i+n "ueden eneficiarse de los enlaces, utilizando directamente el ndice de valores de la ase de datos secundaria "ara entrar valores en el cam"o enlazado "rocedentes del cam"o asociado' Las "osi ilidades de los enlaces en 3nma&ic son mu% numerosas' 4ada im"ide #ue una ase de datos secundaria sea "rimaria a su vez' Por otro lado, una ase de datos "rimaria "uede enlazar *asta cuatro ases de datos secundarias' ,in em ar&o, con lo visto *asta a*ora daremos "or aca ada esta "r)ctica, sin "re$uicio #ue el alumno, si es de su inter+s contin.e "rofundizando en el tema dise:ando otros formatos 0informes, visualizacin, consultas1 % *aciendo "rue as con otras "osi ilidades de relacin 0"uede invertir la relacin % declarar a*ora un enlace desde la ase -utor a la 3ma&en1' 7in de esta "r)ctica
L' Codina, fe rero 2!!2

Potrebbero piacerti anche