Académique Documents
Professionnel Documents
Culture Documents
BasedeDatos
Autor:AlfonsoPalomares
Pag.159
Contenidos
Modeladodeuna
BasedeDatos
2.ElModelado
2.1.Porqudeborealizarunmodelo
2.2.Cmomodelar
2.2.1Ejemplo
2.3.DiagramaEntidadRelacin(DER)
Entidades
Ejemplo
Atributos
AtributosClaveoIdentificadores
AtributosCalculados
AtributosMultivaluados
AtributosCompuestos
Relaciones
CardinalidaddelasRelaciones
Opcionalidad
GradodeunaRelacin
RelacinUnaria
RelacinBinaria
RelacinTernaria
Atributosenlasrelaciones
Entidadesdbiles
JerarquasoHerencias
2.3.1.Ejemplossimples
2.3.2.Ejemplocomplejo
2.4.ModeloRelacional(MR)
ElementosdelModeloRelacional
Relaciones
Atributos
AtributosClaves
AtributosForneos
AtributosClaveyforneos
Reglasdetranformacin.DesdeelDERalMR
DeEntidadessimplesaRelaciones.
DeEntidadesyRelacionesaRelaciones.
2.4.1.Ejemplossimples
2.4.2.Ejemplocomplejo
Pag.259
2.ElModelado
Desde sus comienzos, el ser humano ha intentado hacer representaciones grficas de su
universo conocido, para as poder transmitir su modo de verlascosasaotros.Conformeel
ser evoluciona, tambin lo hacen sus esquemas grficos, llegando a especificar y tipificar
cada representacin. Es por esto, que la mejor manera de pensar, diseary mostrar una
basededatosseamedianteundibujo.
Como en todos los mbitos formales sucede, se cre por decisin del medio y luego de
diversas pulseadas entre diferentes corrientes, un modelo especfico para el planteo de
basesdedatos.Porlocual,setomaronvariasprecauciones.
Primero, se debe minimizarlacantidaddeplantillasusadas,esdecir, sedebecontarconun
reducido conjunto de elementos. Segundo, se debe dar un significado nico a cada
elemento,permitiendoasunanicainterpretacin.
2.1.Porqudeborealizarunmodelo
Debemos construir un puente que nos acerque entre quien tiene una idea y aquel que la
realizar. Si debemos conectar el pensamiento entre ms de una persona, es vital que
generemos un diseo, que sea lo ms universal posible, que sea fcil de comprender,
incluso hasta por aquellos que surgen de otros mbitos acadmicos. Es por ello que
debemos utilizar un modelo estndar,probado yrevisadoduranteaos.Sienlugardehacer
unmodeladosimplementenoscentramosenrealizarunescrito,daramoslugaraerroresde
interpretacinoproblemasdellenguaje,entreotrascosas.
2.2.Cmomodelar
Para las bases de datos, uno de los modelos grficos que aplica, es el Diagrama
EntidadRelacin,tambinconocidocomoDER.
Dentro de esta forma de modelar, se encuentran solamente dos tipos de elementos
diferentes, permitiendo transmitir un mensaje claro y preciso. Dichos elementos, son slo
deltipoEntidadyRelacin.
Las entidades indican las colecciones de objetos de los que necesitamos almacenar o
recopilar informacin. Dado que son colecciones, se las denomina formalmente Conjunto
deEntidades,peroporsimplicidadseoptaporllamarlassimplementeEntidades.
Se las nombra siempre en singular y pueden representar objetos materiales (vehculos,
lugares, etc.), objetos abstractos (llamadas telefnicas, movimiento bancario,etc.), objetos
vivos (empleados, alumnos,etc.) u objetosinanimados(accidentesgeogrficos,puestosde
trabajo, etc.), pero siempre sern tomadas y tratadas como colecciones de objetos. Si
Pag.359
2.2.1Ejemplo
Nos interesa para este ejemplo pensar en un esquema que nos permita administrar
nuestros DVD de msica y video. De los DVDs queremos contar con la informacinde: el
nombre,lafechadeedicinylacompaaquehizolaedicin.Adems,queremossaberqu
artistasintervienenenlasdiferentesproducciones.
Teniendo esto, podemos empezar a revisar qu elementos sern posibles entidades. Para
detectar colecciones, debemos ver en el prrafo anterior, qu elementossonalmacenables
y posiblemente necesitemos persistir ms de uno. Normalmente vienen denotados por un
sustantivo. Lo primero que salta a la vista, son los DVD. Luego podra ser la compaaque
hace la edicin y por ltimo, los artistas. Estas tres colecciones podramos definirlascomo
entidades.
Una vez que hemos detectado las entidades, debemos proceder a reconocer los atributos
que las describan. Para los DVD, los atributos a considerar, son: el nombre, la fecha de
edicineinclusopodemosdefinirunatributoquenosdistingasielDVDesunapelculaono.
Para las compaas editoras, no nos informa nada, por lo quepodemos presuponer contar
conalmenosunnombre.Lomismoparaelcasodelosartistas.
Finalmente, queda por determinar el conjunto de relaciones, quienes no suelen ser tan
explcitas en los textos como s lo son las entidades, aunque muchas veces pueden
reconocerse con un verbo. Debemos recordar que las relaciones slo ocurren entre
Pag.459
entidades,locualnosindicaquienesparticipanalahoradepensarlarelacin.
Sireleemoselprrafodelproblema,vemosquelacompaaeditorialeditalosDVD,siendo
esta la relacin buscada. Luego, entre los artistas y los DVD, se descubre la relacin
participaoformapartede,determinandolaaccinentreelartistaylaobra.
2.3.DiagramaEntidadRelacin(DER)
Utilizaremos para la representacin grfica de lo anteriormente dicho el Diagrama
EntidadRelacin.
Entidades
En este modelo las colecciones de objetos o entidades sern representadas por un
rectngulo, donde el nombre de dicha coleccin estar encerrado dentro del mismo. Este
nombreestardefinidoensingularynopodrrepetirseentodoeldiagrama.
Ejemplo
Figura1.Sepuedenvercincoentidades:Persona,Trabajador,Transporte,Director,Zapato.
Pag.559
entidades almacenarn todos los datos de cada una de las personas que tenga nuestra
empresa de zapatos, permitindonos as discriminar entre quienessondirigentesyquienes
son trabajadores. Adems, decidimos incluir la entidad zapato, donde almacenaremos los
distintostiposdezapatosquesefabricanennuestraempresaimaginaria.Porltimo,hemos
incluido el transporte, para pensar en el medio queutilizaremosparadistribuirlosproductos
yaelaboradosalastiendas.
Atributos
Como ya hemos dicho, cada entidad o coleccin de objetos tendr atributos que las
describanyadems,quedistingaacadaunodelosobjetosincluidosendichascolecciones.
Estos atributos serndibujados con valos, conectados con una lnea a la entidad a la que
estn describiendo. Cabedestacar,que una entidadnopuedetenerdos omsatributoscon
el mismo nombre, ya que estaramos almacenando dos veces el mismo dato.Porejemplo,
en la entidad Persona, si tenemos el atributo Nombre y lo definimos dosveces, para cada
objetodedichaentidad,tendramoseldatorepetido.Veamoscomo:
Para el objeto 1, la persona tiene como nombre Jos y para elobjeto 2, el nombre Ana. Si
repetimos el atributo, tambin duplicaramos su contenido, almacenando en este caso
JosJosparaelobjeto1yAnaAna,paraelobjeto2.
Puede el lector pensar, cmo hacer en el caso de que una persona tenga dos nmeros de
telfono a donde poder contactarla. Estoscasoslosresolveremosmsadelanteypodras
descubrircmoplanteardichassituaciones.
Algo que s puede ocurrir es que dos entidades diferentes tengan, en cada una de ellas, un
atributo con el mismo nombre. Por ejemplo, las entidades Persona y Color, ambas pueden
tenerelatributoNombre,perocadaatributoserunacaractersticapropiadecadaentidad.
Otroejemploparaverestopodrser:
Figura2.Vemosenelejemplo,dosentidades,AutoyMoto,cadaunaconsuatributocolor.
AtributosClaveoIdentificadores
Algunos de los atributos tienen la particularidad de ser aquellos que determinan
unvocamentealaentidaddentrodelconjuntodeentidades.
Por ejemplo, si tenemos la entidad Auto,con los atributos ao de fabrica, color,puertas,
Pag.659
marca y modelo, debemos pensar cmo distinguir los siguientes objetos de la coleccin
Auto.
Ao
2009
2010
2010
2009
Color
Negro
Negro
Azuil
Negro
Puertas
5
5
5
5
Marca
Ford
Ford
Ford
Ford
Modelo
Focus
Focus
Focus
Focus
Vemos que si tomamos el atributo ao como atributo identificador del Auto, no logramos
tener un solo valor diferente para cada auto, ya que en el ejemplo, 2009 y 2010 se
encuentranendosobjetos(oautos)respectivamente.
Si tomamos ao y color, tampoco conseguimos distinguir a un objeto de otro, ya que por
ejemplo 2009 + Negro, se encuentra en ms de unobjetoauto.Recordemosqueelobjetivo
esdistinguirunvocamenteacadaobjetodeotro.
Probemos ahora, utilizar el caso extremo, utilizar todos los atributos. Si tomamos 2010 +
Negro +5 + Ford+ Focus descubrimosquetampocopodemosdeterminarunicidad,yaque
2009+Negro+5+Ford+Focusserepiteparadosobjetos.
Para solucionar esto,si bien tenemos determinados a aquellos atributos que describenala
entidad Auto,antenemoslanecesidadde identificarlosunvocamente.Paraelcasodeesta
entidad, pensemos qu hay en la descripcin de un auto que lo defina de forma nica.
Generalmente, estos atributos son los fundacionales del objeto a evaluar. Para el caso de
las personas, lo que lo define nicamente podra ser el Documento de Identidad. Para los
autos, esta simple caracterstica nica podra ser la matricula, ya que es el atributo con el
cualsediferencianlosautos,quedando:
Matricula
Ao
Color
Puertas
Marca
Modelo
AAI001
2009
Negro
Ford
Focus
AAI002
2010
Negro
Ford
Focus
BBF003
2010
Azul
Ford
Focus
CCF004
2009
Negro
Ford
Focus
Pag.759
Figura 3. Tenemos las entidades Auto, con su atributo comn color, y su atributo clave
matrcula. Por otra parte, la entidad Monitor, con su atributo clave Nro. de serie y sus
atributosdescriptivostamaoycolor.
Cabe destacar,quepodemostenermsdeunatributoclaveenunaentidad,porejemplo
la entidad Persona, que puede tener como atributos clave, el tipo y en nmero de
documento.
Tipo
Pasaporte
DNI
DNI
Nro
29111222
29111222
29111223
Nombre
JuanRodriguez
JuanaDolores
JuanRodriguez
Cabe destacar que los atributos forman una nica clave en su conjunto y no pueden
considerarse en forma aislada como tales. Como vemos en este ejemplo, si tomramos
solamente el nmero del documento, obtendramos ms de una personal para el mismo
valor. Lo mismo sucede con el atributo tipo de documento. Surge que, si tomamos eltipoy
elnmerodedocumento(elpar),podemosdistinguirunvocamenteacadapersona.
Grficamente, si tenemos ms deun atributo clave, debemos subrayara ambos atributos,
talcomohacemoscuandoexistesolouno.
Hay casos, dondetenemosmsdeunatributoquedistingueunicamentealoselementosde
la entidad. Por ejemplo, en los autos, tenemos la matricula como dijimos antes, pero
Pag.859
tambin tenemos el nmero del motor. En estos casos debemos elegir, segn lo que
consideremos ms apropiado en el dominio de nuestro problema, qu atributos sern
finalmente los identificadores. En este ejemplo, es esencial entender que debe elegirseuno
sobre el otro y no declararlos a ambos como atributos clave. Marcando a ambos como
identificadores, daramos la pauta que se necesita el par matriculanmero de motor para
determinarunauto.
Recordemos que solo tomamos 2 o ms atributos cuando uno solo no es suficiente para
determinarlaunicidaddelaentidad.
Ejemplos
Figura 6. Podemos ver en este grupo tres entidades con sus respectivos atributos,
destacandolosquesonclaveconunsubrayado.
AtributosCalculados
Los atributos calculados son aquellos que demandan un clculo a partir de otros atributos
Pag.959
Cabe destacar que no hace falta explicitar la frmula en el modelo o diagrama realizado,
pero si hay que tenerlapresenteparaelfuturo, cuandodeldiagramaobtengamosla basede
datosreal.
AtributosMultivaluados
Un caso particularde los atributos, es que cuenten con ms deun valor paraunainstancia
de la entidad a la cual pertenecen. A modo de ejemplo, la entidad Persona, posee en el
atributo telfono, la posibilidad de tener uno o ms valores. Uno podra optar por definir un
nmero finto de atributos similares (telfono1, telfono2, etc.) o bien definir un atributo
multivaluado.
Estos atributos se dibujan con dos valos concntricos. El nombredelatributodebe seren
Pag.1059
singular, por ms que pueda almacenar ms de un valor. Este tipo de caracterstica nos
permite almacenar una indefinida cantidad de valores diferentes endichoatributopara cada
unodeloselementosdelaentidad.
Por ejemplo, podemos tener para la persona Juan, los telfonos 44444444 y 22225555, y
paralapersonaAna,losnmeros55552222,11112222,66664444.
Como vemos, en un atributo multivaluado, cada objeto de la entidad, puede tener una
cantidaddiferentedevalores.
Figura8.Aquvemostrespersonasconunacantidaddiferentesdenmerosdetelfonos.
Ejemplosdeatributosmultivaluados.
AtributosCompuestos
Por ltimo, tenemos los atributos compuestos. Estos atributos nos sirven para agrupar
atributos solamente, colaborando alavisualizacin delaentidadyasumejorentendimiento.
As, podemos tener el atributo direccinquepodr serelatributoagrupadordelosatributos
calle,piso,altura,departamento,etc.
La forma de graficarlo es asociando al atributo agrupador a la entidad conunalnea.Luego,
losagrupados,asociadosconunalneaalatributoagrupadorynoalaentidad.
Pag.1159
Figura10.Enestaimagenvemosdosentidades.PrimeroAlumno, conelatributocompuesto
Direccin. Este atributo est formado por Calle, Altura, piso y departamento. Luego,
tenemos la entidad Libro, con elatributocompuestoFormato. Este atributo estcompuesto
porlosatributosColor,Columna,Tamaodeletraytipografa.
Relaciones
Las relacionesson quienes definen las acciones entreunaentidadyotra.Sedibujan conun
rombo, con al menosdos conectores en las puntas horizontales, que servirn paraasociar
lasentidadesqueintervienenendicharelacin.
Figura 11. Vemos aqu, la forma de graficar una relacin, con sus dos conectores a los
ladoscontrazofirme.
Pag.1259
Figura 13. Tomando algunas de las relaciones delafigura 12,seejemplifica cmose debe
leerlarelacinqueintervieneentrelasentidades.
Pag.1359
Figura 14. Vemos en este ejemplo, dos entidades, Lector y Libro. Entre ellos, hay tres
relaciones que tienen significados diferentes. Las relaciones son Recomienda, Lee y
Comenta.
Esto sucede ya que, entre dos instancias de objetos de las dos entidades, pueden darse
ciertascombinacionesyciertasno,segnloquelarelacinrepresente.
Enelejemploanterior,podemospensarque:
CardinalidaddelasRelaciones
Pag.1459
Una vez que comprendimos que para evaluar las relaciones tenemos que considerar las
instancias de las entidades, debemos determinar cuntas instancias de cada entidad
pueden participar de la relacin. Es lo mismo decir,sitenemosunaaccin,cuntossonlos
quepuedenprovocarlaycuantosrecibendichoefecto.
Siempre la cardinalidad se define para cada unodelasentidadesalasqueest asociadala
relacin. Entonces, si tenemos dos entidades que estn asociadas por una relacin,
tenemosqueevaluarlacardinalidaddelarelacinconrespectoaambasentidades.
Si tenemos las entidades LectoryLibro,podramostenerlarelacinLee,paradecirque
un lector ley algnlibro. Ahora, si evaluamos lacardinalidaddelarelacin,debemostomar
un lector hipottico (no Juan ni Ana) y pensar cuntos libros puede haber ledo, para
comenzar de esta forma a definir la cardinalidad de la relacin. Encontramos rpidamente
que el resultado a dicha pregunta es uno o ms libros. Entonces, dado que UN LECTOR
puede leer UNO O MS LIBROS, decimos que la cardinalidad en la relacin Leees del
tipoMuchos,conrespectodelaentidadLibro.
Evaluemos la relacin ahora, pensando en la entidad Lector. Debemos pensar lo mismo
pero observando la accin o relacin desde el punto de vista del Libro. Repitamos el
proceso entonces, yendo desde Libro a Lector, es decir, considerando la misma relacin
Lee ahora como la accin fue ledo por. Tomemos entonces un libro hipottico, y
tratemos de pensar cuntos lectores puede haber tenido. Rpidamente nos damos cuenta
que un libro pudo haber sido ledo por ms de un lector, como sucede con los best seller,
por ejemplo. Encontramos que es una cardinalidad similar al caso anterior. Entonces,dado
que UN LIBRO puede ser leido por UNO O MS LECTORES, decimos que la cardinalidad
enlarelacinLeeesdeltipoMuchos,conrespectodelaentidadLector.
Estacardinalidad,definidacomoMuchos,serepresentagrficamentecomounaN.
Pag.1559
Figura 17. Vemos un ejemplo con objetos de la entidad Lector y la entidad Libro, tomando
solo la relacin Lee.Podemosver,queJuan,leydoslibros,por lotanto lacardinalidad de
lee en Libro va a sermuchos(msdeuno).Luego,vemosque ellibro 100 Aos de soledad
fue leido por dos lectores, Juan y Ana. Entonces, la cardinalidad ser muchos del lado de
lectorparalarelacinLee.
Figura 18. Aqu vemos una relacin entre localidad y provincia, indicando que para cada
localidadslopuedeexistirunaprovincia.
Pag.1659
Figura 19. Aqu vemos un ejemplo de elementos de las entidades Localidad y Provincia.
Como eslgico, una localidad slo puede pertenecer a una provincia, ya queestdentro
deella.
Figura 20. Aqu vemos las entidades Localidad y Provincia, con la relacin pertenece y su
cardinalidadNdelladodelocalidad.
.
Figura21.Seobservaquecadaprovinciacontieneunaomslocalidades.
Finalmente,podemosverlarelacinconlacardinalidadtotalmentedefinida.
Pag.1759
Figura 22. Vemos la relacin Pertenece con la cardinalidad totalmente definida,es decir,en
todossusextremos.
Figura23.GraficamoslaentidadAlumnoylaentidadPersona,conlarelacinEsUna.
Veamos la cardinalidaddeestarelacin.SitomamosunalumnoA,secorrespondeslocon
una persona P, ya que un alumno slo puede ser una misma persona y nunca dos o ms.
Entonces lacardinalidaddelarelacindelladodePersona,esUno.Ahora,sitomamosuna
persona, siempre ser uno y slo un alumno, por lo que la cardinalidad del extremo de
AlumnotambinserUno.
Figura24.VemoslasentidadesAlumnoyPersonaylarelacinEsUnafinalizada.
Opcionalidad
Se habla de opcionalidad en una relacin cuando alguno de los elementos intervinientes
puedeestarrelacionadoconningunooms,oceroomselementosdelasegundaentidad.
Esto se grfica haciendo un crculo sobre la lnea queconectalarelacinconlaentidada la
cualqueremosreferirlaopcionalidad.
Pag.1859
Algunosejemplosquesepuedenencontrar,son
GradodeunaRelacin
Las relacionestambinestndefinidassegn lacantidaddeentidadesqueintervienenensu
definicin. Hasta ahora, todos los ejemplos que hemos visto, fueron elaborados en base al
casomscomn,dondeunarelacinestasociadaadosentidades.
Dado que el grado queda determinado segn la cantidad de entidades que la relacin
conecta, las vistas hastaelmomento,dondelarelacinconectadosentidadesdiferentesse
lasconocecomoBinariasogradodos.
Luego tenemos las Unarias o de grado uno, donde la relacin conecta dos veces a la
Pag.1959
misma entidad. Pensemos en la entidad Empleado y la relacin Es jefe de. Esta relacin,
necesariamente tiene que tener ambosextremosconectadosalaentidadEmpleado,yaque
unempleadopuedeserjefedeotrosempleados.
Por ltimo, tenemos las relaciones de grado tres o Ternarias, trmino utilizado para
referirsealasrelacionesqueconectanatresentidades.
Por motivos de simplicidad, este modelo no permite un grado mayor que tres para sus
relaciones. Ya veremos qu hacer en caso de necesitar ungrado mayorparauna relacin
dada.
RelacinUnaria
Como dijimos anteriormente, las relaciones unarias son aquellas que relacionan a una
mismaentidad,pudiendoserdeUnoaUno,UnoaMuchosodeMuchosaMuchos.
Para identificarlas, debemos contemplar en ladefinicindelmodelosiexisteunaaccinque
segenereenunaentidadyseapliquesobrelamisma.Casosejemplosdeestopuedenser:
Dadala entidadPersona,larelacinEspadre de,partedelaentidadpersonapara
aplicaroterminarenlamismaentidad.
Figura 27. Vemos un grupo de elementos de una entidad Persona, y las conexiones entre
losprogenitoresysushijos.
Si tenemos una entidad Auto y una relacin Fabricado a la par de, la cual indica
qu auto fue fabricadoenelmismomomentoqueotros,tambintenemosnecesidad
de utilizar una relacinunaria, ya que debemos conectarobjetos deunaentidadcon
otrosobjetosdelamismaentidad.
Pag.2059
Figura 29. Muestra de una Relacin Unaria. Vemos como los extremosdelromboconectan
lamismaentidad.
RelacinBinaria
Paralasbinariasnodebemosagregarmsde loantesdicho,sedebegraficarconunrombo
yluegoconectarcondoslineashorizontalesadosentidades.
Figura30.Ejemplobsicodeunarelacinbinaria.
RelacinTernaria
Las relaciones ternarias se grafican con un tringulo en lugarde un rombo, y se conecta a
lastresentidadesqueintervienenenlarelacin.
Pag.2159
Figura 31. Podemos ver cmo la forma de la relacin cambia de un rombo a un tringulo y
lastrespuntasseconectanconlasentidades.
Para sabersitenemosnecesidaddeunarelacinternariadebemosplantearnoslosiguiente:
La accin necesita deuno omsobjetosdedos entidadespararealizarlaaccinsobreuna
tercera.
Veamos esto en un ejemplo: supongamos que deseamos saber, para una persona dada,
qu celular posee en cada compaa. Planteando el problema con relaciones binarias
tendramosalgocomoesto:
Figura 32. Tenemos tres entidades, Persona, Celular y Compaa. La primera, relacionada
con CelularatravsdelaRelacinTieneyconCompaaatravsde larelacinContrata.
LuegoCelularyCompaaseconectanconlarelacinOperacon.
Pag.2259
Figura 34. De esta manera quedara determinada la ternaria, conectando al rectngulo que
laidentifica,conlastresentidades,persona,compaaycelular.
Veamos la cardinalidad. Para definirla correctamente tenemos que siempre tomar dos
elementos de dos entidades y evaluar cuantos le corresponden de la tercera. Ah se puede
definir si es cero, uno o muchosenlatercerentidad.Luegodebemospararnosenotrasdos
de las tres entidades y evaluarla restante. Definir si es cero uno o muchos enlarestantey
repetirelprocesounatercerayltimavez.
Hagamosunejemplopararevisaresto,tomandoelcasoanterior.
Si tomamos una Compaa E1y una Persona P1, podemos decir que la persona P1 en la
compaa E1 puede tener cero , uno o ms Celulares, por lo que la cardinalidad en Celular
esmuchos(N).
Pag.2359
Figura35.VemoslacardinalidaddelarelacinContrataparalaentidadCelular.
Luego, tomamos otro par. de Persona P1, y de Celular C1, y veamos cuantas ocurrencias
pueden tener en Compaa. Para lo cual nos debemos preguntar, la persona P1 con el
celular C1, puede estar asociada aninguna,unaomuchascompaas?Paraestecaso,la
respuestaesqueestaasociadaaningunaoauna.
PorendelacardinalidaddelarelacinenCompaaesuno.
Figura36.SeagreglacardinalidadparaCompaaenlarelacinContrata.
Pag.2459
Figura37.Tenemoslacardinalidadcompletamentedefinida.N:1:1
Rpidamenteevaluemoslaopcionalidadenestarelacin.
Comoentodosloscasosesceroouno,oceroomuchos,esopcionalentodosloscasos.
Por lo que nos queda marcado en todos las lneas dela relacinelcrculoquenosindicala
opcionalidad.
Figura38.Tenemosmarcadoadems,laopcionalidadenlarelacin.
Atributosenlasrelaciones
Muchas veces, sucede que de la accin entre dos objetos sedesprenden datos que para
nuestro diseo pueden ser pertinentes. Por talmotivo,deberamospodertenerlosencuenta
de forma visible, es decir, graficarlos. Si estos datos son inherentes a la relacin,deberan
asociarse a ella, ya que existen cuando las instancias de las entidades que intervienen o
participanenlarelacin.
Porejemplo,siestamosconsiderandolasentidadesPerroyGatoylarelacinMordia
Figura39.EntidadPerrorelacionadaconlaentidadGato,mediantelarelacinMordia.
La informacin que nos da, nos indica cuales perros mordieron a que gatos. pero nos
gustara ahora poder almacenar tambin la fecha en que dichos perros mordieron a estos
Pag.2559
gatos.
Esa fecha, no podra estar en la entidad Perro, dado que no podramos distinguir en que
fechalainstanciadeperromordiaquegato.
Tampoco podra estar en la entidad Gato el atributo de la fecha, ya que no podramos
distinguirqueperromordiaesegatoenesafecha.
Figura 40. Si asignamos la fecha en que el perro muerde al gato en la entidad Perro, no
sabramosenquefechamordiacadagato.
Figura 41. Se la fecha estuviera en la entidad Gato, y dos perros, por ejemplo el 1 y el 2
mordieran al mismo gato, no sabramos si la fecha corresponde a la mordidadelperro1o
del2.
Pag.2659
Figura 42. En este caso, si asignamos fechas a la accin, mordi a podemos determinar
cuandounperromordiaundeterminadogatoycuandomordiaotro.
Para graficar esto, debemos dibujar un atributo con un ovalo de la misma manera que
dibujamos los atributos de las entidades, pero en lugar de conectarlo con una linea recta
firmeaunaentidad,vamosaconectarloalarelacinalaquepertenece.
Figura43.Vemoscomoelovaloseasociaalrombodelarelacinconunalineafirme.
Paraelejemploanterior,engrficoquedaradelasiguientemanera.
AtributosClaveenlasrelaciones
Existe un casoparticularparalasrelacionesconatributos,yescuandoqueremosqueelpar
de objetos de las dos entidades participantes de larelacinsediferencienporcada vezque
segeneralaaccinqueimplicadicharelacin.
Por ejemplo, pensemos el caso que un alumno rinda unexamen. Deberamos modelar la
entidad Alumno y la entidad Materia, con los atributos claves DNI y COD_MAT
respectivamente. Unidas las entidades a travs de la relacin Rinde. Podemos, a esta
Pag.2759
relacin, agregarle el atributo Nota. Pero que pasa si el alumno rindi ms de una vez el
examen. Bien, agregamos un atributo Fecha. Como los identificadores son DNI y
COD_MAT, entonces no podemostenerparaelmismopar deDNI+COD_MATdosfechas,
yaquelasclavesnosepuedenrepetir.
Para solucionar esto, deberamos tomar un atributo de la relacin Rinde y definirlo como
clave de la relacin. Esto es til para estos casos, donde queremos extender las claves
propuestasporlasentidadesintervinienteshaciendousodeestanuevaclaveparcial.
Si decidiramos tomar el atributo Nota como para agregar a la clave, nosera correcto, ya
que una misma persona, para una misma materia, puede tener lamisma nota dos o ms
veces.
Veamos con el atributo Fecha. Si tomamoscomoclavepara larelacin,DNI+COD_MAT+
FECHA, podemos decir que la persona con DNI 12345678 rindi la materia M1 los das
05/01/2011 y los das 06/03/2011. Ahora si podemos distinguir los momentos en que
ocurrieronlosdosexmenes,guindonosenlapersona,lamateriaylafecha.
Figura 45. Tenemos las Entidades Alumno y Materia. Cadaunacon susatributos. LuegoLa
relacin Rindi. Con sus atributos Fecha y Nota. Para distinguircual esclave, selo subraya
aligualqueenunaentidad.
Entidadesdbiles
Hay veces, que al generar un modelo, nos damos cuenta que ciertas entidades no pueden
definir completamente a sus elementos con su clave y que adems dependen de la
existencia de algunaotraentidadpara poderexistirdentrodeldiseoodiagramaquese esta
realizando.
Es decir, que sin tener la otra entidad a la que est fuertemente ligada, esta entidad no
tendrarazndeser.
Aestasentidades,lasllamaremosentidadesdbiles.
Un ejemplo clsico, es en un diagrama de una biblioteca, la entidad Ejemplar y la entidad
Libro, para almacenar en dicha biblioteca objetos de cada libro que se tiene. Tener
ejemplares y notener libros, sera un despropsito.Alrevs,esdecir, tenerlibrosynotener
ejemplares, seguira sirviendo paranuestromodelo.Porende,enlarelacinesfcildetectar
quelaentidadquedependedelaexistenciadelaotraesEjemplar.
Pensemos adems, que los libros podemos identificarlos con el ISBN (International
Pag.2859
Figura 47. Si agrupamos el nmero de ISBN y el codigo de ejemplar, vemos que se forma
entrelosdos,unaclavenica.Pudiendoasdistinguircadaunodelosejemplares.
Como se ve, dentro de la entidad Ejemplar tenemos muchos objetos que comparten el
campo queenprincipioseraclave,esdecirelnmerodeejemplar.Estoescorrecto,yaque
el identificadores el deseado, pero es incompleto, solo se interpreta o se termina dedefinir
sumandounidentificadorforneo.
Comoesteidentificadorformapartedeotraentidad,se debedefiniraEjemplarcomoentidad
dbil,dependientedeLibro.
Pag.2959
La forma de graficar esto, es sobre la entidad dbil hacer un doble rectngulo con lineas
firmes,manteniendoelnombredelaentidaddentrodelosrectngulos.
Figura 48. Entidades Ejemplar y libro. Tenemos doble rectngulo sobre Ejemplar, para
definirlacomodbil.
Veamosotrasgrficasconotrosejemplos.
JerarquasoHerencias
Dentro del modelado de entidad relacin, las herencias seutilizan, por ejemplo, cuando se
tiene ideolgicamente dos o ms entidades con unnivel de cohesin en sus atributos muy
Pag.3059
altoyseobservaquesoloalgunosatributosdifierenentredichasentidades.
Es en ese caso donde se debe pensar en una entidad con los atributos comunes y
entidadeshijasosubentidadesparalosatributosdiferentes.
Por ejemplo, pensemos las entidades Auto y mnibus. Cada una con los siguientes
atributos.ParaAuto,nro_patente,nro_motor,cantidaddepuertas,espacio_en_baulycolor.
Mientras que parael mnibus, nro_patente, nro_motor,cantidaddebutacas,bao,televisor
ycolor.
Como se observa, muchos atributos son comunes aambasentidades,porloquepodemos
idear una entidad, que agrupe a estos atributos. Normalmente, se define un nombre para
esta nueva entidad, comn a ambas. Por ejemplo Medio de transporte. Esta entidad,
contendr todos los atributos comunes que eliminaremos de las otras entidades. Luego, a
las entidades Auto ymnibus, yacon menos atributos, se debern conectar con una lnea
firme sin flechas a la nueva entidad,osupraentidad, acomodandolasupraentidad,sobrelas
subentidades.
Figura50.TenemoslasentidadesAutoyOmnibus.Ambasconsusatributos.
Figura51.Tenemoslosatributoscomunes,ylosdesplazamosalanuevaentidad.
Una vezquetenemosdefinidaslasentidades,tantolasupraentidadcomolassubentidades,
tenemos quepensarsilassubentidadessonsolapablesono.Esdecir,silosobjetosquese
instancianencadasubentidad,puedenexistirenmsdeunasubentidad.
En el caso de los Medios de transporte, esto es imposible, ya que algo o es Auto o es
Pag.3159
Omnibus. Generalmente, cuanto creamos una entidad generica, no vamos a contar con
solapamiento. Enelcasoquetengamos,porejemplo, Empleadocomosupraentidad,ycomo
sub entidad Estudiante y Pasante. Podemos encontrar casos enque un empleado cumpla
con ninguna, una o dos condiciones, es decir, no ser ni estudiante ni pasante, o ser solo
estudianteopasante,oserambas.
Para el caso que no tengamos solapamiento, debemos incluir unatributo discriminante. Si
esteatributonoexistedebemoscrearlo.
Figura 52. Conectamos las subentidades a la entidad que agrupa sus atributos comunes.
Agregamosentrelasupraentidadysushijaselatributodiscriminante.
Este tipo de jerarqua le llamamos total, porque cada elemento de la entidad medio de
transportesolopuedeserautouomnibus,nuncaambos.
Veamos un caso de jerarqua parcial, donde las instanciasdeclaradas en la supra entidad
puedecoexistirenunaomsdelassubentidades.
Pag.3259
Figura 53. Tenemos una jerarqua parcial. No definimos atributo discriminante cuando
puedeestarenunaomssubentidadeslainstanciadelasupraentidad.
2.3.1.Ejemplossimples
1.Realiceundiagramasegnlasiguientedefinicin.
Los profesores de la ctedra de Computacin 1 nos encargaron realizar una
base de datos para administrar los alumnos que cursan la materia en el ao
en curso, parade esa manera poder llevar un control de laasistencia, de los
trabajos prcticos entregados (este ao solo habr trabajos prcticos
individuales)ydelasnotasdelosparciales(yrecuperatorios)decadauno.
Primero, debemos realizar un pequeo anlisis. Lo cual nos lleva a identificarlas posibles
entidades. A simple vista, leyendo el enunciado, debemos buscar aquellas posibles
coleccionesdecosasuobjetosoelementos.PodemostomaralosProfesores,lactedrano
porserunasola,losalumnos,elcontroldelaasistencia,lostrabajosprcticosylasnotas.
Como no nos dice como interactan los profesores, ni con los trabajos prcticos nicon la
correccin,lospodremosdescartar.
Refinando un pocoesteanlisis,detectamosque,paraalmacenarlaasistencia,lasnotasde
los parciales y el estado delostrabajosprcticos,debemos considerarunaentidadAlumno.
Para validar la asistencia, deberamos tener una entidad Clase, ya que Asistir es una
accin del alumno con respecto a la clase. Siguiendo estalinea de pensamiento, podemos
tener una entidad Parcial, donde almacenar el parcial en s y luego mediante una relacin
conectar al alumno conel parcial,paradefinirque lorinde ylanotaquetuvoendichoparcial.
Lomismopodemoshacerparalostrabajosprcticos.
Veamoscomonosquedaraeldiagrama.
Pag.3359
2.Realiceeundiagramasegnlasiguientedefinicin.
Se tiene unequipode ftbol, en cual consta deDirectortcnico,jugadoresde
campo, ayudante de campo, preparadores fsicos, arqueros. Los jugadores,
pueden alternar laposicin de arquero con ladejugadordecampo.Detodos,
queremossaberlosnombres,apellidos,nacionalidadyfechadenacimiento.
Para los jugadores, queremossaber que posicin ocupa en la cancha, y que
nmero de camisetatiene. Paraelcuerpotcnico,esdecir eldirectortcnico,
el ayudante de campo y los preparadores fsicos, se desea almacenar, el
sueldoylafechadeingresoalclub.
Primero, debemos detectar las posibles entidades. Vemos que hay diferentes roles o
puestos dentro del club, que se pueden agrupar en dos grupos. Los jugadores y los
tcnicos. Ambos comparten cierta cantidad deatributosyluego tienenatributosdiferentes.
Adems, presuponemos que un jugador no ser al mismo tiempo tcnico y viceversa.
Podemos, a la hora de hacer nuestro DER, la misma agrupacin, poniendo los datos
comunes en una entidad y los no comunes en otras. Para esto, debemos hacer una
jerarqua. Comounapersonanopuedeserjugadorytcnicoalavez,nosersolapada,sino
TOTAL.
Pag.3459
2.3.2.Ejemplocomplejo
Se desea confeccionar un nuevo sistema para poder almacenarlasllamadasquerecibeel
Call Center de la empresa Compre YA S.A.. Los llamados pueden corresponderse con
compras de productos o bien reclamos que se realicen de los mismos. Cadallamadaser
registrada con una identificacin que corresponder conC R+ NroUnvoco (por ejemplo,
C101 corresponde aunacompra101yR102correspondeconunreclamo102).Adems,la
llamada registra elnmerodetelfonodelcualprovinola llamada,lafechayhoradellamado
y nmero de lnea interna por la ingres el llamado. Otro de los datos a registrar, es la
persona que ha realizado el llamado a la cual llamaremos Contacto. Todo contacto debe
identificarse a travs del tipo y nmero de documento y adems, deberemos registrar su
nombre,apellido,fechadenacimientoydatosdomiciliariosparapoderenviarelpedido.
Tanto las compras como los reclamos se registraran con una codificacin unvoca para
poderidentificarlosanteunsiguientellamado.
Para el caso de los reclamos, se deber registrar cada uno de los comentariosquerealice
el contacto en forma explcita. Si una persona vuelve a llamar para ver el avance de su
reclamo, deber indicarnos el nmero de reclamo y podremos verificar su estado (R:
resuelto, E: en evolucin, S: sin analizar). Si lo desea, el contacto podr adjuntarnos un
nuevo comentario de ese reclamo en cada una delasllamadas.Todallamada,debeindicar
elcomentarioqueharealizadosobreundeterminadoreclamo.
Para el caso de las compras,deber indicar la fecha de realizacin de lacompra,elmedio
de pago y si es necesario, persona autorizada para recibir el pedido. Si la compra se
concreta se generar la factura indicando todoslosproductosquehayacomprado.Sedebe
tener en cuenta quelasfacturasdebenposeerunnmerounvoco,fechadecompraydatos
que identifiquen a lapersonaquelocompr.Notodaslascompraspudieronhabergenerado
lafactura,yaquealderivarsealsectordecompras,analizarnyautorizarnlacompra.
Las llamadas son atendidas por operadores, los cuales poseen una identificacin O + Nro.
de los mismos se poseenlosdatosdefechade ingresoalaempresa,nombre,apellido,tipo
y nmero de documento. Existen operadores Junior y Senior. Cualquier operador podr
Pag.3559
atender una llamada, pero slo a los operadores Senior se le podrn derivar los reclamos
para que luego realicen el seguimiento. De los operadores Junior queremos saber la
antigedad en la empresa. Existen operadores coordinadores, loscuales poseen un grupo
deoperadoresasucargo.
Pag.3659
2.4.ModeloRelacional(MR)
Una vez que tenemos trazado nuestro anlisis, debemos proceder a transformarlo en un
Modelo Relacional, modelo que interpreta un sistema gestor de bases de datos para
implementar el diagramaquerealizamos,generandounabasededatosquerespetenuestro
modeloinicial.
Existen hoy en da muchas herramientas que, adems de permitirnos graficar el Diagrama
Entidad Relacin, nossirvenpara generar de forma automtica elModeloRelacional.Estas
herramientas se llamanHerramientas CASE (por Computer Aided SoftwareEngineering,
oIngenieradeSoftwareAsistidaporComputadora).
Como podemos vislumbrar, si esta conversin la puede realizarunprograma,esporquees
en base aun procedimiento ya establecido y pensado. Por ende,iremosdescubriendoeste
pasaje paso a paso, mostrando como se hace este procedimiento y viendo los elementos
delModelorelacional.
ElementosdelModeloRelacional
El modelo relacionalsloconstadeRelacionesyatributos. Locualhacequetodatraduccin
delDERalMRterminecomounarelacinounatributo.
Estemodelotienecomoparticularidadqueesunmodeloescrito,nogrfico.
Relaciones
Una Relacin es un conjunto de instancias del mismo tipo definido en base a los atributos
que la componen. Por ejemplo, son relaciones del MR Persona, Gato,Empleado, Oficina,
etc.DeformasimilaraloqueocurraconlasentidadesenelmodeloEntidadRelacin.
Sealaremos nuestras relaciones dentro del modelo con el nombre de la relacin, con su
primera letra en mayscula y el resto en minscula. Si el nombre consta de ms de una
palabra, suprimiremos el o los Espacios entre las palabras y los reemplazaremos por
guionesbajos.
Luegodelnombre,encerraremosalosatributosquelacomponenentreparntesis.
Persona(atributos)
Auto(...)
Telefono(...)
Pais(....)
Tiipo_dni(...)
Atributos
Al igual que en las entidades, los atributos son quienesdescribenydiferencialasinstancias
entre las distintasrelaciones.Seescribenaladerechadelarelacin,separadosporcomas.
Normalmente en minsculas. Al igual que los nombres de las relaciones, si tienenmas de
Pag.3759
una palabra, no se pueden utilizar los espacios, por lo que se pueden reemplazar por
guionesbajos.
La forma de distinguir un atributo de otro es su nombre, por lo que no podemos tener dos
atributosconelmismonombre.
Persona(nombre,apellido,color_de_ojos,color_de_pelo)
Auto(color,marca,modelo,cantidad_de_puertas,nro_de_motor)
Telefono(numero,dueo,)
Pais(nombre,continente)
AtributosClaves
Los atributos clave son quienes identifican y diferencian las distintas instancias de la
relacin. Pueden existir ms de un atributo clave por relacin, de la misma manera que
sucedaenlasentidadesdelmodelorelacional.
Cabe aclarar, que tendremosmsdeunatributo clave cuandoparaidentificarunvocamente
unainstanciadelarelacindependemosdedosomsatributos.
Cada valor del atributo clave debe ser nico, sin poder repetirse dentro del conjunto de
instanciasquepertenecenalarelacin.
Es preciso sealar que cuando dos atributos describan univocamente a la instancia de la
relacin,deberelegirseunosobreelotro,segnparaecerdeldiseador.
La forma de diferenciar un atributo clave de uno que no loes,es subrayando con una lnea
firmedebajodelatributoclave.
Empleado(legajo,nombre,apellido,edad,nro_documento)
Departamento(codigo,piso,nombre,lugar)
Projecto(Proj_nro,nombre)
Persona(tipo_doc,nrodoc,nombre,apellido,edad,nacionalidad)
Vemos, queenEmpleado,podrandistinguirsenicamentelasinstanciasdelarelacintanto
por el legajo como por el nmero de documento. Por lo tanto debemos elegir uno sobre el
otro.
Para el caso de persona, se decidi tomar el tipoyelnmerodedocumentoparaidentificar
a una persona de forma nica, ya que con solo el nmero de documento no nos alcanza
paraidentificarla.
Pag.3859
Pag.3959
AtributosForneos
Muchas veces,vamos a querer asociar las relaciones entre s. Para esto, debemoshacer
uso de losatributosforneos.Estoimplicatransportarelatributoclavedeunarelacinaotra
relacin,paraqueestasegundasolotomevaloresqueseencuentrenenlaprimera.
Veamos un ejemplo. Si tenemos la relacin Pas, con el atributonombre.Esteatributoser
claveoidentificadordelarelacin
Pas(nombre)
Luego, tendremos la relacin Televisor, con los atributos nmero de serie (como
identificador),modeloypulgadas.
Televisor(nroSerie,modelo,pulgadas)
Si queremos sealar donde fue armado el televisor, deberamos tener un atributo
armado_en.Dondecolocaramoselpas.
Televisor(nroSerie,modelo,pulgadas,armado_en)
Figura56.VemosejemplosdeobjetosdelasrelacionesTelevisoryPais.
Si queremos que las nicas posibilidades para completar el campo armado en sean
Pag.4059
Figura57.Vemoselementoscorrectosyunoincorrecto.
AtributosClaveyforneos
Existe la posibilidad de que tengamos en caso que un atributo identificador tambin sea
obtenido de otra relacin y que cumpla con ambas condiciones. Esto pasa cuando no
queremos que nuestras instancias tomen valores repetidos en dicho atributo yqueadems
esevalorexistapreviamenteenotrarelacin.
Porende,estamosdefiniendodosrestriccionesaunsoloatributoogrupodeatributos.
Veamosunejemplodondesecumpleestacondicin,
Pag.4159
Figura 58. Tenemos tres instancias en la relacin Persona. Las dos primerasparticipande
la relacin Alumno y la ltima de la relacin Docente. Vemos que DNI es clave en las tres
entidades,peroenAlumnoyDocenteademsesforneo.
Para visualizarlos a la hora de hacer el MR, hacemos el subrayado habitual para los
atributos claves y podemosocolocarlosademsennegritaotambinagregarunsubrayado
punteado.Lafigura68quedaradelasiguienteformaelMR.
Persona(dni,nombre,apellido,fec_nac)
Docente(dni,cargo,fec_ingr)
Alumno(dni,promedio,sexo)
Reglasdetransformacin.DesdeelDERalMR
Las reglas de transformacin nosguanparamostrarnoscomohacerlaconversinentreun
diagramaERyunmodelorelacional.
Para ver como se realiza esto, veremos todos los elementos del DER y como definirlos
dentrodelmbitorelacional.
Cabe destacar, que al realizar esta transformacin, el contenido no se veralterado en lo
msmnimo,simplementecambiaremoslaformadevisualizarytrabajardichocontenido.
DeEntidadessimplesaRelaciones.
Todas las entidades que tenemos en nuestro modelo ER se transformarn en Relaciones
dentro de nuestro modelo relacional. Tomando el nombre de la entidad como nombre de la
relacin, el atributo clave como clave de la relacin y el resto de atributos de la entidad
tambinsernincluidosdentrodelarelacinresultante.
Pag.4259
Figura 59. Transformamos la Entidad Auto del DER en la relacin Autoen elMR.Tomamos
elnombredelaentidad,suclaveyelrestodeatributos.
DeEntidadesyRelacionesaRelaciones.
Si tenemos por caso dos entidades y entre ellas una relacin y queremos proceder a la
traduccin al modelo relacional, deberemos tener encuentalacardinalidadylaopcionalidad
delarelacinparasabercomoproceder.
VeamoselcasodelasrelacionesBinariasde1:1sinopcionalidad.
Definiremos a ambas Entidades como mandatorias, esdecirqueambasestnenelmismo
niveldeimportanciaylarelacinsepuedeinterpretartomandocualquieradeellas.
Los pasos a tomar para realizar la traduccin son, Tomar los nombres de las Entidades y
crear dos Relaciones con los mismosnombres. Luego crear los atributos clave en ambas
relaciones tomando los atributos clave de las entidades. Por ltimo, debemos crear un
atributo Forneo enunadelasdosRelacionesparasimbolizarlarelacinexistenteentrelas
entidades. Este atributo foraneo, podemos incluirlo en cualquiera de las dos relaciones
resultantes,peronoenambas.Esunauotra.
Pag.4359
Por ltimo, el caso donde tenemos una relacin Binaria 1:1 con opcionalidad en solo
Pag.4459
unextremo.
Aqu,tenemosunaentidadmandatoriayesaquelladondenosesealalaopcionalidad.
Lo cual hace que tengamos que definir el atributo farneo en la relacin resultante del MR
quetieneasociadalaopcionalidad.
Figura62.Vemoselcasodeunarelacinunariaconopcionalidadenunsoloextremo.
Siguiendo este camino, tomaremos ahora el caso de las relaciones Binarias con
cardinalidad1:N.
Cuando las relaciones son 1:N, no importa si tienen opcionalidad o no. Siempre debemos
tomar el atributo o losatributos clavesde la entidad que estadellado de la cardinalidad1 y
transportarlosalarelacinresultantedelaEntidadquetienelacardinalidadN.
Pag.4559
Figura63.VemosunejemplodedosentidadesyunarelacinN:1ysutransformacinaMR
AnalizamoselcasodelasrelacionesBinariasconcardinalidadN:N.
Cuando tenemos este tipode relaciones Binarias, debemos crear una nueva relacin en el
MR, con el nombre de la relacin N:N. Esta nueva relacin, contendr como atributos los
atributos claves de las entidades que intervienen en la N:N. Esta nueva relacin, tendr
comoclavelosatributosforneosqueseobtienendelasotrasentidades.
Figura 65. Creado la relacin asignado_a nos permite que un empleado pueda ser
Pag.4659
asignadoaproyectos.
Figura66.Ejemplodeinstanciasdelafigura65.
En el caso en que la Binaria N:N tenga un atributo, ese atributo formar parte de la nueva
relacincreada.
Figura 67. Tenemos una Relacin de un DER con atributo y lo agregamos a la relacin
resultanteenelMR.
Siunodelosatributosdelarelacinfueraclave,tambinserclaveenlanuevarelacin.
Pag.4759
Figura68.VemosalaRelacinExamenenelDERyefectuamoslatraduccinaMR.
Figura69.Transformacindeunaentidadconunarelacinunaria.
Lamismatraduccinharemoscuandoseauna1:Ntenganonoopcionalidad.
Pag.4859
NosveremoselcasodelasrelacionesUnariasN:N.
Debemos pensar en base alo que realizamos en lasrelacionesbinarias.Loquehaciamos,
era generar una nuevarelacinenelMR.Luegocompletabamoslosatributosconlasclaves
de las entidades intervinientes. Comosolotenemos una Entidad,tomamoslaclavededicha
entidad, pero recordando que interviene dos veces,porloquedebemostomardosveces
laclavededichaentidad.
Figura70.GeneramoslaRelacinenelMRenbasealarelacindelDER.
Figura71.DetalledelatransformacindeunatributocompuestoaMR.
Pag.4959
Figura72.transformacindeatributomultivaluadoaentidaddbil.
Ahora si,sabiendocomotransformarunatributomultivaluadoenentidaddbil,analicemosel
caso que nos encontremos con una entidad dbil y querramostransformarla almodelo
relacional.
Lo que tenemos que hacer, es partir nuevamente de la base provista por las relaciones
binarias, ya queparaqueexista una entidaddbildebeexistirunarelacinbinaria1:Nquela
relacioneconlaentidadfuerte.
Por lo que tenemos quecrear dos Relaciones en el MR, de la misma forma que hacemos
para una Relacin binaria, y creamos un atributo forneo en la relacin que se genera a
partirdelaentidaddbil.
Hastaahora,todosemantieneigual.
Pero, en unaentidad dbil, dijimos que la clave es incompleta o parcial, ya quedependede
de algo ms para definirse correctamente. Por lo tanto, para que estosecumpla,debemos
definir tambin como clave, al atributo forneo que acabamos deincluir en la relacin que
provienedelaentidaddbil.
Pag.5059
Figura73.TransformandounaentidaddbilaMR
Figura74.PasajedeunaternariaN:N:NaMR.
Pag.5159
Figura 75. Como vemos, tomando algunos datos de las relaciones empleado, proyecto y
perfil, armamos las posibles ocurrencias en asignado. donde no se permiten dos filas
identicas,yaquetodoslosatributossonclave.
En el caso de que la ternaria sea 1:N:N, se generar al igual que el caso anterior, una
nueva relacin. Tambin se traern los campos clave de las dems relaciones y se
marcarncomoforneos,yaqueprovienendefuera.
La diferencia est al marcar la clave. Ahora, seleccionaremos para marcar la clave, solo
aquellas claves queprovienen de los extremos N o muchos.Esdecir,queformaremos
laclavecondosdetresatributosforneos.
Figura76.TernariaaMR.Caso1:N:N.
Pag.5259
Figura77.Ejemploconobjetosdelascuatrorelacionesresultantes.
Luego,tenemoselcasodelasternarias1:1:N.
Igual que en los casos anteriores, debemos formar una nueva relacin, con los atributos
clave de las dems relaciones que intervienen en la ternaria. Estos atributos, al igual que
antes,losmarcamoscomoforneosyaquereferencianaatributosdeotrasrelaciones.
Por ltimo, debemos definir la clave. Para lo cual debemos tomar, como en el caso de las
ternarias 1:N:N, dos atributosforneoscomoclavesdenuestranuevarelacin.Estosucede
porqu si tomamos un solo atributo forneo como clave no podremos introducir
correctamentelasinstanciasdeestarelacin.
Para definir cuales dos atributosson los que debemos seleccionar, sedebe proceder dela
forma que sigue. El atributo clave que proviene de la entidad que tiene cardinalidad N debe
ser marcado como clave. Luego, debo seleccionar uno entre los otros dos restantes,
pudiendosercualquieradelosdos.
Unavezelegido,tengolosdosatributosquedebencompletarlaclave.
Figura78.Transformacindeuna1:1:NaMR
Pag.5359
El ltimo de los casos es la ternaria 1:1:1. Debemos empezar igual que los casos
anteriores. Crear una relacin por cada entidad. Luego crear una cuarta relacin con los
atributos claves de las dems relaciones. Marcar como forneos dichos atributos y por
ltimo, definir la clave. Vemosqueaqui,notenemosningunaentidadmandatoria.Porloque,
si en las binarias elegamos donde colocar elatributoforneo,aquelegiremoscualessern
clave. Como elmnimodeatributosadefinirparaque secumplalarelacinternariasondos,
debemoselegircualquierpardeatributosparadefinirlaclave.
Figura80.Definimoseltraspasodeunaternaria1:1:1aMR
Pag.5459
Figura 81. Ejemplo con elementos de las relacionesparavisualizarel casopreciso para ver
comoaplicalaclaveenestetipoderelaciones.
Solonosrestaportransformarlasjerarquas.Tantoaquellastotales,comolasparciales.
Veamosprimeroelcasodelasjerarquastotales.
Para traducir este tipo de jerarquas, debemos armar una relacin por cada Entidad. La
relacin que proviene de transformar la supraentidad ser igual a cualquier otra entidad
tranformada anteriormente,perotendragregado,unatributoextraconeldiscriminantedela
jerarqua.
Para las restantes relaciones creadas a partir de las subentidades, se deben definir los
atributos que estn definidos en la subentidad, agregando adems, el atributo clave de la
relacin formadapor la supraentidad. Este nuevo atributo, debe ser marcado comoforneo
ya que proviene de otra relacin, pero tambin como clave, ya que necesitamos que este
valornoserepitadentrodelasinstanciasdelarelacin.
Pag.5559
Figura82.TransformacindeunajerarquatotalaMR
Figura83.PasajedeunajerarquaparcialaMR.
Pag.5659
2.4.1.Ejemplossimples
TraduciremoslosejemplossimplesdeDERplanteadosenlasseccionesanteriores(2.3.1).
1.RealizeunModeloRelacionalsegnlasiguientedefinicin.
Los profesores de la ctedra de Computacin 1 nos encargaron realizar una
base de datos para administrar los alumnos que cursan la materia en el ao
en curso, parade esa manera poder llevar un control de laasistencia, de los
trabajos prcticos entregados (este ao solo habr trabajos prcticos
individuales)ydelasnotasdelosparciales(yrecuperatorios)decadauno.
Tp(nro,descrip,fecha_entrega)
Parcial(nro,fecha)
Alumno(legajo,apellido,nombre)
Clase(fecha,contenido)
Entrega(f_entrega,nota,tp_nro,al_legajo)
Rinde(nota,al_legajo,par_nro)
Asiste(al_legajo,cl_fecha)
Pregunta(par_nro,pregnta)
Hastaclase,tenemostraducidaslasentidadesquevemosenelDER.
Entrega,RindeyAsiste,tienencomoforneoslasclavesdelasentidadesalasqueestan
relacionadas,queestanmarcadasconnegrita.
Luego,pregunta,esunarelacinquesecreaapartirdelatributomultivaluado.
2.RealizeunModeloRelacionalsegnlasiguientedefinicin.
Se tiene unequipode futbol, en cual consta deDirectortcnico,jugadoresde
campo, ayudante de campo, preparadores fscios, arqueros. Los jugadores,
pueden alternar laposicin de arquero con ladejugadordecampo.Detodos,
queremossaberlosnombres,apellidos,nacionalidadyfechadenacimiento.
Para los jugadores, queremos saber que posicin ocupa en la cacha,y que
nmero de camisetatiene. Paraelcuerpotcnico,esdecir eldirectortcnico,
el ayudante de campo y los preparadores fsicos, se desea almacenar, el
sueldoylafechadeingresoalclub.
Persona(legajo,nombre,apellido,nacionadliad,f_nacimiento,tipo)
Jugador(legajo,camiseta,posicin)
Tecnico(legajo,sueldo,f_ingreso)
Tenemos en persona, la clave que se enviar a las relaciones generadas a partir de las
subentidades.
Pag.5759
2.4.2.Ejemplocomplejo
TomandoelejemplocomplejodelaseccindeDER,traduciremosdichoresultadoaun
ModeloRelacional.
Contacto(nroDoc,tipoDoc,nomape,calle,nro,cp)
Operador(id,nroDoc,tipoDoc,nomape,f_ingr,
op_coordinador,tipo)
Junior(id)
Senior(id)
Llamada(nro,cont_nroDoc,cont_tipoDoc,operador_id)
Reclamo(nro,estado_cod,senior_id)
Estado(cod,descr)
Comentario(reclamo_nro,item,texto,llamada_nro)
Compra(nro,pers_autorizada,medio_pago,fecha,
llamada_nro,factura_nro)
Factura(nro)
Item_factura(factura_nro,item,cantidad,prod_codigo)
Producto(codigo,descr)
Pag.5859
Pag.5959