Está en la página 1de 59

Introduccin al diseo de bases de datos

Dolors Costal Costa


P06/M2109/02150

FU C ! P06/M2109/02150

Introduccin al diseo de bases de datos

ndice

Introduccin""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 5

Objetivos"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 5

1. Introduccin al diseo de bases de datos """""""""""""""""""""""""""""""""""""" # 1"1" $ta%as del diseo de bases de datos""""""""""""""""""""""""""""""""""""""""""""""""""" #

2. Diseo conceptual: el modelo ER""""""""""""""""""""""""""""""""""""""""""""""""""""" 10 2"1" Construcciones b&sicas"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 11 2"1"1" $ntidades' atributos e interrelaciones"""""""""""""""""""""""""""""""""""" 11 2"1"2" (rado de las interrelaciones""""""""""""""""""""""""""""""""""""""""""""""""""" 1) 2"1")" Interrelaciones binarias"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 16 2"1"*" $+e,%lo- base de datos de casas de colonias"""""""""""""""""""""""""" 1. 2"1"5" Interrelaciones n/arias """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 21 2"1"6" Interrelaciones recursi0as""""""""""""""""""""""""""""""""""""""""""""""""""""""" 2) 2"1"#" $ntidades d1biles"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 25 2"2" $2tensiones del ,odelo $3 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 26 2"2"1" (enerali4acin/es%eciali4acin"""""""""""""""""""""""""""""""""""""""""""""" 26 2"2"2" $ntidades asociati0as"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 2. 2")" $+e,%lo- base de datos del %ersonal de una entidad bancaria """"""""" )0

3. Diseo l ico: la trans!ormacin del modelo ER al modelo relacional """"""""""""""""""""""""""""""""""""""""""""""" )5 )"1" Introduccin a la trans5or,acin de entidades e interrelaciones""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" )5 )"2" 6rans5or,acin de entidades"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" )5 )")" 6rans5or,acin de interrelaciones binarias"""""""""""""""""""""""""""""""""""""" )6 )")"1" Conecti0idad 1-1"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" )6 )")"2" Conecti0idad 1-7 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" )# )")")" Conecti0idad M-7"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ). )")"*" In5luencia de la de%endencia de e2istencia en la trans5or,acin de las interrelaciones binarias""""""""""""" )9 )"*" 6rans5or,acin de interrelaciones ternarias""""""""""""""""""""""""""""""""""""" *0 )"*"1" Conecti0idad M-7-P""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" *0 )"*"2" Conecti0idad M-7-1""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" *1 )"*")" Conecti0idad 7-1-1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" *2 )"*"*" Conecti0idad 1-1-1""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" *) )"5" 6rans5or,acin de interrelaciones n/arias"""""""""""""""""""""""""""""""""""""""" ** )"6" 6rans5or,acin de interrelaciones recursi0as""""""""""""""""""""""""""""""""""" ** )"#" 6rans5or,acin de entidades d1biles"""""""""""""""""""""""""""""""""""""""""""""""" *6 )"." 6rans5or,acin de la 8enerali4acin/es%eciali4acin""""""""""""""""""""""" *#

FU C ! P06/M2109/02150

Introduccin al diseo de bases de datos

)"9" 6rans5or,acin de entidades asociati0as""""""""""""""""""""""""""""""""""""""" *. )"10" 3esu,en de la trans5or,acin del ,odelo $3 al ,odelo relacional""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" *9 )"11" $+e,%lo- base de datos del %ersonal de una entidad bancaria """""" *9

Resumen""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 51

Ejercicios de autoevaluacin"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 5)

"olucionario"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 55

#losario"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 59

$iblio ra!%a""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 60

FU C ! P06/M2109/02150

Introduccin al diseo de bases de datos

Introduccin al diseo de bases de datos

Introduccin

$n otras unidades did&cticas se estudian las bases de datos relacionales 9 un len8ua+e relacional' :;<' =ue nos %ro%orciona ,ecanis,os %ara crear' actua/ li4ar 9 consultar estas bases de datos"

$s necesario co,%le,entar estos conoci,ientos con un as%ecto =ue es 5unda/ ,ental %ara %oder utili4ar adecuada,ente la tecnolo8>a de las bases de datos re/ lacionales- el diseo" ?ste ser& el ob+eto de estudio de esta unidad' =ue tratar& el diseo de bases de datos %ara el caso es%ec>5ico del ,odelo relacional"

Concreta,ente' en esta unidad e2%licare,os en =u1 consiste el diseo de una base de datos' anali4are,os las eta%as en las =ue se %uede desco,%oner 9 des/ cribire,os con detalle las eta%as del diseo conce%tual 9 l8ico de una base de datos relacional"

Objetivos

$n los ,ateriales did&cticos de esta unidad encontrar1is las @erra,ientas indis%ensables %ara alcan4ar los si8uientes ob+eti0os-

1. Conocer las eta%as =ue inte8ran el %roceso del diseo de una base de datos"

2. Conocer las estructuras del ,odelo $3"

3. :aber @acer el diseo conce%tual de los datos de un siste,a de in5or,acin ,ediante el ,odelo $3"

&. :aber @acer el diseo l8ico de una base de datos relacional %artiendo de un diseo conce%tual e2%resado con el ,odelo $3"

FU C ! P06/M2109/02150

Introduccin al diseo de bases de datos

1. Introduccin al diseo de bases de datos

$n otras unidades @e,os a%rendido c,o es una base de datos relacional 9 @e,os estudiado un len8ua+e' el :;<' =ue nos %ro%orciona ,ecanis,os %ara crear estas bases de datos' as> co,o %ara actuali4arlas 9 consultarlas"

3ecordad =ue las bases de datos relacionales 9 los len8ua+es :;< se @an estudiado en las unidades $l ,odelo relacional 9 el &l8ebra relacional 9 $l len8ua+e :;<' res%ecti0a,ente"

:in e,bar8o' toda0>a debe,os resol0er al8unas cuestiones 5unda,entales %ara %oder e,%lear la tecnolo8>a de las bases de datos relacionalesA %or e+e,/ %lo' c,o se %uede decidir =u1 relaciones debe tener una base de datos deter/ ,inada o =u1 atributos deben %resentar las relaciones' =u1 cla0es %ri,arias 9 =u1 cla0es 5or&neas se deben declarar' etc" <a tarea de to,ar este con+unto de decisiones recibe el no,bre de disear la base de datos"

Una base de datos sir0e %ara al,acenar la in5or,acin =ue se utili4a en un sis/ te,a de in5or,acin deter,inado" <as necesidades 9 los re=uisitos de los 5u/ turos usuarios del siste,a de in5or,acin se deben tener en cuenta %ara %oder to,ar adecuada,ente las decisiones anteriores"

$n resu,en' el diseo de una base de datos consiste en de5inir la es/ tructura de los datos =ue debe tener la base de datos de un siste,a de in5or,acin deter,inado" $n el caso relacional' esta estructura ser& un con+unto de es=ue,as de relacin con sus atributos' do,inios de atri/ butos' cla0es %ri,arias' cla0es 5or&neas' etc"

:i record&is los tres ,undos %resentados el real' el conce%tual 9 el de las re/ %resentaciones' obser0ar1is =ue el diseo de una base de datos consiste en la obtencin de una re%resentacin in5or,&tica concreta a %artir del estudio del ,undo real de inter1s"

1.1. Etapas del diseo de bases de datos

$l diseo de una base de datos no es un %roceso sencillo" Babitual,ente' la co,%le+idad de la in5or,acin 9 la cantidad de re=uisitos de los siste,as de in5or,acin @acen =ue sea co,%licado" Por este ,oti0o' cuando se disean bases de datos es interesante a%licar la 0ie+a estrate8ia de di0idir %ara 0encer"

Por lo tanto' con0iene desco,%oner el %roceso del diseo en 0arias eta%asA en cada una se obtiene un resultado inter,edio =ue sir0e de %unto de %artida de la eta%a si8uiente' 9 en la Clti,a eta%a se obtiene el resultado deseado" De este ,odo no @ace 5alta resol0er de 8ol%e toda la %roble,&tica =ue %lantea el di/ seo' sino =ue en cada eta%a se a5ronta un solo ti%o de sub%roble,a" Ds> se di0ide el %roble,a 9' al ,is,o tie,%o' se si,%li5ica el %roceso"

FU C ! P06/M2109/02150

Introduccin al diseo de bases de datos

Desco,%ondre,os el diseo de bases de datos en tres eta%as-

1' Etapa del diseo conceptual: en esta eta%a se obtiene una estructura de la in5or,acin de la 5utura ED inde%endiente de la tecnolo8>a =ue @a9 =ue e,/ %lear" 7o se tiene en cuenta toda0>a =u1 ti%o de base de datos se utili4ar& rela/ cional' orientada a ob+etos' +er&r=uica' etc"A en consecuencia' ta,%oco se tiene en cuenta con =u1 :(ED ni con =u1 len8ua+e concreto se i,%le,entar& la base de datos" Ds> %ues' la eta%a del diseo conce%tual nos %er,ite concentrarnos Cnica,ente en la %roble,&tica de la estructuracin de la in5or,acin' sin tener =ue %reocu%arnos al ,is,o tie,%o de resol0er cuestiones tecnol8icas"

El resultado del diseo conceptual :i reto,a,os la idea de los tres ,undos' %ode,os a5ir,ar =ue la eta%a del diseo conce%tual obtiene un resultado =ue se sitCa en el ,undo de las conce%ciones' 9 no en el ,undo de las re%resentaciones"

$l resultado de la eta%a del diseo conce%tual se e2%resa ,ediante al8Cn ,o/ delo de datos de alto ni0el" Uno de los ,&s e,%leados es el modelo entidad( interrelacin Fentity-relationshipG' =ue abre0iare,os con la si8la ER"

<a 5or,a de elaborar un diseo conce%tual e2%resado con el ,odelo $3 se e2%lica en el a%artado 2 de esta unidad"

2' Etapa del diseo l ico- en esta eta%a se %arte del resultado del diseo conce%tual' =ue se trans5or,a de 5or,a =ue se ada%te a la tecnolo8>a =ue se debe e,%lear" M&s concreta,ente' es %reciso =ue se a+uste al ,odelo del :(ED con el =ue se desea i,%le,entar la base de datos" Por e+e,%lo' si se trata de un :(ED relacional' esta eta%a obtendr& un con+unto de relaciones con sus atributos' cla0es %ri,arias 9 cla0es 5or&neas"

El resultado del diseo l ico $l resultado del diseo l8ico se sitCa 9a en el ,undo de las re%resentaciones"

$sta eta%a %arte del @ec@o de =ue 9a se @a resuelto la %roble,&tica de la es/ tructuracin de la in5or,acin en un &,bito conce%tual' 9 %er,ite concen/ trarnos en las cuestiones tecnol8icas relacionadas con el ,odelo de base de datos"

M&s adelante e2%licare,os c,o se @ace el diseo l8ico de una base de datos relacional' to,ando co,o %unto de %artida un diseo conce%tual e2%resado con el ,odelo $3A es decir' 0ere,os c,o se %uede trans5or,ar un ,odelo $3 en un ,odelo relacional"

3' Etapa del diseo !%sico: en esta eta%a se trans5or,a la estructura obtenida en la eta%a del diseo l8ico' con el ob+eti0o de conse8uir una ,a9or e5icien/ ciaA ade,&s' se co,%leta con as%ectos de i,%le,entacin 5>sica =ue de%ende/ r&n del :(ED"

$l diseo l8ico de una base de datos relacional se e2%lica en el a%artado ) de esta unidad did&ctica"

Por e+e,%lo' si se trata de una base de datos relacional' la trans5or,acin de la estructura %uede consistir en lo si8uiente- tener al,acenada al8una relacin =ue sea la co,binacin de 0arias relaciones =ue se @an obtenido en la eta%a del diseo l8ico' %artir una relacin en 0arias' aadir al8Cn atributo calcula/ ble a una relacin' etc" <os as%ectos de i,%le,entacin 5>sica =ue @a9 =ue co,%letar consisten nor,al,ente en la eleccin de estructuras 5>sicas de i,/ %le,entacin de las relaciones' la seleccin del ta,ao de las ,e,orias inter/ ,edias FbuffersG o de las %&8inas' etc"

El resultado del diseo !%sico $l resultado de la eta%a del diseo 5>sico se sitCa en el ,undo de las re%resenta/ ciones' al i8ual =ue el resultado de la eta%a del diseo l8ico" <a di5erencia con res%ecto a la eta%a anterior es =ue a@ora se tienen en cuenta as%ectos de car&cter ,&s 5>sico del ,undo de las re%resentaciones"

FU C ! P06/M2109/02150

Introduccin al diseo de bases de datos

$n la eta%a del diseo 5>sico con el ob+eti0o de conse8uir un buen rendi,ien/ to de la base de datos' se deben tener en cuenta las caracter>sticas de los %ro/ cesos =ue consultan 9 actuali4an la base de datos' co,o %or e+e,%lo los ca,inos de acceso =ue utili4an 9 las 5recuencias de e+ecucin" 6a,bi1n es ne/ cesario considerar los 0olC,enes =ue se es%era tener de los di5erentes datos =ue se =uieren al,acenar"

FU C ! P06/M2109/02150

10

Introduccin al diseo de bases de datos

2. Diseo conceptual: el modelo ER

$n este a%artado tratare,os el diseo conce%tual de una base de datos ,e/ diante el ,odelo $3" <o =ue e2%licare,os es a%licable al diseo de cual=uier ti%o de bases de datos relacional' +er&r=uica' etc"' %or=ue' co,o 9a @e,os dic@o' en la eta%a del diseo conce%tual toda0>a no se tiene en cuenta la tec/ nolo8>a concreta =ue se utili4ar& %ara i,%le,entar la base de datos"

$l modelo ER es uno de los en5o=ues de ,odeli4acin de datos =ue ,&s se uti/ li4a actual,ente %or su si,%licidad 9 le8ibilidad" :u le8ibilidad se 0e 5a0oreci/ da %or=ue %ro%orciona una notacin dia8ra,&tica ,u9 co,%rensi0a" $s una @erra,ienta Ctil tanto %ara a9udar al diseador a re5le+ar en un ,odelo con/ ce%tual los re=uisitos del ,undo real de inter1s co,o %ara co,unicarse con el usuario 5inal sobre el ,odelo conce%tual obtenido 9' de este ,odo' %oder 0eri5icar si satis5ace sus re=uisitos"

$l ,odelo $3 resulta 5&cil de a%render 9 de utili4ar en la ,a9or>a de las a%lica/ ciones" Dde,&s' e2isten @erra,ientas in5or,&ticas de a9uda al diseo F@erra/ ,ientas CD:$HG =ue utili4an al8una 0ariante del ,odelo $3 %ara @acer el diseo de los datos"
) *a si la +,"E corresponde al t-rmino in l-s Computer Aided Software Engineering.

$l no,bre co,%leto del ,odelo $3 es entity-relationship' 9 %ro0iene del @ec@o de =ue los %rinci%ales ele,entos =ue inclu9e son las entidades 9 las interrelaciones Fentities 9 relationshipsG" 6raducire,os este no,bre %or entidad/interrelacin"

$l ori8en del ,odelo $3 se encuentra en traba+os e5ectuados %or Peter C@en en 19#6" Posterior,ente' ,uc@os otros autores @an descrito 0ariantes 9/o e2ten/ siones de este ,odelo" Ds> %ues' en la literatura se encuentran ,uc@as 5or,as di5erentes del ,odelo $3 =ue %ueden 0ariar si,%le,ente en la notacin dia8ra/ ,&tica o en al8unos de los conce%tos en =ue se basan %ara ,odeli4ar los datos"

El modelo entidad( interrelacin Dl8unos autores deno,inan entidad-relacin al ,odelo $3' %ero en nuestro caso @e,os %re5erido traducir relationship %or interrelacin 9 no %or relacin' con el ob+eti0o de e0itar con5usiones entre este conce%to 9 el de relacin =ue se utili4a en el ,odelo relacional"

Cuando se =uiere utili4ar el ,odelo $3 %ara co,unicarse con el usuario' es re/ co,endable e,%lear una 0ariante del ,odelo =ue inclu9a slo sus ele,entos ,&s si,%les entidades' atributos e interrelaciones 9' tal 0e4' al8unas cons/ trucciones adicionales' co,o %or e+e,%lo entidades d1biles 9 de%endencias de e2istencia" ?stos eran los ele,entos incluidos en el ,odelo ori8inal %ro%uesto %or C@en" $n ca,bio' %ara lle0ar a cabo la tarea de ,odeli4ar %ro%ia,ente di/ c@a' suele ser Ctil usar un ,odelo $3 ,&s co,%leto =ue inclu9a construccio/ nes ,&s a0an4adas =ue e2tienden el ,odelo ori8inal"

:e8Cn la nocin de modelo de datos =ue @e,os utili4ado en los otros ,dulos' un ,odelo de datos tiene en cuenta tres as%ectos de los datos- la estructura' la ,ani%ulacin 9 la inte8ridad" :in e,bar8o' el ,odelo $3 @abitual,ente se

3ecordad el ,odelo relacional' =ue se @a estudiado en la unidad $l ,odelo relacional 9 el &l8ebra relacional"

FU C ! P06/M2109/02150

11

Introduccin al diseo de bases de datos

utili4a %ara re5le+ar as%ectos de la estructura de los datos 9 de su inte8ridad' %ero no de su ,ani%ulacin"

2.1. +onstrucciones b.sicas

2.1.1. Entidades/ atributos e interrelaciones

Por entidad entende,os un ob+eto del ,undo real =ue %ode,os dis/ tin8uir del resto de ob+etos 9 del =ue nos interesan al8unas %ro%iedades"

Ejemplos de entidad Dl8unos e+e,%los de entidad son un e,%leado' un %roducto o un des%ac@o" 6a,bi1n son entidades otros ele,entos del ,undo real de inter1s' ,enos tan8ibles %ero i8ual,ente di5e/ renciables del resto de ob+etosA %or e+e,%lo' una asi8natura i,%artida en una uni0ersidad' un %r1sta,o bancario' un %edido de un cliente' etc"

<as %ro%iedades de los ob+etos =ue nos interesan se deno,inan atributos"

Ejemplos de atributo :obre una entidad empleado nos %uede interesar' %or e+e,%lo' tener re8istrados su D7I' su 7::' su no,bre' su a%ellido 9 su sueldo co,o atributos"

$l t1r,ino entidad se utili4a tanto %ara deno,inar ob+etos indi0iduales co,o %ara @acer re5erencia a con+untos de ob+etos si,ilares de los =ue nos interesan los ,is,os atributosA es decir' =ue' %or e+e,%lo' se utili4a %ara desi8nar tanto a un e,%leado concreto de una e,%resa co,o al con+unto de todos los e,/ %leados de la e,%resa" M&s concreta,ente' el t1r,ino entidad se %uede re5erir a instancias u ocurrencias concretas Fe,%leados concretosG o a tipos o cla( ses de entidades Fel con+unto de todos los e,%leadosG"

$l ,odelo $3 %ro%orciona una notacin dia ram.tica %ara re%resentar 8r&/ 5ica,ente las entidades 9 sus atributos-

! <as entidades se re%resentan con un rect&n8ulo" $l no,bre de la entidad se escribe en ,a9Csculas dentro del rect&n8ulo"

! <os atributos se re%resentan ,ediante su no,bre en ,inCsculas unido con un 8uin al rect&n8ulo de la entidad a la =ue %ertenecen" Muc@as 0e/ ces' dado =ue @a9 ,uc@os atributos %ara cada entidad' se listan todos a%ar/ te del dia8ra,a %ara no co,%licarlo"

0otacin dia ram.tica de entidades 1 atributos <a 5i8ura ,uestra la notacin dia8ra,&tica %ara el caso de una entidad empleado con los atributos dni, nss, nombre, apellido 9 sueldo"

Cada uno de los atributos de una entidad to,a 0alores de un cierto do,inio o con+unto de 0alores" <os 0alores de los do,inios deben ser at,icosA es decir'

FU C ! P06/M2109/02150

12

Introduccin al diseo de bases de datos

no deben %oder ser desco,%uestos" Dde,&s' todos los atributos tienen =ue ser uni0aluados" Un atributo es uni0aluado si tiene un Cnico 0alor %ara cada ocu/ rrencia de una entidad"

3ecordad =ue los 0alores de los atributos de las relaciones ta,bi1n deben ser at,icos' tal 9 co,o se @a e2%licado en la unidad $l ,odelo relacional 9 el &l8ebra relacional"

Ejemplo de atributo univaluado $l atributo sueldo de la entidad empleado' %or e+e,%lo' to,a 0alores del do,inio de los reales 9 Cnica,ente to,a un 0alor %ara cada e,%leado concretoA %or lo tanto' nin8Cn e,%leado %uede tener ,&s de un 0alor %ara el sueldo"

Co,o 9a @e,os co,entado anterior,ente' una entidad debe ser distin8uible del resto de ob+etos del ,undo real" $sto @ace =ue %ara toda entidad sea %osi/ ble encontrar un con+unto de atributos =ue %er,itan identi5icarla" $ste con/ +unto de atributos 5or,a una clave de la entidad"

Ejemplo de clave <a entidad empleado tiene una cla0e =ue consta del atributo dni %or=ue todos los e,%leados tienen nC,eros de D7I di5erentes"

Una deter,inada entidad %uede tener ,&s de una cla0eA es decir' %uede tener 0arias claves candidatas"

Ejemplo de clave candidata <a entidad empleado tiene dos cla0es candidatas' la =ue est& 5or,ada %or el atributo dni 9 la =ue est& constituida %or el atributo nss' teniendo en cuenta =ue el 7:: ta,bi1n ser& di5erente %ara cada uno de los e,%leados"

<os conce%tos de clave candidata 9 clave primaria de una entidad son si,ilares a los conce%tos de clave candidata 9 clave primaria de una relacin' =ue @e,os estudiado en la unidad $l ,odelo relacional 9 el &l8ebra relacional"

$l diseador eli8e una clave primaria entre todas las cla0es candidatas" $n la notacin dia8ra,&tica' la cla0e %ri,aria se subra9a %ara distin8uirla del resto de las cla0es"

Ejemplo de clave primaria $n el caso de la entidad empleado' %ode,os ele8ir dni co,o cla0e %ri,aria" $n la 5i8ura del ,ar8en 0e,os =ue la cla0e %ri,aria se subra9a %ara distin8uirla del resto"

:e de5ine interrelacin co,o una asociacin entre entidades"

<as interrelaciones se re%resentan en los dia8ra,as del ,odelo $3 ,ediante un ro,bo" Iunto al ro,bo se indica el no,bre de la interrelacin con letras ,a9Csculas"

Ejemplo de interrelacin Considere,os una entidad empleado 9 una entidad despacho 9 su%on8a,os =ue a los e,%lea/ dos se les asi8nan des%ac@os donde traba+ar" $ntonces @a9 una interrelacin entre la entidad empleado 9 la entidad despacho" $sta interrelacin' =ue %odr>a,os deno,inar asignacin' asocia a los e,%leados con los des/ %ac@os donde traba+an" <a 5i8ura del ,ar8en ,uestra la interrelacin asignacin entre las en/ tidades empleado 9 despacho"

$l t1r,ino interrelacin se %uede utili4ar tanto %ara deno,inar asociaciones concretas u ocurrencias de asociaciones co,o %ara desi8nar con+untos o clases de asociaciones si,ilares"

FU C ! P06/M2109/02150

1)

Introduccin al diseo de bases de datos

Ejemplo Una interrelacin se a%lica tanto a una asociacin concreta entre el e,%leado de D7I 50"*55"2)* 9 el des%ac@o Dia8onal' 20 co,o a la asociacin 8en1rica entre la entidad empleado 9 la entidad despacho"

$n ocasiones interesa re5le+ar al8unas %ro%iedades de las interrelacio/ nes" Por este ,oti0o' las interrelaciones %ueden tener ta,bi1n atribu/ tos" <os atributos de las interrelaciones ' i8ual =ue los de las entidades' tienen un cierto do,inio' deben to,ar 0alores at,icos 9 deben ser uni0aluados"

<os atributos de las interrelaciones se re%resentan ,ediante su no,bre en ,inCs/ culas unido con un 8uin al ro,bo de la interrelacin a la =ue %ertenecen"

Ejemplo de atributo de una interrelacin bser0e,os la entidad estudiante 9 la entidad asignatura =ue se ,uestran en la 5i8ura si8uiente-

$ntre estas dos entidades se establece la interrelacin evaluacin %ara indicar de =u1 asi8na/ turas @an sido e0aluados los estudiantes" $sta interrelacin tiene el atributo nota' =ue sir0e %ara es%eci5icar =u1 nota @an obtenido los estudiantes de las asi8naturas e0aluadas" Con0iene obser0ar =ue el atributo nota deber ser 5or4osa,ente un atributo de la interrelacin evaluacin' 9 =ue no ser>a correcto considerarlo un atributo de la entidad estudiante o un atri/ buto de la entidad asignatura" <o e2%licare,os anali4ando las ocurrencias de la interrelacin evaluacin =ue se ,uestran en la 5i8ura anterior" :i nota se considerase un atributo de estudiante' entonces %ara el estudiante $1 de la 5i8ura necesitar>a,os dos 0alores del atributo' uno %ara cada asi8natura =ue tiene el estudianteA %or lo tanto' no ser>a uni0aluado" De 5or,a si,ilar' si nota 5uese atributo de asignatura ta,%oco %odr>a ser uni0aluado %or=ue' %or e+e,%lo' la asi8natura D1 re=uerir>a tres 0alores de nota' una %ara cada estudiante =ue se @a ,atriculado en ella" Pode,os concluir =ue el atributo nota est& relacionado al ,is,o tie,%o con una asi8natura 9 con un estudiante =ue la cursa 9 =ue' %or ello' debe ser un atributo de la interrelacin =ue asocia las dos entidades"

2.1.2. #rado de las interrelaciones

Una interrelacin %uede asociar dos o ,&s entidades" $l nC,ero de en/ tidades =ue asocia una interrelacin es el rado de la interrelacin"

FU C ! P06/M2109/02150

1*

Introduccin al diseo de bases de datos

Interrelaciones de rado dos <as interrelaciones evaluacin 9 asignacin de los e+e,%los anteriores tienen 8rado dos! <a interrelacin evaluacin asocia la entidad estudiante 9 la entidad asignaturaA es decir' aso/ cia dos entidades" ! De 5or,a an&lo8a' la interrelacin asignacin asocia empleado 9 despacho"

<as interrelaciones de 8rado dos se deno,inan ta,bi1n interrelaciones bina( rias" 6odas las interrelaciones de 8rado ,a9or =ue dos se deno,inan' en con/ +unto' interrelaciones n(arias" Ds> %ues' una interrelacin n/aria %uede tener 8rado tres 9 ser una interrelacin ternaria' %uede tener 8rado cuatro 9 ser una interrelacin cuaternaria' etc"

D continuacin %resentare,os un e+e,%lo =ue nos ilustrar& el @ec@o de =ue' en ocasiones' las interrelaciones binarias no nos %er,iten ,odeli4ar correcta/ ,ente la realidad 9 es necesario utili4ar interrelaciones de ,a9or 8rado"

Considere,os la interrelacin evaluacin de la 5i8ura anterior' =ue tiene un atributo nota" $ste atributo %er,ite re8istrar la nota obtenida %or cada estu/ diante en cada asi8natura de la =ue @a sido e0aluado" Una interrelacin %er,ite establecer una sola asociacin entre unas entidades indi0iduales deter,inadas" $n otras %alabras' slo se %uede interrelacionar una 0e4 al estudiante $1 con la asi8natura D1 0>a la interrelacin e0aluacin"

bser0ad =ue' si %udiese @aber ,&s de una interrelacin entre el estudiante $1 9 la asi8natura D1' no %odr>a,os distin8uir estas di5erentes ocurrencias de la interrelacin" $sta restriccin @ace =ue se re8istre una sola nota %or estu/ diante 9 asi8natura"

:u%on8a,os =ue desea,os re8istrar 0arias notas %or cada asi8natura 9 estu/ diante corres%ondientes a 0arios se,estres en los =ue un ,is,o estudiante @a cursado una asi8natura deter,inada Fdes8raciada,ente' al8unos estudiantes tienen =ue cursar una asi8natura 0arias 0eces antes de a%robarlaG" <a interrelacin

FU C ! P06/M2109/02150

15

Introduccin al diseo de bases de datos

anterior no nos %er,itir>a re5le+ar este caso" :er>a necesario au,entar el 8rado de la interrelacin' tal 9 co,o se ,uestra en la 5i8ura si8uiente-

<a interrelacin ternaria evaluacin-semestral asocia estudiantes' asi8naturas 9 una tercera entidad =ue deno,ina,os semestre" :u atributo nota nos %er,ite re5le+ar todas las notas de una asi8natura =ue tiene un estudiante corres%on/ dientes a di5erentes se,estres"

De @ec@o' lo =ue sucede en este caso es =ue' se8Cn los re=uisitos de los usua/ rios de esta ED' una nota %ertenece al ,is,o tie,%o a un estudiante' a una asi8natura 9 a un se,estre 9' l8ica,ente' debe ser un atributo de una inte/ rrelacin ternaria entre estas tres entidades"

$ste e+e,%lo de,uestra =ue una interrelacin binaria %uede no ser su5iciente %ara satis5acer los re=uisitos de los usuarios' 9 %uede ser necesario a%licar una interrelacin de ,a9or 8rado" Con0iene obser0ar =ue esto ta,bi1n %uede ocu/ rrir en interrelaciones =ue no tienen atributos"

Ejemplo de interrelacin ternaria sin atributos Considere,os un caso en el =ue desea,os saber %ara cada estudiante =u1 asi8naturas @a cur/ sado cada se,estre' a %esar de =ue no =uere,os re8istrar la nota =ue @a obtenido" $ntonces a%licar>a,os ta,bi1n una interrelacin ternaria entre las entidades estudiante' asignatura 9 semestre =ue no tendr>a atributos' tal 9 co,o se ,uestra en la 5i8ura si8uiente-

Be,os anali4ado casos en los =ue era necesario utili4ar interrelaciones ternarias %ara %oder ,odeli4ar correcta,ente ciertas situaciones de inter1s del ,undo

FU C ! P06/M2109/02150

16

Introduccin al diseo de bases de datos

real" $s %reciso re,arcar =ue' de 5or,a si,ilar' a 0eces %uede ser necesario uti/ li4ar interrelaciones de 8rado toda0>a ,a9or- cuaternarias' etc"

$n el suba%artado si8uiente anali4are,os con detalle las interrelaciones bina/ rias' 9 ,&s adelante' las interrelaciones n/arias"

<as relaciones n/arias se anali4an en el suba%artado 2"1"* de esta unidad did&ctica"

2.1.3. Interrelaciones binarias

+onectividad de las interrelaciones binarias

<a conectividad de una interrelacin e2%resa el ti%o de corres%onden/ cia =ue se establece entre las ocurrencias de entidades asociadas con la interrelacin" $n el caso de las interrelaciones binarias' e2%resa el nC/ ,ero de ocurrencias de una de las entidades con las =ue una ocurrencia de la otra entidad %uede estar asociada se8Cn la interrelacin"

Una interrelacin binaria entre dos entidades %uede tener tres ti%os de co/ necti0idad-

2 +onectividad uno a uno 31:1'. <a conecti0idad 1-1 se denota %oniendo un 1 a lado 9 lado de la interrelacin"

2 +onectividad uno a muc4os 31:0G" <a conecti0idad 1-7 se denota %o/ niendo un 1 en un lado de la interrelacin 9 una 7 en el otro"

2 +onectividad muc4os a muc4os: 35:0'" <a conecti0idad M-7 se denota %oniendo una M en uno de los lados de la interrelacin' 9 una 7 en el otro"

Ejemplos de conectividad en una interrelacin binaria D continuacin anali4are,os un e+e,%lo de cada una de las conecti0idades %osibles %ara una interrelacin binariaa' +onectividad 1:1

FU C ! P06/M2109/02150

1#

Introduccin al diseo de bases de datos

<a interrelacin anterior tiene conecti0idad 1-1" $sta interrelacin asocia las dele8aciones de una e,%resa con las ciudades donde est&n situadas" $l @ec@o de =ue sea 1-1 indica =ue una ciudad tiene slo una dele8acin' 9 =ue una dele8acin est& situada en una Cnica ciudad" b' +onectividad 1:0

<a interrelacin asignacin entre la entidad empleado 9 la entidad despacho tiene conecti0idad 1-7' 9 la 7 est& en el lado de la entidad empleado" $sto si8ni5ica =ue un e,%leado tiene un solo des%ac@o asi8nado' %ero =ue' en ca,bio' un des%ac@o %uede tener uno o ,&s e,%lea/ dos asi8nados" c' +onectividad 5:0

Para anali4ar la conecti0idad M-7' considera,os la interrelacin evaluacin de la 5i8ura ante/ rior" 7os indica =ue un estudiante %uede ser e0aluado de 0arias asi8naturas 9' al ,is,o tie,/ %o' =ue una asi8natura %uede tener 0arios estudiantes %or e0aluar"

$s ,u9 @abitual =ue las interrelaciones binarias M-7 9 todas las n/arias ten8an atributos" $n ca,bio' las interrelaciones binarias 1-1 9 1-7 no tienen %or =u1 tenerlos" :ie,%re se %ueden asi8nar estos atributos a la entidad del lado 7' en el caso de las 1-7' 9 a cual=uiera de las dos entidades interrelacionadas en el caso de las 1-1" $ste ca,bio de situacin del atributo se %uede @acer %or=ue no ori8ina un atributo ,ulti0aluado"

FU C ! P06/M2109/02150

1.

Introduccin al diseo de bases de datos

Dependencias de e6istencia en las interrelaciones binarias

$n al8unos casos' una entidad indi0idual slo %uede e2istir si @a9 co,o ,>ni,o otra entidad indi0idual asociada con ella ,ediante una interre/ lacin binaria deter,inada" $n estos casos' se dice =ue esta Clti,a enti/ dad es una entidad obli atoria en la interrelacin" Cuando esto no sucede' se dice =ue es una entidad opcional en la interrelacin"

$n el ,odelo $3' un c>rculo en la l>nea de cone2in entre una entidad 9 una interrelacin indica =ue la entidad es o%cional en la interrelacin" <a obli8ato/ riedad de una entidad a una interrelacin se indica con una l>nea %er%endicular" :i no se consi8na ni un c>rculo ni una l>nea %er%endicular' se considera =ue la de%endencia de e2istencia es desconocida"

Ejemplo de dependencias de e6istencia <a 5i8ura si8uiente nos ser0ir& %ara entender el si8ni5icado %r&ctico de la de%endencia de e2is/ tencia" <a entidad empleado es obli8atoria en la interrelacin direccin" $sto indica =ue no %ue/ de e2istir un de%arta,ento =ue no ten8a un e,%leado =ue actCa de director del de%arta,ento" <a entidad departamento' en ca,bio' es o%cional en la interrelacin direccin" $s %osible =ue @a9a un e,%leado =ue no est& interrelacionado con nin8Cn de%arta,ento%uede @aber 9 es el caso ,&s 5recuente e,%leados =ue no son directores de de%arta,ento"

D%licare,os la de%endencia de e2istencia en las interrelaciones binarias' %ero no en las n/arias"

2.1.&. Ejemplo: base de datos de casas de colonias

$n este %unto' 9 antes de continuar e2%licando construcciones ,&s co,%le+as del ,odelo $3' %uede resultar ,u9 ilustrati0o 0er la a%licacin %r&ctica de las construcciones =ue @e,os estudiado @asta a@ora" Por este ,oti0o' anali4are/ ,os un caso %r&ctico de diseo con el ,odelo $3 =ue corres%onde a una base de datos destinada a la 8estin de las inscri%ciones en un con+unto de casas de colonias" $l ,odelo $3 de esta base de datos ser& bastante sencillo e incluir& slo entidades' atributos e interrelaciones binarias Fno incluir& interrelaciones n/arias ni otros ti%os de estructurasG"

FU C ! P06/M2109/02150

19

Introduccin al diseo de bases de datos

<a descri%cin si8uiente e2%lica con detalle los re=uisitos de los usuarios =ue @a9 =ue tener en cuenta al @acer el diseo conce%tual de la 5utura base de datosa' Cada casa de colonias tiene un no,bre =ue la identi5ica" :e desea saber de cada una' a%arte del no,bre' la ca%acidad Fel nC,ero de nios =ue se %ueden alo+ar en cada una co,o ,&2i,oG' la co,arca donde est& situada 9 las o5ertas de acti0idades =ue %ro%orciona" Una casa %uede o5recer acti0idades co,o %or e+e,%lo natacin' es=u>' re,o' %intura' 5oto8ra5>a' ,Csica' etc" b' $s necesario tener en cuenta =ue en una casa de colonias se %ueden %racti/ car 0arias acti0idades Fde @ec@o' cada casa debe o5recer co,o ,>ni,o unaG' 9 ta,bi1n %uede ocurrir =ue una ,is,a acti0idad se %ueda lle0ar a cabo en 0a/ rias casas" :in e,bar8o' toda acti0idad =ue se re8istre en la base de datos debe ser o5ertada co,o ,>ni,o en una de las casas" c' Interesa tener una e0aluacin de las o5ertas de acti0idades =ue %ro%orcio/ nan las casas" :e asi8na una cali5icacin nu,1rica =ue indica el ni0el de cali/ dad =ue tiene cada una de las acti0idades o5ertadas" d' <as casas de colonias alo+an nios =ue se @an inscrito %ara %asar en ellas unas %e=ueas 0acaciones" :e =uiere tener constancia de los nios =ue se alo+an en cada una de las casas en el ,o,ento actual" :e debe su%oner =ue @a9 casas =ue est&n 0ac>as Fen las =ue no se alo+a nin8Cn nioG durante al8unas te,%oradas" e' De los nios =ue se alo+an actual,ente en al8una de las casas' interesa cono/ cer un cdi8o =ue se les asi8na %ara identi5icarlos' su no,bre' su a%ellido' el nC/ ,ero de tel15ono de sus %adres 9 su co,arca de residencia" !' De las co,arcas donde @a9 casas o bien donde residen nios' se =uiere te/ ner re8istrados la su%er5icie 9 el nC,ero de @abitantes" :e debe considerar =ue %uede @aber co,arcas donde no reside nin8uno de los nios =ue se alo+an en un ,o,ento deter,inado en las casas de colonias' 9 co,arcas =ue no dis%o/ nen de nin8una casa" <a 5i8ura si8uiente ,uestra un dia8ra,a $3 =ue satis5ace los re=uisitos anterio/ res" <os atributos de las entidades no 5i8uran en el dia8ra,a 9 se listan a%arte"

Es posible/ ... """ %or e+e,%lo' =ue una acti0idad co,o %or e+e,%lo el es=u> ten8a una cali5icacin de 10 en la o5erta de la casa (r10ol' 9 =ue la ,is,a acti0idad ten8a una cali5ica/ cin de . en la casa Drdilla"

FU C ! P06/M2109/02150

20

Introduccin al diseo de bases de datos

<os atributos de las entidades =ue 5i8uran en el dia8ra,a son los si8uientes Flas cla0es %ri,arias est&n subra9adasG-

CD:D/C < 7ID: no,bre/casa ' ca%acidad DC6IJIDDD no,bre/acti0idad 7IK cdi8o/nio ' no,bre' a%ellido' tel15ono C MD3CD no,bre/co,arca ' su%er5icie' nC,ero/@abitantes

D continuacin co,enta,os los as%ectos ,&s rele0antes de este ,odelo $3-

1' Una de las di5icultades =ue en ocasiones se %resenta durante la ,odeli4a/ cin conce%tual es decidir si una in5or,acin deter,inada debe ser una enti/ dad o un atributo" $n nuestro e+e,%lo' %uede resultar di5>cil decidir si comarca se debe ,odeli4ar co,o una entidad o co,o un atributo"

D %ri,era 0ista' %odr>a %arecer =ue comarca debe ser un atributo de la entidad casa-colonias %ara indicar dnde est& situada una casa de colonias' 9 ta,bi1n un atributo de la entidad nio %ara indicar la residencia del nio" :in e,bar8o' esta solucin no ser>a adecuada' %or=ue se =uieren tener in5or,aciones adicio/ nales asociadas a la co,arca- la su%er5icie 9 el nC,ero de @abitantes" $s %reciso =ue comarca sea una entidad %ara %oder re5le+ar estas in5or,aciones adicionales co,o atributos de la entidad"

<a entidad comarca tendr& =ue estar' e0idente,ente' interrelacionada con las entidades nio 9 casa-colonias" bser0ad =ue de este ,odo' ade,&s' se @ace %a/ tente =ue las co,arcas de residencia de los nios 9 las co,arcas de situacin de las casas son in5or,aciones de un ,is,o ti%o"

2' tra decisin =ue @a9 =ue to,ar es si el conce%to actividad se debe ,ode/ li4ar co,o una entidad o co,o un atributo" Actividad no tiene in5or,aciones adicionales asociadasA no tiene' %or lo tanto' ,&s atributos =ue los =ue 5or/ ,an la cla0e" Dun as>' es necesario =ue actividad sea una entidad %ara =ue' ,e/ diante la interrelacin oferta' se %ueda indicar =ue una casa de colonias o5rece acti0idades"

bser0ad =ue las acti0idades o5ertadas no se %ueden e2%resar co,o un atribu/ to de casa-colonias' %or=ue una casa %uede o5recer ,uc@as acti0idades 9' en este caso' el atributo no %odr>a to,ar un 0alor Cnico"

3' tra eleccin di5>cil' =ue con 5recuencia se %resenta al disear un ,odelo $3' consiste en ,odeli4ar una in5or,acin deter,inada co,o una entidad o

FU C ! P06/M2109/02150

21

Introduccin al diseo de bases de datos

co,o una interrelacin" Por e+e,%lo' %odr>a,os @aber establecido =ue oferta' en lu8ar de ser una interrelacin' 5uese una entidadA lo @abr>a,os @ec@o as>-

<a entidad oferta re%resentada en la 5i8ura anterior tiene los atributos =ue %re/ senta,os a continuacin-

F$36D no,bre/casa' no,bre/acti0idad' ni0el

$sta solucin no acaba de re5le+ar adecuada,ente la realidad" :i anali4a,os la cla0e de oferta' %ode,os 0er =ue se identi5ica con nombre-casa' =ue es la cla0e de la entidad casa-colonias' 9 con nombre-actividad' =ue es la cla0e de la entidad actividad" $sto nos debe @acer sos%ec@ar =ue o5erta' de @ec@o' corres%onde a una asociacin o interrelacin entre casas 9 actividades" $n consecuencia' re/ 5le+are,os la realidad con ,&s e2actitud si ,odeli4a,os oferta co,o una in/ terrelacin entre estas entidades" &' Final,ente' un as%ecto =ue @a9 =ue cuidar durante el diseo conce%tual es el de e0itar las redundancias" Por e+e,%lo' si @ubi1se,os interrelacionado comarca con actividad %ara saber =u1 acti0idades se reali4an en las casas de cada una de las co,arcas' @abr>a,os tenido in5or,acin redundante" <a in/ terrelacin oferta +unto con la interrelacin situacin 9a %er,iten saber' de 5or/ ,a indirecta' =u1 acti0idades se @acen en las co,arcas"

2.1.7. Interrelaciones n(arias

<as interrelaciones n/arias' i8ual =ue las binarias' %ueden tener di5erentes ti%os de conecti0idad" $n este suba%artado anali4are,os %ri,ero el caso %articular de las interrelaciones ternarias 9' a continuacin' tratare,os las conecti0ida/ des de las interrelaciones n/arias en 8eneral"

+onectividad de las interrelaciones ternarias

Cada una de las tres entidades asociadas con una interrelacin ternaria %uede estar conectada con conecti0idad uno o bien con conecti0idad ,uc@os" $n consecuencia' las interrelaciones ternarias %ueden tener cuatro ti%os de conecti0idad- 5:0:8/ 5:5:1/ 0:1:1 9 1:1:1.

Observad 9ue usamos 5/ 0 1 8 para representar muc4os/ 1 1 para representar uno.

FU C ! P06/M2109/02150

22

Introduccin al diseo de bases de datos

Dnali4are,os c,o se decide cu&l es la conecti0idad adecuada de una inte/ rrelacin ternaria ,ediante el si8uiente e+e,%lo" Considere,os una interre/ lacin =ue deno,ina,os clase 9 =ue asocia las entidades asignatura' aula 9 hora-semanal" $sta interrelacin %er,ite re8istrar clases %resenciales" Una clase corres%onde a una asi8natura deter,inada' se i,%arte en un aula de/ ter,inada 9 a una @ora de la se,ana deter,inada" Por e+e,%lo' %ode,os re8istrar =ue se @ace clase de la asi8natura IED en el aula D222 el ,artes a las 9' tal 9 co,o se ,uestra en la 5i8ura de la %&8ina si8uiente" $l atributo duracin nos %er,ite saber cu&ntas @oras dura la clase"

Para decidir si el lado de la entidad asignatura se conecta con uno o con ,u/ c@os ' es necesario %re8untarse si' dadas un aula 9 una hora-semanal' se %uede @acer clase de slo una o bien de ,uc@as asi8naturas en a=uellas aula 9 @ora" <a res%uesta ser>a =ue slo se %uede @acer clase de una asi8natura en una ,is/ ,a aula 9 @ora" $sto nos indica =ue asignatura se conecta con uno' tal 9 co,o re5le+a,os en la 5i8ura si8uiente-

Co,o nos indica este e+e,%lo' %ara decidir c,o se debe conectar una de las en/ tidades' es necesario %re8untarse si' 9a 5i+adas ocurrencias concretas de las otras dos' es %osible conectar slo una o bien ,uc@as ocurrencias de la %ri,era entidad"

Utili4are,os el ,is,o %rocedi,iento %ara deter,inar c,o se conectan las otras dos entidades del e+e,%lo" Una 0e4 5i+adas una asi8natura 9 un aula' es %osible =ue se @a8a clase de a=uella asi8natura en a=uella aula' en 0arias @oras de la se,anaA entonces' hora-semana se conecta con ,uc@os" Final,ente' la

FU C ! P06/M2109/02150

2)

Introduccin al diseo de bases de datos

entidad aula se conecta con uno' teniendo en cuenta =ue' 5i+adas una asi8/ natura 9 una @ora de la se,ana' slo se %uede @acer una clase de a=uella asi8/ natura a a=uella @ora" <a conecti0idad resultante' de este ,odo' es 7-1-1"

+aso eneral: conectividad de las interrelaciones n(arias <o =ue @e,os e2%licado sobre la conecti0idad %ara las interrelaciones terna/ rias es 5&cil,ente 8enerali4able a interrelaciones n/arias"

Una interrelacin n/aria %uede tener n L 1 ti%os de conecti0idad' tenien/ do en cuenta =ue cada una de las n entidades %uede estar conectada con uno o con ,uc@os en la interrelacinH"

) Recordad 9ue para las interrelaciones ternarias 4a1 cuatro tipos posibles de conectividad.

Para decidir si una de las entidades se conecta con uno o con ,uc@os' es necesario %re8untarse si' 5i+adas ocurrencias concretas de las otras n 1 entidades' es %osible conectar slo una o bien ,uc@as ocurrencias de la %ri,era entidad! :i la res%uesta es =ue slo una' entonces se conecta con uno" ! :i la res%uesta es =ue ,uc@as' la entidad se conecta con ,uc@os"

2.1.:. Interrelaciones recursivas

Una interrelacin recursiva es una interrelacin en la =ue al8una en/ tidad est& asociada ,&s de una 0e4"

Ejemplo de interrelacin recursiva :i' %ara una entidad persona' =uere,os tener constancia de =u1 %ersonas est&n actual,ente casadas entre ellas' ser& necesario de5inir la si8uiente interrelacin' =ue asocia dos 0eces la en/ tidad persona-

FU C ! P06/M2109/02150

2*

Introduccin al diseo de bases de datos

Una interrelacin recursi0a %uede ser tanto binaria co,o n/aria-

1' Interrelacin recursiva binaria: interrelacin en la =ue las ocurrencias asocian dos instancias de la ,is,a entidadH" <as interrelaciones binarias re/ cursi0as %ueden tener conecti0idad 1-1' 1-7 o M-7' co,o todas las binarias" $n esta interrelacin ta,bi1n es %osible e2%resar la de%endencia de e2istencia i8ual =ue en el resto de las interrelaciones binarias"

) ;ste es el caso de la interrelacin boda anterior.

Ejemplo de interrelacin recursiva binaria <a interrelacin boda tiene conecti0idad 1-1 %or=ue un ,arido est& casado con una sola ,u/ +er 9 una ,u+er est& casada con un solo ,arido" 6a,bi1n tiene un c>rculo en los dos lados Fse8Cn la de%endencia de e2istenciaG' %or=ue %uede @aber %ersonas =ue no est1n casadas"

$n una interrelacin recursi0a' %uede interesar distin8uir los di5erentes %a/ %eles =ue una ,is,a entidad tiene en la interrelacin" Con este ob+eti0o' se %uede eti=uetar cada l>nea de la interrelacin con un rol" $n las interrelacio/ nes no recursi0as nor,al,ente no se es%eci5ica el rolA %uesto =ue todas las entidades interrelacionadas son de clases di5erentes' sus di5erencias de rol se sobreentienden"

Roles di!erentes Una ocurrencia de la interrelacin boda asocia a dos %ersonas concretas" Para re5le+ar el %a%el di5erente =ue tiene cada una de ellas en la interrelacin' una de las %ersonas tendr& el rol de ,arido 9 la otra tendr& el rol de ,u+er"

Dl8unas interrelaciones recursi0as no %resentan di5erenciacin de rolesA en/ tonces' las l>neas de la interrelacin no se eti=uetan"

0o(di!erencia de roles Considere,os una interrelacin amistad =ue asocia a %ersonas concretas =ue son a,i8as" D di5erencia de lo =ue suced>a en la interrelacin boda' donde una de las %ersonas es el ,arido 9 la otra la ,u+er' en este caso no @a9 di5erenciacin de roles entre las dos %ersonas interre/ lacionadas" D continuacin se ,uestra esta interrelacin" bser0ad =ue su conecti0idad es M-7' teniendo en cuenta =ue una %ersona %uede tener ,uc@os a,i8os 9' al ,is,o tie,%o' %uede @aber ,uc@as %ersonas =ue la consideran a,i8a"

FU C ! P06/M2109/02150

25

Introduccin al diseo de bases de datos

2' Interrelacin recursiva n(aria: interrelacin recursi0a en la =ue las ocu/ rrencias asocian ,&s de dos instancias"

Ejemplo de interrelacin recursiva ternaria Considere,os una interrelacin =ue re8istra todas las bodas =ue se @an %roducido a lo lar8o del tie,%o entre un con+unto de %ersonas deter,inado" $sta interrelacin %er,ite tener constancia no slo de las bodas 0i8entes' sino de todas las bodas reali4adas en un cierto %eriodo de tie,%o"

$sta interrelacin es recursi0a 9 ternaria" Una ocurrencia de la interrelacin asocia a una %er/ sona =ue es el ,arido' a otra =ue es la ,u+er 9 la 5ec@a de su boda" <a conecti0idad es 7-1-1" D los lados del ,arido 9 de la ,u+er les corres%onde un 1' %or=ue un ,arido o una ,u+er' en una 5ec@a deter,inada' se casa con una sola %ersona" Dl lado de la entidad 5ec@a le corres/ %onde una 7' %or=ue se %odr>a dar el caso de =ue @ubiese' en 5ec@as di5erentes' ,&s de una boda entre las ,is,as %ersonas"

2.1.<. Entidades d-biles

<as entidades =ue @e,os considerado @asta a@ora tienen un con+unto de atribu/ tos =ue 5or,an su cla0es %ri,arias 9 =ue %er,iten identi5icarlas co,%leta,ente" $stas entidades se deno,inan' de 5or,a ,&s es%ec>5ica' entidades !uertes" $n este suba%artado considerare,os otro ti%o de entidades =ue deno,inare,os entidades dbiles"

Una entidad d-bil es una entidad cu9os atributos no la identi5ican co,%leta,ente' sino =ue slo la identi5ican de 5or,a %arcial" $sta en/ tidad debe %artici%ar en una interrelacin =ue a9uda a identi5icarla"

Una entidad d1bil se re%resenta con un rect&n8ulo doble' 9 la interrelacin =ue a9uda a identi5icarla se re%resenta con una doble l>nea"

Ejemplo de entidad d-bil Considere,os las entidades edificio 9 despacho de la 5i8ura si8uiente" :u%on8a,os =ue %uede @aber des%ac@os con el ,is,o nC,ero en edi5icios di5erentes" $ntonces' su nC,ero no iden/ ti5ica co,%leta,ente un des%ac@o" Para identi5icar co,%leta,ente un des%ac@o' es necesa/ rio tener en cuenta en =u1 edi5icio est& situado" De @ec@o' %ode,os identi5icar un des%ac@o ,ediante la interrelacin situacin' =ue lo asocia a un Cnico edi5icio" $l no,bre del edi5icio donde est& situado +unto con el nC,ero de des%ac@o lo identi5ican co,%leta,ente"

FU C ! P06/M2109/02150

26

Introduccin al diseo de bases de datos

$n el e+e,%lo anterior' la interrelacin situacin nos @a %er,itido co,%letar la identi5icacin de los des%ac@os" Para toda entidad d1bil' sie,%re debe @aber una Cnica interrelacin =ue %er,ita co,%letar su identi5icacin" $sta interre/ lacin debe ser binaria con conecti0idad 1-7' 9 la entidad d1bil debe estar en el lado 7" De este ,odo' una ocurrencia de la entidad d1bil est& asociada con una sola ocurrencia de la entidad del lado 1' 9 ser& %osible co,%letar su iden/ ti5icacin de 5or,a Cnica" Dde,&s' la entidad del lado 1 debe ser obli8atoria en la interrelacin %or=ue' si no 5uese as>' al8una ocurrencia de la entidad d1/ bil %odr>a no estar interrelacionada con nin8una de sus ocurrencias 9 no se %o/ dr>a identi5icar co,%leta,ente"

2.2. E6tensiones del modelo ER $n este suba%artado estudiare,os al8unas construcciones a0an4adas =ue e2/ tienden el ,odelo $3 estudiado @asta a@ora"

2.2.1. #enerali=acin>especiali=acin

$n al8unos casos' @a9 ocurrencias de una entidad =ue tienen caracter>sticas %ro/ %ias es%ec>5icas =ue nos interesa ,odeli4ar" Por e+e,%lo' %uede ocurrir =ue se =uiera tener constancia de =u1 coc@e de la e,%resa tienen asi8nado los e,%lea/ dos =ue son directi0osA ta,bi1n =ue' de los e,%leados t1cnicos' interese tener una interrelacin con una entidad proyecto =ue indi=ue en =u1 %ro9ectos traba+an 9 se desee re8istrar su titulacin" Final,ente' =ue con0en8a conocer la anti8Medad de los e,%leados ad,inistrati0os" Ds>,is,o' @abr& al8unas caracter>sticas co,u/ nes a todos los e,%leados- todos se identi5ican %or un D7I' tienen un no,bre' un a%ellido' una direccin 9 un nC,ero de tel15ono"

<a enerali=acin>especiali=acin %er,ite re5le+ar el @ec@o de =ue @a9 una entidad 8eneral' =ue deno,ina,os entidad superclase' =ue se %uede es%eciali4ar en entidades subclase-

FU C ! P06/M2109/02150

2#

Introduccin al diseo de bases de datos

a' <a entidad superclase nos %er,ite ,odeli4ar las caracter>sticas co/ ,unes de la entidad 0ista de una 5or,a 8en1rica"

b' <as entidades subclase nos %er,iten ,odeli4ar las caracter>sticas %ro%ias de sus es%eciali4aciones"

$s necesario =ue se cu,%la =ue toda ocurrencia de una entidad subclase sea ta,bi1n una ocurrencia de su entidad su%erclase"

Denota,os la 8enerali4acin/es%eciali4acin con una 5lec@a =ue %arte de las entidades subclase 9 =ue se diri8e a la entidad su%erclase"

Ejemplo de entidades superclase 1 subclase $n la 5i8ura si8uiente est&n re%resentadas la entidad su%erclase' =ue corres%onde al e,%leado del e+e,%lo anterior' 9 las entidades subclase' =ue corres%onden al directi0o' al t1cnico 9 al ad,inistrati0o del ,is,o e+e,%lo"

$n la 8enerali4acin/es%eciali4acin' las caracter>sticas Fatributos o interrela/ cionesG de la entidad su%erclase se %ro%a8an @acia las entidades subclase" $s lo =ue se deno,ina 4erencia de propiedades"

$n el diseo de una 8enerali4acin/es%eciali4acin' se %uede se8uir uno de los dos %rocesos si8uientes-

1' Puede ocurrir =ue el diseador %ri,ero identi5i=ue la necesidad de la enti/ dad su%erclase 9' %osterior,ente' recono4ca las caracter>sticas es%ec>5icas =ue @acen necesarias las entidades subclase" $n estos casos se dice =ue @a se8uido un proceso de especiali=acin"

2' <a alternati0a es =ue el diseador ,odelice en %ri,er lu8ar las entidades sub/ clase 9' des%u1s' se d1 cuenta de sus caracter>sticas co,unes e identi5i=ue la en/ tidad su%erclase" $ntonces se dice =ue @a se8uido un proceso de enerali=acin"

FU C ! P06/M2109/02150

2.

Introduccin al diseo de bases de datos

<a 8enerali4acin/es%eciali4acin %uede ser de dos ti%os-

a' Disjunta. $n este caso no %uede suceder =ue una ,is,a ocurrencia a%a/ re4ca en dos entidades subclase di5erentes" :e denota 8r&5ica,ente con la eti=ueta D"

0uestro ejemplo de los empleados... """ corres%onde a una 8enerali/ 4acin/es%eciali4acin dis+unta %or=ue nin8Cn e,%leado %uede ser de ,&s de un ti%o" :e denota con la eti=ueta D"

b' "olapada" $n este caso no tiene lu8ar la restriccin anterior" :e denota 8r&/ 5ica,ente con la eti=ueta :"

Dde,&s' una 8enerali4acin/es%eciali4acin ta,bi1n %uede ser-

1' ?otal. $n este caso' toda ocurrencia de la entidad su%erclase debe %ertene/ cer a al8una de las entidades subclase" $sto se denota con la eti=ueta 6"

2' 8arcial. $n este caso no es necesario =ue se cu,%la la condicin anterior" :e denota con la eti=ueta P"

*a enerali=acin>especiali=acin de los empleados <a 8enerali4acin/es%eciali4acin de los e,%leados es total %or=ue su%one,os =ue todo e,/ %leado debe ser directi0o' t1cnico o ad,inistrati0o" :e denota con la eti=ueta 6"

2.2.2. Entidades asociativas

$n este suba%artado 0ere,os un ,ecanis,o =ue nos %er,ite considerar una interrelacin entre entidades co,o si 5uese una entidad"

<a entidad =ue resulta de considerar una interrelacin entre entidades co,o si 5uese una entidad es una entidad asociativa' 9 tendr& el ,is,o no,bre =ue la interrelacin sobre la =ue se de5ine"

<a utilidad de una entidad asociati0a consiste en =ue se %uede interrelacionar con otras entidades 9' de 5or,a indirecta' nos %er,ite tener interrelaciones en las =ue inter0ienen interrelaciones" Una entidad asociati0a se denota recua/ drando el ro,bo de la interrelacin de la =ue %ro0iene"

FU C ! P06/M2109/02150

29

Introduccin al diseo de bases de datos

Ejemplo de entidad asociativa <a 5i8ura si8uiente ,uestra un e+e,%lo de entidad asociati0a-

Recorrido es una interrelacin de conecti0idad M-7 =ue re8istra las ciudades %or donde @an %asado los di5erentes 0ia+es or8ani4ados %or una e,%resa de re%arto de %a=uetes" Considera/ ,os recorrido una entidad asociati0a con el 5in de interrelacionarla con la entidad clienteA de este ,odo nos ser& %osible re5le+ar %or orden de =u1 clientes se @an @ec@o re%artos en una ciudad del recorrido de un 0ia+e' as> co,o el nC,ero de %a=uetes car8ados 9 descar8ados si/ 8uiendo sus indicaciones"

$l ,ecanis,o de las entidades asociati0as subsu,e el de las entidades d1biles 9 resulta toda0>a ,&s %otente" $s decir' sie,%re =ue utilice,os una entidad d1bil %odre,os sustituirla %or una entidad asociati0a' %ero no al re01s"

Ejemplo de sustitucin de una entidad d-bil por una asociativa D continuacin se ,uestra la entidad d1bil despacho' =ue tiene la interrelacin asignacin con la entidad empleado"

Podr>a,os ,odeli4ar este caso @aciendo =ue despacho 5uese una entidad asociati0a si consi/ dera,os una nue0a entidad nmero-despacho =ue contiene si,%le,ente nC,eros de des%a/ c@os" $ntonces' la entidad asociati0a despacho se obtiene de la interrelacin entre edificio 9 nmero-despacho"

FU C ! P06/M2109/02150

)0

Introduccin al diseo de bases de datos

Dun=ue las entidades d1biles se %uedan sustituir %or el ,ecanis,o de las en/ tidades asociati0as' es adecuado ,antenerlas en el ,odelo $3 %or=ue resultan ,enos co,%le+as 9 son su5icientes %ara ,odeli4ar ,uc@as de las situaciones =ue se %roducen en el ,undo real"

2.3. Ejemplo: base de datos del personal de una entidad bancaria

$n este suba%artado 0ere,os un e+e,%lo de diseo conce%tual de una base de datos ,ediante el ,odelo $3"

:e trata de disear una base de datos %ara la 8estin del %ersonal de una enti/ dad bancaria deter,inada =ue dis%one de ,uc@os e,%leados 9 de una a,%lia red de a8encias" <a si8uiente descri%cin resu,e los re=uisitos de los usuarios de la 5utura base de datos-

a' <os e,%leados se identi5ican %or un cdi8o de e,%leado' 9 ta,bi1n desea/ ,os conocer su D7I' su 7::' su no,bre 9 su a%ellido" :er& i,%ortante re8is/ trar su ciudad de residencia' considerando =ue @a9 ciudades donde no reside nin8Cn e,%leado"

b' Interesa saber en =u1 ciudades est&n ubicadas las di0ersas a8encias de la entidad bancaria" $stas a8encias bancarias se identi5ican %or la ciudad donde est&n 9 %or un no,bre =ue %er,ite distin8uir las a8encias de una ,is,a ciu/ dad" :e =uiere tener constancia del nC,ero de @abitantes de las ciudades' as> co,o de la direccin 9 el nC,ero de tel15ono de las a8encias" :e debe consi/

FU C ! P06/M2109/02150

)1

Introduccin al diseo de bases de datos

derar =ue la base de datos ta,bi1n inclu9e ciudades donde no @a9 nin8una a8encia"

c' Un e,%leado' en un ,o,ento deter,inado' traba+a en una sola a8encia' lo cual no i,%ide =ue %ueda ser trasladado a otra o' incluso' =ue 0uel0a a tra/ ba+ar en una a8encia donde 9a @ab>a traba+ado anterior,ente" :e =uiere tener constancia del @istorial del %aso de los e,%leados %or las a8encias"

d' <os e,%leados %ueden tener t>tulos acad1,icos Faun=ue no todos los tie/ nenG" :e =uiere saber =u1 t>tulos tienen los e,%leados"

e' Cada e,%leado tiene una cate8or>a laboral deter,inada Fau2iliar' o5icial de se8unda' o5icial de %ri,era' etc"G" D cada cate8or>a le corres%onde un sueldo base deter,inado 9 un %recio %or @ora e2tra ta,bi1n deter,inado" :e =uiere tener constancia de la cate8or>a actual de cada e,%leado' 9 del sueldo base 9 el %recio de la @ora e2tra de cada cate8or>a"

!' Dl8unos e,%leados Fno todosG est&n a5iliados a al8una central sindical" :e @a lle8ado al %acto de descontar de la n,ina ,ensual la cuota sindical a los a5iliados a cada central" $sta cuota es Cnica %ara todos los a5iliados a una cen/ tral deter,inada" $s necesario al,acenar las a5iliaciones a una central de los e,%leados 9 las cuotas corres%ondientes a las di5erentes centrales sindicales"

' Ba9 dos ti%os de e,%leados di5erentes-

! <os =ue tienen contrato 5i+o' cu9a anti8Medad =uere,os conocer"

! <os =ue tienen contrato te,%oral' de los cuales nos interesa saber las 5ec@as de inicio 9 5inali4acin de su Clti,o contrato"

:i un e,%leado te,%oral %asa a ser 5i+o' se le asi8na un nue0o cdi8o de e,%lea/ doA considerare,os =ue un e,%leado 5i+o nunca %asa a ser te,%oral" 6odo lo =ue se @a indicado @asta a@ora Ftraslados' cate8or>as' a5iliacin sindical' etc"G es a%licable tanto a e,%leados 5i+os co,o a te,%orales"

4' <os e,%leados 5i+os tienen la %osibilidad de %edir di5erentes ti%os %reesta/ blecidos de %r1sta,os F%or ,atri,onio' %or ad=uisicin de 0i0ienda' %or es/ tudios' etc"G' =ue %ueden ser concedidos o no" $n %rinci%io' no @a9 nin8una li,itacin a la @ora de %edir 0arios %r1sta,os a la 0e4' sie,%re =ue no se %ida ,&s de uno del ,is,o ti%o al ,is,o tie,%o" :e =uiere re8istrar los %r1sta,os %edidos %or los e,%leados' 9 @acer constar si @an sido concedidos o no" Cada ti%o de %r1sta,o tiene establecidas di5erentes condicionesA de estas condicio/ nes' en %articular' nos interesar& saber el ti%o de inter1s 9 el %eriodo de 0i8en/ cia del %r1sta,o"

FU C ! P06/M2109/02150

)2

Introduccin al diseo de bases de datos

<a si8uiente 5i8ura ,uestra un dia8ra,a $3 =ue satis5ace los re=uisitos an/ teriores-

<os atributos de las entidades =ue 5i8uran en el dia8ra,a son los si8uientes Flas cla0es %ri,arias se @an subra9adoG-

$MP<$DD cdi8o/e,%lado ' dni' nss' no,bre' a%ellido FII Fentidad subclase de e,%leadoG cdi8o/e,%leado ' anti8Medad 6$MP 3D< Fentidad subclase de e,%leadoG cdi8o/e,%leado ' 5ec@a/inicio/cont' 5ec@a/5inal/cont CIUDDD no,bre/ciudad ' nC,ero/@ab

FU C ! P06/M2109/02150

))

Introduccin al diseo de bases de datos

D($7CID Fentidad d1bil- no,bre/a8encia la identi5ica %arcial,ente' se identi5ica co,%leta,ente con la ciudad de situacinG no,bre/a8encia ' direccin' tel15ono 6N6U< no,bre/t>tulo CD6$( 3ND no,bre/cate8 ' sueldo/base' @ora/e2tra C$763D</:I7DICD< central ' cuota 6IP /P3?:6DM cdi8o/%r1sta,o ' ti%o/inter1s' %er>odo/0i8encia F$CBD 5ec@a

D continuacin' co,entare,os los as%ectos =ue %ueden resultar ,&s co,%le/ +os de este ,odelo $3-

1' <a entidad agencia se @a considerado una entidad d1bil %or=ue su atributo nombre-agencia slo %er,ite distin8uir las a8encias situadas en una ,is,a ciu/ dad' %ero %ara identi5icar de 5or,a total una a8encia' es necesario saber en =u1 ciudad est& situada" De este ,odo' la interrelacin situacin es la =ue nos %er/ ,ite co,%letar la identi5icacin de la entidad agencia"

2' <a interrelacin peticin es ternaria 9 asocia a e,%leados 5i+os =ue @acen %e/ ticiones de %r1sta,os' ti%os de %r1sta,os %edidos %or los e,%leados 9 5ec@as en las =ue se @acen estas %eticiones"

3' $l lado de la entidad fecha se conecta con ,uc@os %or=ue un ,is,o e,/ %leado %uede %edir un ,is,o ti%o de %r1sta,o 0arias 0eces en 5ec@as distin/ tas" <a entidad fijo se conecta con ,uc@os %or=ue un ti%o de %r1sta,o deter,inado %uede ser %edido en una ,is,a 5ec@a %or 0arios e,%leados" 6a,bi1n la entidad tipo-prstamo se conecta con ,uc@os %or=ue es %osible =ue un e,%leado en una 5ec@a deter,inada %ida ,&s de un %r1sta,o de ti%o di5erente"

&' $l atributo concedido/no indica si el %r1sta,o se @a concedido o no" $s un atributo de la interrelacin %or=ue su 0alor de%ende al ,is,o tie,%o del e,/ %leado 5i+o =ue @ace la %eticin' del ti%o de %r1sta,o %edido 9 de la 5ec@a de %eticin"

7' <a interrelacin traslado ta,bi1n es una interrelacin ternaria =ue %er,ite re/ 8istrar el %aso de los e,%leados %or las distintas a8encias" Un traslado concreto asocia a un e,%leado' una a8encia donde 1l traba+ar& 9 una 5ec@a inicial en la =ue e,%ie4a a traba+ar en la a8encia" $l atributo de la interrelacin fecha-fin indica en =u1 5ec@a 5inali4a su asi8nacin a la a8encia Ffecha-fin tendr& el 0alor nulo cuando

FU C ! P06/M2109/02150

)*

Introduccin al diseo de bases de datos

un e,%leado traba+a en una a8encia en el ,o,ento actual 9 no se sabe cu&ndo se le trasladar&G" bser0ad =ue fecha-fin debe ser un atributo de la interrelacin" :i se colocase en una de las tres entidades interrelacionadas' no %odr>a ser un atribu/ to uni0aluado"

Con0iene obser0ar =ue esta interrelacin no re8istra todas 9 cada una de las 5ec@as en las =ue un e,%leado est& asi8nado a una a8encia' sino slo la 5ec@a inicial 9 la 5ec@a 5inal de la asi8nacin" $s ,u9 @abitual =ue' %ara in5or,acio/ nes =ue son ciertas durante todo un %eriodo de tie,%o' se re8istre en la base de datos Cnica,ente el inicio 9 el 5inal del %eriodo"

7otad =ue la entidad agencia se @a conectado con uno en la interrelacin traslado' %or=ue no %uede ocurrir =ue' en una 5ec@a' un e,%leado deter,ina/ do sea trasladado a ,&s de una a8encia"

:' Final,ente' co,entare,os la 8enerali4acin/es%eciali4acin de la entidad empleado" <os e,%leados %ueden ser de dos ti%osA se =uieren re8istrar %ro%ie/ dades di5erentes %ara cada uno de los ti%os 9 ta,bi1n se re=uieren al8unas %ro%iedades co,unes a todos los e,%leados" Por este ,oti0o' es adecuado uti/ li4ar una 8enerali4acin/es%eciali4acin"

FU C ! P06/M2109/02150

)5

Introduccin al diseo de bases de datos

3. Diseo l ico: la trans!ormacin del modelo ER al modelo relacional

$n este a%artado tratare,os el diseo l8ico de una base de datos relacional" Partire,os del resultado de la eta%a del diseo conce%tual e2%resado ,edian/ te el ,odelo $3 9 0ere,os c,o se %uede trans5or,ar en una estructura de datos del ,odelo relacional"

3.1. Introduccin a la trans!ormacin de entidades e interrelaciones

<os ele,entos b&sicos del ,odelo $3 son las entidades 9 las interre/ laciones-

a' <as entidades' cuando se traducen al ,odelo relacional' ori8inan re( laciones"

b' <as interrelaciones' en ca,bio' cuando se trans5or,an' %ueden dar lu8ar a claves !or.neas de al8una relacin 9a obtenida o %ueden dar lu8ar a una nueva relacin"

$n el caso de las interrelaciones' es necesario tener en cuenta su 8rado 9 su co/ necti0idad %ara %oder decidir cu&l es la trans5or,acin adecuada-

1' <as interrelaciones binarias 1-1 9 1-7 dan lu8ar a cla0es 5or&neas"

2' <as interrelaciones binarias M-7 9 todas las n/arias se traducen en nue0as relaciones"

$n los suba%artados si8uientes e2%licare,os de 5or,a ,&s concreta las trans/ 5or,aciones necesarias %ara obtener un es=ue,a relacional a %artir de un ,o/ delo $3" M&s adelante %ro%orciona,os una tabla =ue resu,e los as%ectos ,&s i,%ortantes de cada una de las trans5or,aciones %ara dar una 0isin 8lobal sobre ello" Final,ente' describi,os su a%licacin en un e+e,%lo"

$ncontrar1is la tabla de las trans5or,aciones en el suba%artado )"10" de esta unidadA en el suba%artado )"11" 0ere,os el e+e,%lo de a%licacin"

3.2. ?rans!ormacin de entidades $,%e4are,os el %roceso trans5or,ando todas las entidades de un ,o/ delo $3 adecuada,ente" Cada entidad del ,odelo $3 se trans5or,a en una relacin del ,odelo relacional" <os atributos de la entidad ser&n atributos de la relacin 9' de 5or,a an&lo8a' la cla0e %ri,aria de la en/ tidad ser& la cla0e %ri,aria de la relacin"

FU C ! P06/M2109/02150

)6

Introduccin al diseo de bases de datos

Ejemplo de trans!ormacin de una entidad :e8Cn esto' la entidad de la 5i8ura del ,ar8en se trans5or,a en la relacin =ue tene,os a con/ tinuacin$MP<$DD FD7I ' 7::' no,bre' a%ellido' sueldoG

Una 0e4 trans5or,adas todas las entidades en relaciones' es %reciso trans/ 5or,ar todas las interrelaciones en las =ue inter0ienen estas entidades"

:i una entidad inter0iene en al8una interrelacin binaria 1-1 o 1-7' %uede ser necesario aadir nue0os atributos a la relacin obtenida a %artir de la entidad" $stos atributos 5or,ar&n cla0es 5or&neas de la relacin"

Jere,os las trans5or,aciones de las interrelaciones binarias en el si8uiente suba%artado"

3.3. ?rans!ormacin de interrelaciones binarias

Para trans5or,ar una interrelacin binaria es necesario tener en cuenta su co/ necti0idad' 9 si las entidades son obli8atorias u o%cionales en la interrelacin"

3.3.1. +onectividad 1:1

7uestro %unto de %artida es =ue las entidades =ue inter0ienen en la in/ terrelacin 1-1 9a se @an trans5or,ado en relaciones con sus corres%on/ dientes atributos"

$ntonces slo ser& necesario aadir a cual=uiera de estas dos relaciones una cla0e 5or&nea =ue re5erencie a la otra relacin"

Ejemplo de trans!ormacin de una interrelacin binaria 1:1

FU C ! P06/M2109/02150

)#

Introduccin al diseo de bases de datos

Para la interrelacin de la 5i8ura anterior' tene,os dos o%ciones de trans5or,acin! Pri,era o%cinD$<$(DCIQ7Fno,bre/del ' """' no,bre/ciudadG donde Ono,bre/ciudadP re5erencia CIUDDD CIUDDDFno,bre/ciudad ' """G

! :e8unda o%cinD$<$(DCIQ7Fno,bre/del ' """G ' """' no,bre/delG CIUDDDFno,bre/ciudad donde Ono,bre/delP re5erencia D$<$(DCIQ7

D,bas trans5or,aciones nos %er,iten saber en =u1 ciudad @a9 una dele8acin' 9 =u1 dele/ 8acin tiene una ciudad" De este ,odo' re5le+an correcta,ente el si8ni5icado de la interrela/ cin situacin del ,odelo $3" $n la %ri,era trans5or,acin' dado =ue una dele8acin est& situada en una sola ciudad' el atributo nombre-ciudad tiene un Cnico 0alor %ara cada 0alor de la cla0e %ri,aria O nombre-delP" bser0ad =ue' si %udiese tener 0arios 0alores' la solucin no ser>a correcta se8Cn la teor>a re/ lacional" $n la se8unda trans5or,acin' teniendo en cuenta =ue una ciudad tiene una sola dele8a/ cin' el atributo nombre-del ta,bi1n to,a un solo 0alor %ara cada 0alor de la cla0e %ri,aria Onombre-ciudadP" 6a,bi1n es necesario tener en cuenta =ue' en las dos trans5or,aciones' la cla0e 5or&nea =ue se les aade se con0ierte en una cla0e alternati0a de la relacin %or=ue no ad,ite 0alores re%etidos" Por e+e,%lo' en la se8unda trans5or,acin no %uede @aber ,&s de una ciudad con la ,is,a dele8acinA de este ,odo' nombre-del debe ser di5erente %ara todas las tu%las de !"#A#"

3.3.2. +onectividad 1:0

Parti,os del @ec@o de =ue las entidades =ue inter0ienen en la interrela/ cin 1-7 9a se @an tras5or,ado en relaciones con sus corres%ondientes atributos" $n este caso slo es necesario aadir en la relacin corres%on/ diente a la entidad del lado 7' una cla0e 5or&nea =ue re5erencie la otra re/ lacin"

Ejemplo de trans!ormacin de una interrelacin binaria 1:0

FU C ! P06/M2109/02150

).

Introduccin al diseo de bases de datos

<a interrelacin de la 5i8ura anterior se trans5or,a enD$:PDCB ' """G Fdes% $MP<$DD Fe,% ' """' des%G donde Odes%Pre5erencia D$:PDCB

$sta solucin nos %er,ite saber en =u1 des%ac@o est& asi8nado cada e,%leado' 9 ta,bi1n nos %er,ite consultar' %ara cada des%ac@o' =u1 e,%leados @a9" $s decir' re5le+a correcta,en/ te el si8ni5icado de la interrelacin asignacin" 6eniendo en cuenta =ue un e,%leado est& asi8nado a un Cnico des%ac@o' el atributo desp tiene un 0alor Cnico %ara cada 0alor de la cla0e %ri,aria O empP" :i @ubi1se,os %uesto la cla0e 5or&nea OempP en la relacin #$%&A '(' la solucin @abr>a sido incorrecta' %or=ue emp @abr>a to,ado 0arios 0alores' uno %ara cada uno de los distintos e,%leados =ue %ue/ den estar asi8nados a un des%ac@o"

3.3.3. +onectividad 5:0

Una interrelacin M-7 se trans5or,a en una relacin" :u cla0e %ri,aria estar& 5or,ada %or los atributos de la cla0e %ri,aria de las dos entidades interrelacionadas" <os atributos de la interrelacin ser&n atributos de la nue0a relacin"

Ejemplo de trans!ormacin de una interrelacin binaria 5:0

<a interrelacin de la 5i8ura anterior se trans5or,a en-

$:6UDID76$Fest' """G D:I(7D6U3DFasi8 ' """G $JD<UDCIQ7Fest'asi8 ' notaG donde OestP re5erencia $:6UDID76$ 9 Oasi8P re5erencia D:I(7D6U3D

bser0ad =ue la cla0e de evaluacion debe constar tanto de la cla0e de estudiante co,o de la cla0e de asignatura %ara identi5icar co,%leta,ente la relacin" <a solucin =ue @e,os %resentado re5le+a correcta,ente la interrelacin evaluacin 9 su atri/ buto nota" Per,ite saber' %ara cada estudiante' =u1 notas obtiene de las 0arias asi8naturas 9' %ara cada asi8natura' =u1 notas tienen los di5erentes estudiantes de a=uella asi8natura"

FU C ! P06/M2109/02150

)9

Introduccin al diseo de bases de datos

$n el caso M-7 no %ode,os utili4ar cla0es 5or&neas %ara trans5or,ar la inte/ rrelacin' %or=ue obtendr>a,os atributos =ue necesitar>an to,ar 0arios 0alo/ res' 9 esto no se %er,ite en el ,odelo relacional"

3.3.&. In!luencia de la dependencia de e6istencia en la trans!ormacin de las interrelaciones binarias

<a de%endencia de e2istencia' o ,&s concreta,ente' el @ec@o de =ue al8una de las entidades sea o%cional en una interrelacin se debe tener en cuenta al @acer la trans5or,acin de al8unas relaciones binarias 1-1 9 1-7"

:i una de las entidades es o%cional en la interrelacin' 9 la trans5or,a/ cin @a consistido en %oner una cla0e 5or&nea en la relacin =ue corres/ %onde a la otra entidad' entonces esta cla0e 5or&nea %uede to,ar 0alores nulos"

Ejemplo de trans!ormacin de una entidad opcional en la interrelacin $n el e+e,%lo si8uiente' la entidad departamento es o%cional en direccin 9' %or lo tanto' %ue/ de @aber e,%leados =ue no sean directores de nin8Cn de%arta,ento"

$n %rinci%io' @a9 dos o%ciones de trans5or,acin! Pri,era o%cinD$PD36DM$76 ' """' e,%/dirG Fde% donde Oe,%/dirP re5erencia $MP<$DD $MP<$DD Fe,% ' """G

! :e8unda o%cinD$PD36DM$76 ' """G Fde% $MP<$DD Fe,% ' """' de%G donde Ode%P re5erencia D$PD36DM$76 9 de% %uede to,ar 0alores nulos

<a se8unda trans5or,acin da lu8ar a una cla0e 5or&nea =ue %uede to,ar 0alores nulos F%or/ =ue %uede @aber e,%leados =ue no son directores de nin8Cn de%arta,entoG" $ntonces ser& %re5erible la %ri,era trans5or,acin' %or=ue no %ro0oca la a%aricin de 0alores nulos en la cla0e 5or&nea 9' de este ,odo' nos a@orra es%acio de al,acena,iento"

FU C ! P06/M2109/02150

*0

Introduccin al diseo de bases de datos

$n las interrelaciones 1-7' el @ec@o de =ue la entidad del lado 1 sea o%cional ta,bi1n %ro0oca =ue la cla0e 5or&nea de la trans5or,acin %ueda tener 0alo/ res nulos" $n este caso' sin e,bar8o' no se %ueden e0itar estos 0alores nulos %or=ue @a9 una Cnica trans5or,acin %osible"

3.&. ?rans!ormacin de interrelaciones ternarias

<a trans5or,acin de las interrelaciones ternarias %resenta si,ilitudes i,%or/ tantes con la trans5or,acin de las binarias M-7" 7o es %osible re%resentar la interrelacin ,ediante cla0es 5or&neas' sino =ue es necesario usar una nue0a relacin" Para =ue la nue0a relacin re5le+e toda la in5or,acin =ue ,odeli4a la interrelacin' es necesario =ue conten8a las cla0es %ri,arias de las tres en/ tidades interrelacionadas 9 los atributos de la interrelacin"

Ds> %ues' la trans5or,acin de una interrelacin ternaria sie,%re da lu/ 8ar a una nue0a relacin' =ue tendr& co,o atributos las cla0es %ri,arias de las tres entidades interrelacionadas 9 todos los atributos =ue ten8a la interrelacin" <a cla0e %ri,aria de la nue0a relacin de%ende de la co/ necti0idad de la interrelacin"

D continuacin anali4are,os cu&l debe ser la cla0e %ri,aria de la nue0a rela/ cin se8Cn la conecti0idad" $,%e4are,os %or el caso M-7-P 9 acabare,os con el caso 1-1-1"

3.&.1. +onectividad 5:0:8

Cuando la conecti0idad de la interrelacin es M-7-P' la relacin =ue se ob/ tiene de su trans5or,acin tiene co,o cla0e %ri,aria todos los atributos =ue 5or,an las cla0es %ri,arias de las tres entidades interrelacionadas"

Ejemplo de trans!ormacin de una interrelacin ternaria 5:0:8 Dnali4are,os la trans5or,acin con un e+e,%lo-

FU C ! P06/M2109/02150

*1

Introduccin al diseo de bases de datos

<a interrelacin anterior se trans5or,a en$:6UDID76$Fest ' """G D:I(7D6U3DFasi8 ' """G :$M$:63$Fse, ' """G $JD<UDCIQ7/ ' notaG ' asi8 ' se, :$M$:63D<Fest donde OestP re5erencia $:6UDID76$' Oasi8P re5erencia D:I(7D6U3D 9 Ose,P re5erencia :$M$:63$

Para identi5icar co,%leta,ente la relacin' la cla0e debe constar de la cla0e de estudiante' de la cla0e de asignatura 9 de la cla0e de semestre" :i nos 5altase una de las tres' la cla0e de la relacin %odr>a tener 0alores re%etidos" Considere,os' %or e+e,%lo' =ue no tu0i1se,os la cla0e de semestre" Dado =ue semestre est& conectada con ,uc@os en la interrelacin' %uede @aber estudiantes =ue @an sido e0aluados de una ,is,a asi8natura en ,&s de un se,estre" $ntonces' %ara estos casos @abr>a 0alores re%etidos en la cla0e de la relacin $)A*"A !(+-%$,$%-RA*" bser0ad =ue' del ,is,o ,odo =ue es necesaria la cla0e de se,estre' ta,bi1n lo son la de estudiante 9 la de asignatura"

3.&.2. +onectividad 5:0:1 Cuando la conecti0idad de la interrelacin es M-7-1' la relacin =ue se obtiene de su trans5or,acin tiene co,o cla0e %ri,aria todos los atri/ butos =ue 5or,an las cla0es %ri,arias de las dos entidades de los lados de la interrelacin eti=uetados con M 9 con 7"

Ejemplo de trans!ormacin de una interrelacin ternaria 5:0:1 <o ilustrare,os con un e+e,%lo-

$sta interrelacin re5le+a los destinos =ue se dan a los ,aestros de escuela en los di5erentes cursos" $l 1 =ue 5i8ura en el lado de escuela si8ni5ica =ue un ,aestro no %uede ser destinado a ,&s de una escuela en un ,is,o curso" $l e+e,%lo de la 5i8ura se trans5or,a enMD$:63 Fcdi8o/,aestro ' """G CU3: Fcdi8o/curso ' """G $:CU$<DFcdi8o/esc ' """G D$:6I7 Fcdi8o/,aestro' cdi8o/curso ' cdi8o/escG donde Ocdi8o/,aestroP re5erencia MD$:63 Ocdi8o/cursoP re5erencia CU3: 9 Ocdi8o/escP re5erencia $:CU$<D

FU C ! P06/M2109/02150

*2

Introduccin al diseo de bases de datos

7o es necesario =ue la cla0e inclu9a cdigo-esc %ara identi5icar co,%leta,ente la relacin" :i se 5i+an un ,aestro 9 un curso' no %uede @aber ,&s de una escuela de destino 9' %or lo tanto' no @abr& cla0es re%etidas"

3.&.3. +onectividad 0:1:1 Cuando la conecti0idad de la interrelacin es 7-1-1' la relacin =ue se consi8ue de su trans5or,acin tiene co,o cla0e %ri,aria los atributos =ue 5or,an la cla0e %ri,aria de la entidad del lado 7 9 los atributos =ue 5or,an la cla0e %ri,aria de cual=uiera de las dos entidades =ue est&n conectadas con 1"

Ds> %ues' @a9 dos %osibles cla0es %ara la relacin =ue se obtiene" :on dos cla0es candidatas entre las cuales el diseador deber& esco8er la %ri,aria"
Ejemplo de trans!ormacin de una interrelacin ternaria 0:1:1 Jea,os un e+e,%lo de ello-

1' Una %osible trans5or,acin es la si8uienteB 3D/:$MD7D<Fcdi8o/@ora ' """G DU<DFcdi8o/aula ' """G D:I(7D6U3DFasi8 ' """G C<D:$ Fcdi8o/@ora' cdi8o/aula ' asi8' duracinG donde Ocdi8o/@oraP re5erencia B 3D/:$MD7D<' Ocdi8o/aulaP re5erencia DU<D 9 Oasi8P re5erencia D:I(7D6U3D

$n este caso' la cla0e' a %esar de no incluir el atributo asig' identi5ica co,%leta,ente la rela/ cin %or=ue %ara una @ora/se,anal 9 un aula deter,inadas @a9 una Cnica asi8natura de la =ue se @ace clase a esa @ora 9 en esa aula" 2G <a se8unda trans5or,acin %osible es esta otraB 3D/:$MD7D<Fcdi8o/@ora ' """G DU<DFcdi8o/aula ' """G D:I(7D6U3DFasi8 ' """G C<D:$ Fcdi8o/@ora' ' duracinG cdi8o/aula' asi8 donde Ocdi8o/@oraP re5erencia B 3D/:$MD7D<' Ocdi8o/aulaP re5erencia DU<D 9 Oasi8P re5erencia D:I(7D6U3D

FU C ! P06/M2109/02150

*)

Introduccin al diseo de bases de datos

D@ora la cla0e inclu9e el atributo asig 9' en ca,bio' no inclu9e el atributo cdigo-aula" <a re/ lacin ta,bi1n =ueda co,%leta,ente identi5icada %or=ue' %ara una asi8natura 9 @ora/se,a/ nal deter,inadas' de a=uella asi8natura se da clase en una sola aula a a=uella @ora"

3.&.&. +onectividad 1:1:1 Cuando la conecti0idad de la interrelacin es 1-1-1' la relacin =ue se obtiene de su trans5or,acin tiene co,o cla0e %ri,aria los atributos =ue 5or,an la cla0e %ri,aria de dos entidades cuales=uiera de las tres interrelacionadas"

Ds> %ues' @a9 tres cla0es candidatas %ara la relacin"

Ejemplo de trans!ormacin de una interrelacin ternaria 1:1:1 Jea,os un e+e,%lo de ello-

$sta interrelacin re8istra in5or,acin de de5ensas de %ro9ectos de 5in de carrera" Inter0ienen en ella el estudiante =ue %resenta el %ro9ecto' el %ro9ecto %resentado 9 el tribunal e0aluador" <a trans5or,acin del e+e,%lo anterior se ,uestra a continuacin63IEU7D<Ftri ' """G b $:6UDID76$Fest ' """G P3 R$C6 /FI7/ CD33$3DF%ro

@emos considerado 9ue/ A """ si dos estudiantes %resentan un ,is,o %ro9ecto de 5in de carrera' el tribunal ser& necesa/ ria,ente di5erente"

' """G

Para la nue0a relacin D$F$7:D' tene,os las tres %osibilidades si8uientes! Pri,era o%cinD$F$7:DFtrib' ' %ro' 5ec@a/de5ensaG est donde OtribP re5erencia 63IEU7D<' OestP re5erencia $:6UDID76$ 9 O%roP re5erencia P3 R$C6 /FI7/CD33$3D

! :e8unda o%cinD$F$7:DFtrib' ' est' 5ec@a/de5ensaG %ro donde OtribP re5erencia 63IEU7D<' OestP re5erencia $:6UDID76$ 9 O%roP re5erencia P3 R$C6 /FI7/CD33$3D

FU C ! P06/M2109/02150

**

Introduccin al diseo de bases de datos

! 6ercera o%cin-

D$F$7:DFest' ' trib'%ro 5ec@a/de5ensaG donde OtribP re5erencia 63IEU7D<' OestP re5erencia $:6UDID76$ 9 O%roP re5erencia P3 R$C6 /FI7/CD33$3D

$n los tres casos' es %osible co,%robar =ue la cla0e identi5ica co,%leta,ente la relacin si se tiene en cuenta la conecti0idad de la interrelacin defensa"

3.7. ?rans!ormacin de interrelaciones n(arias

<a trans5or,acin de las interrelaciones n/arias se %uede 0er co,o una 8ene/ rali4acin de lo =ue @e,os e2%licado %ara las ternarias"

$n todos los casos' la trans5or,acin de una interrelacin n/aria consis/ tir& en la obtencin de una nue0a relacin =ue contiene todos los atribu/ tos =ue 5or,an las cla0es %ri,arias de las n entidades interrelacionadas 9 todos los atributos de la interrelacin"

Pode,os distin8uir los casos si8uientes-

a' :i todas las entidades est&n conectadas con ,uc@os' la cla0e %ri,aria de la nue0a relacin estar& 5or,ada %or todos los atributos =ue 5or,an las cla0es de las n entidades interrelacionadas"

b' :i una o ,&s entidades est&n conectadas con uno' la cla0e %ri,aria de la nue0a relacin estar& 5or,ada %or las cla0es de n 1 de las entidades interre/ lacionadas' con la condicin de =ue la entidad' cu9a cla0e no se @a incluido' debe ser una de las =ue est& conectada con uno"

3.:. ?rans!ormacin de interrelaciones recursivas

<as trans5or,aciones de las interrelaciones recursi0as son si,ilares a las =ue @e,os 0isto %ara el resto de las interrelaciones"

De este ,odo' si una interrelacin recursi0a tiene conecti0idad 1-1 o 1-7' da lu8ar a una cla0e 5or&nea' 9 si tiene conecti0idad M-7 o es n/aria' ori/ 8ina una nue0a relacin"

FU C ! P06/M2109/02150

*5

Introduccin al diseo de bases de datos

Mostrare,os la trans5or,acin de al8unos e+e,%los concretos de interrelacio/ nes recursi0as %ara ilustrar los detalles de la a5ir,acin anterior"

Ejemplo de trans!ormacin de una interrelacin recursiva binaria 1:1

<a interrelacin de la 5i8ura anterior es recursi0a' binaria 9 tiene conecti0idad 1-1" <as in/ terrelaciones 1-1 ori8inan una cla0e 5or&nea =ue se %one en la relacin corres%ondiente a una de las entidades interrelacionadas" $n nuestro e+e,%lo' slo @a9 una entidad inte/ rrelacionada' la entidad persona" $ntonces' la cla0e 5or&nea deber& estar en la relacin &$R%(+A" $sta cla0e 5or&nea deber& re5erenciar a la ,is,a relacin %ara =ue re5le+e una interrelacin entre una ocurrencia de %ersona 9 otra ocurrencia de %ersona" Ds>' obten/ dre,os-

P$3: 7D Fcdi8o/%er ' """' cdi8o/con9u8eG donde Ocdi8o/con9u8eP re5erencia P$3: 7D 9 cdi8o/con9u8e ad,ite 0alores nulos

<a cla0e 5or&nea Ocdigo-conyugeP re5erencia la relacin &$R%(+A a la =ue %ertenece"

Con0iene tener en cuenta =ue' en casos co,o 1ste' los atributos de la cla0e 5or&nea no %ueden tener los ,is,os no,bres =ue los atributos de la cla0e %ri,aria =ue re5erencian %or=ue' se8Cn la teor>a relacional' una relacin no %uede tener no,bres de atributos re/ %etidos"

Ejemplo de trans!ormacin de una interrelacin recursiva 5:0 Jea,os a continuacin un e+e,%lo en el =ue inter0iene una interrelacin recursi0a 9 con conecti0idad M-7"

<as interrelaciones M-7 se traducen en nue0as relaciones =ue tienen co,o cla0e %ri,aria las cla0es de las entidades interrelacionadas" $n nuestro e+e,%lo' la interrelacin 0incula ocurrencias de %ersona con otras ocurrencias de persona" $n este caso' la cla0e %ri,aria de la nue0a relacin estar& 5or,ada %or la cla0e de la

FU C ! P06/M2109/02150

*6

Introduccin al diseo de bases de datos

entidad persona dos 0eces" Con0endr& dar no,bres di5erentes a todos los atributos de la nue/ 0a relacin" De este ,odo' la traduccin del e+e,%lo anterior ser&P$3: 7D' Fcdi8o/%er """G DMI:6DD Fcdi8o/%er G ' cdi8o/%er/a,i8a donde Ocdi8o/%erP re5erencia P$3: 7D 9 Ocdi8o/%er/a,i8aP re5erencia P$3: 7D

Ejemplo de trans!ormacin de una interrelacin recursiva n(aria 0:1:1 Final,ente' anali4are,os un e+e,%lo en el =ue la interrelacin recursi0a es n/aria-

<a anterior interrelacin boda es recursi0a' ternaria 9 tiene conecti0idad 7-1-1" <as inte/ rrelaciones 7-1-1 ori8inan sie,%re una nue0a relacin =ue contiene' ade,&s de los atri/ butos de la interrelacin' todos los atributos =ue 5or,an la cla0e %ri,aria de las tres entidades interrelacionadas" $n nuestro e+e,%lo' la interrelacin asocia ocurrencias de persona con otras ocurrencias de persona 9 con ocurrencias de fecha" $ntonces' la cla0e de persona tendr& =ue 5i8urar dos 0eces en la nue0a relacin' 9 la cla0e de fecha' solo una" <a cla0e %ri,aria de la relacin =ue se obtiene %ara interrelaciones 7-1-1 est& 5or,ada %or la cla0e de la entidad del lado 7 9 %or la cla0e de una de las entidades de los lados 1" $n nuestro e+e,%lo' en los dos lados 1 de la interrelacin tene,os la ,is,a entidad- persona" <a cla0e %ri,aria estar& 5or,ada %or la cla0e de la entidad fecha 9 %or la cla0e de la entidad persona" :e8Cn todo esto' la trans5or,acin ser& la si8uienteP$3: 7DFcdi8o/%er ' """G F$CBDF5ec@a/bod ' """G E DD F5ec@a/bod' cdi8o/%er ' cdi8o/con9u8eG donde O5ec@a/bodP re5erencia F$CBD' Ocdi8o/%erP re5erencia P$3: 7D 9 Ocdi8o/con9u8eP re5erencia P$3: 7D

3.<. ?rans!ormacin de entidades d-biles

<as entidades d1biles se traducen al ,odelo relacional i8ual =ue el resto de entidades' con una %e=uea di5erencia" $stas entidades sie,%re est&n en el lado 7 de una interrelacin 1-7 =ue co,%leta su identi5icacin"

Ds> %ues' la cla0e 5or&nea ori8inada %or esta interrelacin 1-7 debe 5or/ ,ar %arte de la cla0e %ri,aria de la relacin corres%ondiente a la enti/ dad d1bil"

FU C ! P06/M2109/02150

*#

Introduccin al diseo de bases de datos

Ejemplo de trans!ormacin de entidad d-bil <o e2%licare,os con un e+e,%lo-

$ste e+e,%lo se trans5or,a tal 9 co,o se ,uestra a continuacin$DIFICI ' direccinG Fno,bre D$:PDCB Fno,bre' nC,ero ' su%er5icieG donde Ono,breP re5erencia $DIFICI

bser0ad =ue la cla0e 5or&nea OnombreP 5or,a %arte ta,bi1n de la cla0e %ri,aria de #$%&A'(" :i no 5uese as>' 9 la cla0e %ri,aria contu0iese slo el atributo nmero' los des%ac@os no =uedar>an total,ente identi5icados' teniendo en cuenta =ue %uede @aber des%ac@os situados en edi5icios di5erentes =ue ten8an el ,is,o nC,ero"

3.B. ?rans!ormacin de la enerali=acin>especiali=acin

Cada una de las entidades su%erclase 9 subclase =ue 5or,an %arte de una 8enerali4acin/es%eciali4acin se trans5or,a en una relacin-

a' <a relacin de la entidad su%erclase tiene co,o cla0e %ri,aria la cla/ 0e de la entidad su%erclase 9 contiene todos los atributos co,unes"

b' <as relaciones de las entidades subclase tienen co,o cla0e %ri,aria la cla0e de la entidad su%erclase 9 contienen los atributos es%ec>5icos de la subclase"

Ejemplo de trans!ormacin de la enerali=acin>especiali=acin Jea,os un e+e,%lo Fconsultad el 8r&5ico en la %&8ina si8uienteG =ue contiene una 8enerali/ 4acin/es%eciali4acin 9' ta,bi1n' una interrelacin M-7 en la =ue inter0iene una de las en/ tidades subclase" $ste e+e,%lo se traduce al ,odelo relacional co,o se indica a continuacin$MP<$DD ' no,bre' FD7I direccin' tel15onoG DI3$C6IJ FD7I ' coc@eG donde OD7IP re5erencia $MP<$DD

FU C ! P06/M2109/02150

*.

Introduccin al diseo de bases de datos

DDMI7I:63D6IJ ' anti8MedadG FD7I donde OD7IP re5erencia $MP<$DD 6?C7IC FD7I ' t>tuloG donde OD7IP re5erencia $MP<$DD P3 R$C6 ' """G F%ro 63DEDIDFD7I' %ro ' su%er5icieG donde OD7IP re5erencia 6?C7IC 9 O%roP re5erencia P3 R$C6

Con0iene obser0ar =ue los atributos co,unes se @an situado en la relacin $,&*$A#( 9 =ue los atributos es%ec>5icos se @an situado en la relacin de su entidad subclase" De este ,odo' coche est& en #!R$ -!)(' t.tulo en -/ +! ( 9 antig0edad en A#,!+!%-RA-!)(" Por otro lado' la interrelacin es%ec>5ica %ara los e,%leados t1cnicos deno,inada trabaja se trans5or,a en la relacin -RA1A2A" bser0ad =ue esta relacin tiene una cla0e 5or&nea =ue re5erencia slo a los e,%leados t1cnicos' 9 no a los e,%leados directi0os o ad,inistra/ ti0os"

3.C. ?rans!ormacin de entidades asociativas

Una entidad asociati0a tiene su ori8en en una interrelacin" $n conse/ cuencia' sucede =ue la trans5or,acin de la interrelacin ori8inaria es' al ,is,o tie,%o' la trans5or,acin de la entidad asociati0a"

Ejemplo de trans!ormacin de una entidad asociativa Jea,os un e+e,%lo' =ue inclu9e una entidad asociati0a interrelacionada con otra entidad-

FU C ! P06/M2109/02150

*9

Introduccin al diseo de bases de datos

<a trans5or,acin del e+e,%lo anterior ser&CIUDDDFno,bre/ciudad ' """G JIDI$Fid/0ia+e ' """G 3$C 33ID Fno,bre/ciudad G ' id/0ia+e donde Ono,bre/ciudadP re5erencia CIUDDD e Oid/0ia+eP re5erencia JIDI$ C<I$76$ Ocdi8o/cliente ' """P 3$PD36 Fno,bre/ciudad' id/0ia+e' %a=/descG cdi8o/cliente ' %a=/car' donde Ono,bre/ciudad' id/0ia+eP re5erencia 3$C 33ID 9 Ocdi8o/clienteP re5erencia C<I$76$

6al 9 co,o se %uede obser0ar' la traduccin de la interrelacin recorrido es' al ,is,o tie,%o' la traduccin de su entidad asociati0a" <a relacin R$&AR-( nos ilustra la trans5or,acin de una interrelacin en la =ue %artici%a una entidad asociati0a" Puesto =ue se trata de una interrelacin M-7 entre recorrido 9 ciudad' una %arte de la cla0e %ri,aria de R$&AR-( re5erencia la cla0e de R$ (RR!#(' 9 el resto' la cla0e de !"#A#"

3.1D. Resumen de la trans!ormacin del modelo ER al modelo relacional

<a tabla =ue ,ostra,os a continuacin resu,e los as%ectos ,&s b&sicos de las trans5or,aciones =ue @e,os descrito en las secciones anteriores' con el ob+e/ ti0o de %resentar una 0isin r&%ida de los ,is,osElemento del modelo ?rans!ormacin ER al modelo relacional $ntidad 3elacin Interrelacin 1-1 Cla0e 5or&nea Interrelacin 1-1 Cla0e 5or&nea Interrelacin M-7 3elacin Interrelacin n/aria 3elacin

Interrelacin recursi0a Co,o en las interrelaciones no recursi0as! Cla0e 5or&nea %ara binarias 1-1 9 1-7 ! 3elacin %ara binarias M-7 9 n/arias $ntidad d1bil <a cla0e 5or&nea de la interrelacin identi5icadora 5or,a %arte de la cla0e %ri,aria

(enerali4acin/es%eciali4acin ! 3elacin %ara la entidad su%erclase ! 3elacin %ara cada una de las entidades subclase $ntidad asociati0a <a trans5or,acin de la interrelacin =ue la ori8ina es a la 0e4 su trans5or,acin

3.11.Ejemplo: base de datos del personal de una entidad bancaria


Be,os %resentado el diseo conce%tual de la base de datos del %ersonal de la entidad bancaria en el suba%artado 2") de esta unidad did&ctica"

$n este a%artado a%licare,os las trans5or,aciones =ue @e,os e2%licado en el caso %r&ctico de la base de datos del %ersonal de una entidad bancaria" Dntes @e,os %resentado el diseo conce%tual de esta base de datos" D continuacin' 0ere,os su trans5or,acin al ,odelo relacional"

$,%e4are,os %or trans5or,ar todas las entidades en relaciones 9 todas las in/ terrelaciones 1-1 9 1-7 en cla0es 5or&neas de estas relaciones"

FU C ! P06/M2109/02150

50

Introduccin al diseo de bases de datos

$MP<$DD Fcdi8o/e,%leado ' D7I' 7::' no,bre' a%ellido' no,bre/ cate8' central' ciudad/resG donde Ono,bre/cate8P re5erencia CD6$( 3ND' OcentralP re5erencia C$763D</:I7DICD<' el atributo central ad,ite 0alores nulos 9 Ociudad/resP re5erencia CIUDDD FII Fcdi8o/e,%leado ' anti8MedadG donde Ocdi8o/e,%leadoP re5erencia $MP<$DD 6$MP 3D<Fcdi8o/e,%leado ' 5ec@a/inicio/cont' 5ec@a/5inal/contG donde Ocdi8o/e,%leadoP re5erencia $MP<$DD CIUDDDFno,bre/ciudad ' nC,ero/@abG D($7CIDFno,bre/ciudad' no,bre/a8encia ' direccin' tel15onoG donde Ono,bre/ciudadP re5erencia CIUDDD 6N6U< Fno,bre/t>tulo G CD6$( 3NDFno,bre/cate8or>a ' sueldo/base' @ora/e2traG C$763D</:I7DICD<Fcentral ' cuotaG 6IP /P3?:6DM Fcdi8o/%r1sta,o ' ti%o/inter1s' %er>odo/0i8enciaG F$CBDF5ec@a G

bser0ad =ue' en la trans5or,acin de la 8enerali4acin/es%eciali4acin corres/ %ondiente a la entidad empleado' @e,os situado los atributos co,unes a la rela/ cin $,&*$A#( 9 los atributos es%ec>5icos se @an situado en las relaciones 3!2( 9 -$,&(RA*" $n la relacin A4$+ !A' el atributo nombre-ciudad es una cla0e 5or&nea 9 al ,is,o tie,%o 5or,a %arte de la cla0e %ri,aria %or=ue agencia es una entidad d1bil =ue re=uiere la interrelacin situacion %ara ser identi5icada" Jea,os a@ora las relaciones =ue se obtienen a %artir de la trans5or,acin de las interrelaciones binarias 9 n/arias-

6I6U<DCIQ7Fcdi8o/e,%leado' G no,bre/t>tulo donde Ocdi8o/e,%leadoP re5erencia $MP<$DD 9 Ono,bre/t>tuloP re5erencia 6N6U< 63D:<DD Fcdi8o/e,%leado' 5ec@a ' no,bre/ciudad' no,bre/a8encia' 5ec@a/5inG donde Ocdi8o/e,%leadoP re5erencia $MP<$DD ' Ono,bre/ciudad' no,bre/a8enciaP re5erencia D($7CID 9 O5ec@aP re5erencia F$CBD P$6ICIQ7Fcdi8o/e,%leado' cdi8o/%r1sta,o' 5ec@a ' concedido/noG donde Ocdi8o/e,%leadoG re5erencia FII Ocdi8o/%r1sta,oP re5erencia 6IP /P3?:6DM 9 O5ec@aP re5erencia F$CBD

Para ele8ir las cla0es %ri,arias adecuadas' se @a tenido en cuenta la conecti0i/ dad de las interrelaciones"

FU C ! P06/M2109/02150

51

Introduccin al diseo de bases de datos

Resumen

$sta unidad es una introduccin a un te,a de 8ran inter1s- el diseo de bases de datos"

$n %ri,er lu8ar' @e,os e2%licado =u1 se entiende %or disear una base de datos 9 @e,os anali4ado las eta%as en las =ue se %uede desco,%oner el %roceso de diseo-

! la etapa del diseo conceptual'

! la etapa del diseo l ico'

! la etapa del diseo !%sico"

$n el resto de la unidad @e,os tratado el diseo conce%tual 9 el diseo l8ico de la base de datos" 7o @e,os estudiado el diseo 5>sico %or=ue re=uiere unos conoci,ientos %re0ios de estructuras de i,%le,entacin 5>sica =ue @acen in/ adecuado e2%licarlo en este curso"

Para el diseo conce%tual @e,os ado%tado el en5o=ue del modelo ER' un ,o/ delo de datos ,u9 utili4ado 9 co,%rensible" Be,os descrito las di0ersas cons/ trucciones =ue %ro%orciona 9 @e,os dado e+e,%los de a%licacin a casos %r&cticos"

$n lo =ue res%ecta al diseo l8ico' lo @e,os centrado en el caso de utili4acin de la tecnolo %a relacional" De este ,odo' @e,os e2%licado c,o se %uede trans5or,ar un ,odelo conce%tual e2%resado ,ediante el ,odelo $3 en una estructura de datos del ,odelo relacional"

FU C ! P06/M2109/02150

5)

Introduccin al diseo de bases de datos

Ejercicios de autoevaluacin
1. Baced un diseo conce%tual de una base de datos ,ediante el ,odelo $3 =ue satis5a8a los re=uisitos =ue se resu,en a continuacina' Un directi0o de un club de 5Ctbol =uiere dis%oner de una base de datos =ue le %er,ita con/ trolar datos =ue le interesan sobre co,%eticiones' clubes' +u8adores' entrenadores' etc" de &,bito estatal" b' <os clubes dis%utan cada te,%orada 0arias co,%eticiones Fli8a' co%a' etc"G entre s>" 7ues/ tro directi0o desea in5or,acin @istrica de las clasi5icaciones obtenidas %or los clubes en las di5erentes co,%eticiones a lo lar8o de todas las te,%oradas" <a clasi5icacin se es%eci5icar& ,ediante un nC,ero de %osicin- 1 si8ni5ica ca,%en' 2 si8ni5ica subca,%en' etc" c' <os distintos clubes est&n a8ru%ados en las 5ederaciones re8ionales corres%ondientes" 6oda 5ederacin tiene co,o ,>ni,o un club" ;uiere saber el no,bre 9 la 5ec@a de creacin de las 5ederaciones as> co,o el no,bre 9 el nC,ero de socios de los clubes" d' $s ,u9 i,%ortante la in5or,acin sobre +u8adores 9 entrenadores" :e identi5icar&n %or un cdi8o' 9 =uiere saber el no,bre' la direccin' el nC,ero de tel15ono 9 la 5ec@a de naci,ien/ to de todos" $s necesario ,encionar =ue al8unos entrenadores %ueden @aber sido +u8adores en su +u0entud" De los +u8adores' ade,&s' =uiere saber el %eso' la altura' la es%ecialidad o las es%ecialidades 9 =u1 do,inio tienen de ellas F8rado de es%ecialidadG" 6odo +u8ador debe te/ ner co,o ,>ni,o una es%ecialidad' %ero %uede @aber es%ecialidades en las =ue no @a9a nin/ 8Cn +u8ador" De los entrenadores le interesa la 5ec@a en =ue iniciaron su carrera co,o entrenadores de 5Ctbol" e' De todas las %ersonas =ue 5i8uran en la base de datos F+u8adores 9 entrenadoresG' =uiere co/ nocer el @istorial de contrataciones %or %arte de los di5erentes clubes' inclu9endo el i,%orte 9 la 5ec@a de ba+a de cada contratacin" $n un ,o,ento deter,inado' una %ersona %uede estar contratada %or un Cnico club' %ero %uede ca,biar de club %osterior,ente e' incluso' %uede 0ol0er a un club en el =ue 9a @ab>a traba+ado" !' 6a,bi1n =uiere re8istrar las o5ertas =ue las %ersonas =ue 5i8uran en la base de datos @an recibido de los clubes durante su 0ida de%orti0a F9 de las =ue se @a enteradoG" Considera b&/ sico tener constancia del i,%orte de las o5ertas" :e debe tener en cuenta =ue' en un ,o,ento deter,inado' una %ersona %uede recibir ,uc@as o5ertas' sie,%re =ue %ro0en8an de clubes distintos" 2. Baced un diseo conce%tual de una base de datos ,ediante el ,odelo $3 =ue satis5a8a los re=uisitos =ue se resu,en a continuacina' :e =uiere disear una base de datos %ara 5acilitar la 8estin de una e,%resa dedicada al trans%orte internacional de ,ercanc>as =ue o%era en todo el &,bito euro%eo" b' <a e,%resa dis%one de 0arias dele8aciones re%artidas %or toda la 8eo8ra5>a euro%ea" <as dele8aciones se identi5ican %or un no,bre' 9 se =uiere re8istrar ta,bi1n su nC,ero de tel1/ 5ono" $n una deter,inada ciudad no @a9 nunca ,&s de una dele8acin" :e desea conocer la ciudad donde est& situada cada dele8acin" :e debe su%oner =ue no @a9 ciudades con el no,/ bre re%etido F%or lo ,enos en el &,bito de esta base de datosG" c' $l %ersonal de la e,%resa se %uede se%arar en dos 8randes 8ru%os! Dd,inistrati0os' sobre los cuales interesa saber su ni0el de estudios" ! Conductores' sobre los =ue interesa saber el ao en el =ue obtu0ieron el carnet de conducir 9 el ti%o de carnet =ue tienen" De todo el %ersonal de la e,%resa' se =uiere conocer el cdi8o de e,%leado F=ue lo identi5icaG' su no,bre' su nC,ero de tel15ono 9 el ao de naci,iento" 6odos los e,%leados est&n asi8na/ dos a una dele8acin deter,inada" :e =uiere tener constancia @istrica de este @ec@o teniendo en cuenta =ue %ueden ir ca,biando de dele8acin Fincluso %ueden 0ol0er a una dele8acin donde 9a @ab>an estado anterior,enteG" d' <a acti0idad de la e,%resa consiste en e5ectuar los 0ia+es %ertinentes %ara trans%ortar las ,ercanc>as se8Cn las %eticiones de sus clientes" 6odos los clientes se identi5ican %or un cdi/ 8o de cliente" :e =uiere conocer' ade,&s' el no,bre 9 el tel15ono de contacto de cada uno de ellos" e' <a e,%resa' %ara lle0ar a cabo su acti0idad' dis%one de ,uc@os ca,iones identi5icados %or un cdi8o de ca,in" :e =uiere tener constancia de la ,atr>cula' la ,arca 9 la tara de los ca,iones" !' <os 0ia+es los or8ani4a sie,%re una dele8acin' 9 se identi5ican ,ediante un cdi8o de 0ia/ +e' =ue es interno de cada dele8acin F9 =ue se %uede re%etir en dele8aciones di5erentesG" Para cada uno de los 0ia+es =ue se @an @ec@o' es necesario saber! ;u1 ca,in se @a utili4ado F9a =ue cada 0ia+e se @ace con un solo ca,inG" ! ;u1 conductor o conductores @an ido Fconsiderando =ue en 0ia+es lar8os %ueden ir 0arios conductoresG" :e =uiere saber ta,bi1n el i,%orte de las dietas %a8adas a cada conductor Fteniendo en cuenta =ue las dietas %ueden ser di5erentes %ara los di5erentes conductores de un ,is,o 0ia+eG" ! $l recorrido del 0ia+eA es decir' la 5ec@a 9 la @ora en =ue el ca,in lle8a a cada una de las ciudades donde deber& car8ar o descar8ar" :u%ondre,os =ue un 0ia+e no %asa nunca dos 0eces %or una ,is,a ciudad"

FU C ! P06/M2109/02150

5*

Introduccin al diseo de bases de datos

! $l nC,ero de %a=uetes car8ados 9 de %a=uetes descar8ados en cada ciudad' 9 %ara cada uno de los clientes" $n un ,is,o 0ia+e se %ueden de+ar 9/o reco8er %a=uetes en di5erentes ciudades %or encar8o de un ,is,o cliente" 6a,bi1n' en un ,is,o 0ia+e' se %ueden de+ar 9/o reco8er %a=uetes en una ,is,a ciudad %or encar8o de di5erentes clientes" 3. Baced un diseo conce%tual de una base de datos ,ediante el ,odelo $3 =ue satis5a8a los re=uisitos =ue se resu,en a continuacina' $s necesario disear una base de datos %ara una e,%resa in,obiliaria con el ob+eti0o de 8estionar la in5or,acin relati0a a su cartera de %isos en 0enta" b' Cada uno de los %isos =ue tienen %endientes de 0ender tiene asi8nado un cdi8o de %iso =ue lo identi5ica" Dde,&s de este cdi8o' se =uiere conocer la direccin del %iso' la su%er5icie' el nC,ero de @abitaciones 9 el %recio" 6ienen estos %isos clasi5icados %or 4onas F%or=ue a sus clientes' en ocasiones' slo les interesan los %isos de una 4ona deter,inadaG 9 se =uiere saber en =u1 4ona est& situado cada %iso" <as 4onas tienen un no,bre de 4ona =ue es di5erente %ara cada una de una ,is,a %oblacin' %ero =ue %ueden coincidir en 4onas de %oblaciones di5e/ rentes" $n ocasiones sucede =ue en al8unas de las 4onas no tienen nin8Cn %iso %endiente de 0ender" c' :e =uiere tener el nC,ero de @abitantes de las %oblaciones" :e =uiere saber =u1 4onas son li,>tro5es' F%or=ue' en caso de no dis%oner de %isos en una 4ona =ue desea un cliente' se le %uedan o5recer los =ue ten8an en otras 4onas li,>tro5esG" $s necesario considerar =ue %ueden e2istir 4onas sin nin8una 4ona li,>tro5e en al8unas %oblaciones %e=ueas =ue constan de una sola 4ona" d' :e dis%onen de di5erentes caracter>sticas codi5icadas de los %isos' co,o %or e+e,%lo tener ascensor' ser e2terior' tener terra4a' etc" Cada caracter>stica se identi5ica ,ediante un cdi8o 9 tiene una descri%cin" Para cada caracter>stica 9 cada %iso se =uiere saber si el %iso satis5ace la caracter>stica o no" Dde,&s' =uieren tener constancia del %ro%ietario o los %ro%ietarios de cada %iso" e' 6a,bi1n necesitan dis%oner de in5or,acin relati0a a sus clientes actuales =ue buscan %iso Fsi dos o ,&s %ersonas buscan %iso con+unta,ente' slo se 8uarda in5or,acin de una de ellas co,o cliente de la e,%resaG" $n %articular' interesa saber las 4onas donde busca %iso cada cliente Fslo en caso de =ue ten8a al8una 4ona de %re5erenciaG" !' D cada uno de estos clientes le asi8nan un 0endedor de la e,%resa %ara =ue se ocu%e de atenderlo" D 0eces' estas asi8naciones 0ar>an con el tie,%o 9 se ca,bia al 0endedor asi8nado a un deter,inado cliente" 6a,bi1n es %osible =ue a un cliente se le 0uel0a a asi8nar un 0en/ dedor =ue 9a @ab>a tenido con anterioridad" :e =uiere tener constancia de las asi8naciones de los clientes actuales de la e,%resa" ' <os 0endedores' clientes 9 %ro%ietarios se identi5ican %or un cdi8o de %ersona" :e =uiere re8istrar' de todos' su no,bre' direccin 9 nC,ero de tel15ono" Dde,&s' se =uiere dis%oner del nC,ero de :e8uridad :ocial 9 el sueldo de los 0endedores' 9 del 7IF de los %ro%ietarios" Puede @aber %ersonas =ue sean al ,is,o tie,%o clientes 9 %ro%ietarios' o bien 0endedores 9 %ro%ietarios' etc" 4'Final,ente' %ara a9udar a %ro8ra,ar 9 consultar las 0isitas =ue los clientes @acen a los %i/ sos en 0enta' se =uiere 8uardar in5or,acin de todas las 0isitas corres%ondientes a los clientes 9 a los %isos actuales de la e,%resa" De cada 0isita @a9 =ue saber el cliente =ue la @ace' el %iso =ue se 0a a 0er 9 la @ora concreta en =ue se inicia la 0isita" $ntende,os =ue la @ora de la 0isita est& 5or,ada %or la 5ec@a' la @ora del d>a 9 el ,inuto del d>a F%or e+e,%lo' 25/F$E/9.' 1.-)0G" Ba9 =ue considerar =ue un ,is,o cliente %uede 0isitar un ,is,o %iso 0arias 0eces %ara ase/ 8urarse de si le 8usta o no' 9 ta,bi1n =ue %ara e0itar con5lictos no se %ro8ra,an nunca 0isitas de clientes di5erentes a un ,is,o %iso 9 a la ,is,a @ora" &. 6rans5or,ad a relacional el diseo conce%tual =ue @ab1is obtenido en el e+ercicio 1" 7. 6rans5or,ad a relacional el diseo conce%tual =ue @ab1is obtenido en el e+ercicio 2" :. 6rans5or,ad a relacional el diseo conce%tual =ue @ab1is obtenido en el e+ercicio )"

FU C ! P06/M2109/02150

55

Introduccin al diseo de bases de datos

"olucionario
Ejercicios de autoevaluacin
1. <a si8uiente 5i8ura ,uestra un dia8ra,a $3 =ue satis5ace los re=uisitos =ue se @an descrito-

<os atributos de las entidades =ue 5i8uran en el dia8ra,a son los si8uientes Flas cla0es %ri,a/ rias se @an subra9adoG-

C MP$6ICIQ7 no,bre/co,% 6$MP 3DDD cdi8o/te,% F$D$3DCIQ7 no,bre/5ed ' 5ec@a/creacin C<UE no,bre/club ' nC,ero/socios P$3: 7D cdi8o/%ersona ' no,bre' direccin' tel15ono' 5ec@a/naci,iento IU(DD 3 Fentidad subclase de %ersonaG cdi8o/%ersona ' %eso' altura $763$7DD 3 Fentidad subclase de %ersonaG cdi8o/%ersona ' 5ec@a/inicio/carrera $:P$CID<IDDD no,bre/es% F$CBD 5ec@a

FU C ! P06/M2109/02150

56

Introduccin al diseo de bases de datos

2. <a si8uiente 5i8ura ,uestra un dia8ra,a $3 =ue satis5ace los re=uisitos =ue se @an descrito-

<os atributos de las entidades =ue 5i8uran en el dia8ra,a son los si8uientes Flas cla0es %ri,a/ rias se @an subra9adoG-

CIUDDD no,bre/ciudad D$<$(DCIQ7 no,bre/del ' tel15ono $MP<$DD cdi8o/e,%leado ' no,bre' tel15ono' ao/naci,iento C 7DUC6 3 Fsubclase de e,%leadoG cdi8o/e,%leado ' ao/carnet' ti%o/carnet DDMI7I:63D6IJ Fsubclase de e,%leadoG cdi8o/e,%leado ' ni0el/estudios F$CBD 5ec@a JIDI$ Fentidad d1bil- cdi8o/0ia+e la identi5ica %arcial,ente' se iden/ ti5ica co,%leta,ente con la dele8acin de or8ani4acinG" cdi8o/0ia+e CDMI 7 cdi8o/ca,ion ' ,atr>cula' ,arca' tara C<I$76$ cdi8o/cliente ' no,bre' tel15ono/contacto

FU C ! P06/M2109/02150

5#

Introduccin al diseo de bases de datos

3. <a 5i8ura =ue %od1is 0er a continuacin ,uestra un dia8ra,a $3 =ue satis5ace los re=uisitos =ue se @an descrito-

<os atributos de las entidades =ue 5i8uran en el dia8ra,a son los si8uientes Flas cla0es %ri,a/ rias se @an subra9adoGP E<DCIQ7 no,bre/%obl ' nC,ero/@ab S 7D Fentidad d1bil- no,bre/4ona la identi5ica %arcial,ente' se identi5ica co,%leta,ente con la %oblacin de locali4acinG no,bre/4ona PI: cdi8o/%iso ' direccin' su%er5icie' nC,ero/@abitaciones' %recio CD3DC6$3I:6ICD cdi8o/car ' descri%cin P$3: 7D cdi8o/%ersona ' no,bre' direccin' tel15ono J$7D$D 3 Fentidad subclase de %ersonaG cdi8o/%ersona ' nss' sueldo C<I$76$ Fentidad subclase de %ersonaG cdi8o/%ersona P3 PI$6D3I Fentidad subclase de %ersonaG cdi8o/%ersona ' ni5 F$CBD 5ec@a B 3D Fentidad d1bil- @ora/,inuto la identi5ica %arcial,ente' se identi5ica co,%leta,ente con la 5ec@a de %ertenenciaG @ora/,inuto

FU C ! P06/M2109/02150

5.

Introduccin al diseo de bases de datos

&. $l resultado de la trans5or,acin a relacional del ,odelo $3 %ro%uesto co,o solucin del e+ercicio 1 consta de las si8uientes relaciones-

C MP$6ICIQ7Fno,bre/co,% G G 6$MP 3DDDFcdi8o/te,% F$D$3DCIQ7Fno,bre/5ed ' 5ec@a/creacinG C<UEFno,bre/club ' nC,ero/socios' no,bre/5edG donde Ono,bre/5edP re5erencia F$D$3DCIQ7 P$3: 7DFcdi8o/%ersona ' no,bre' direccin' tel15ono' 5ec@a/naci,ientoG IU(DD 3Fcdi8o/%ersona ' %eso' alturaG donde Ocdi8o/%ersonaP re5erencia P$3: 7D $763$7DD 3Fcdi8o/%ersona ' 5ec@a/inicio/carreraG donde Ocdi8o/%ersonaP re5erencia P$3: 7D $:P$CID<IDDDFno,bre/es% G F$CBDF5ec@a G BDEI<IDDDFcdi8o/%ersona' ' 8radoG no,bre/es% donde Ocdi8o/%ersonaP re5erencia IU(DD 3 9 Ono,bre/es%P re5erencia $:P$CID<IDDD C<D:IFICDCIQ7Fno,bre/co,%' cdi8o/te,%' no,bre/club ' nu,/%osicinG donde Ono,bre/co,%P re5erencia C MP$6ICIQ7' Ocdi8o/te,%P re5erencia 6$MP 3DDD 9 Ono,bre/clubP re5erencia C<UE C 763D6 Fcdi8o/%ersona' 5ec@a ' no,bre/club' i,%orte/cont' 5ec@a/ba+aG donde Ocdi8o/%ersonaP re5erencia P$3: 7D' O5ec@aP re5erencia F$CBD 9 Ono,bre/clubP re5erencia C<UE F$36DFcdi8o/%ersona' 5ec@a' no,bre/club ' i,%orte/o5ertaG donde Ocdi8o/%ersonaP re5erencia P$3: 7D' O5ec@aP re5erencia F$CBD 9 Ono,bre/clubP re5erencia C<UE

7. $l resultado de la trans5or,acin a relacional del ,odelo $3 %ro%uesto co,o solucin del e+ercicio 2 consta de las si8uientes relaciones-

CIUDDDFno,bre/ciudad G D$<$(DCIQ7Fno,bre/del ' tel15ono' no,bre/ciudadG donde Ono,bre/ciudadP re5erencia CIUDDD $MP<$DD Fcdi8o/e,%leado ' no,bre' tel15ono' ao/naci,ientoG C 7DUC6 3Fcdi8o/e,%leado ' ao/carnet' ti%o/carnetG donde Ocdi8o/e,%leadoP re5erencia $MP<$DD DDMI7I:63D6IJ Fcdi8o/e,%leado ' ni0el/estudiosG donde Ocdi8o/e,%leadoP re5erencia $MP<$DD F$CBDF5ec@a G JIDI$Fno,bre/del' cdi8o/0ia+e ' cdi8o/ca,inG donde Ono,bre/delP re5erencia D$<$(DCIQ7 9 Ocdi8o/ca,inP re5erencia CDMIQ7 CDMIQ7Fcdi8o/ca,in ' ,atr>cula' ,arca' taraG C<I$76$Fcdi8o/cliente ' no,bre' tel15ono/contactoG D:I(7DCI 7Fcdi8o/e,%leado' 5ec@a ' no,bre/del' 5ec@a/5inG donde Ocdi8o/e,%leadoP re5erencia $MP<$DD ' Ono,bre/delP re5erencia D$<$(DCIQ7 9 O5ec@aP re5erencia F$CBD C 7DUCCIQ7Fcdi8o/e,%leado' no,bre/del' cdi8o/0ia+e ' i,%orte/dietasG donde Ocdi8o/e,%leadoP re5erencia C 7DUC6 3 9 Ono,bre/del' cdi8o/0ia+eP re5erencia JIDI$ 3$C 33ID Fno,bre/ciudad' no,bre/del' ' 5ec@a' @oraG cdi8o/0ia+e donde Ono,bre/ciudadP re5erencia CIUDDD 9 Ono,bre/del' cdi8o/0ia+eP re5erencia JIDI$ 3$PD36 Fno,bre/ciudad' no,bre/del' cdi8o/0ia+e' cdi8o/cliente ' %a=uetes/car' %a=uetes/descG donde Ono,bre/ciudad' no,bre/del' cdi8o/0ia+eP re5erencia 3$C 33ID 9 Ocdi8o/clienteP re5erencia C<I$76$

FU C ! P06/M2109/02150

59

Introduccin al diseo de bases de datos

:. $l resultado de la trans5or,acin a relacional del ,odelo $3 %ro%uesto co,o solucin del e+ercicio ) consta de las si8uientes relacionesP E<DCIQ7Fno,bre/%obl ' no,bre/@abG S 7DFno,bre/%obl' no,/4ona G donde Ono,bre/%oblP re5erencia P E<DCIQ7 PI: Fcdi8o/%iso ' direccin' su%er5icie' nC,ero/@abitaciones' %recio' no,bre/%obl' no,bre/4onaG donde Ono,bre/%obl' no,bre/4onaP re5erencia S 7D CD3DC6$3N:6ICDFcdi8o/car ' descri%cinG P$3: 7DFcdi8o/%ersona ' no,bre' direccin' tel15onoG J$7D$D 3Fcdi8o/%ersona ' nss' sueldoG donde Ocdi8o/%ersonaP re5erencia P$3: 7D C<I$76$Fcdi8o/%ersona G donde Ocdi8o/%ersonaP re5erencia P$3: 7D P3 PI$6D3I ' Fcdi8o/%ersona ni5G donde Ocdi8o/%ersonaP re5erencia P$3: 7D F$CBDF5ec@a G B 3DF5ec@a' G @ora/,inuto donde O5ec@aP re5erencia F$CBD D:I(7DCIQ7Fcdi8o/cliente' 5ec@a 5ec@a/5inG ' cdi8o/0endedor' donde Ocdi8o/clienteP re5erencia C<I$76$' O5ec@aP re5erencia F$CBD 9 Ocdi8o/0endedorP re5erencia J$7D$D 3 P3$F$3$7CIDFcdi8o/%ersona' G no,bre/%obl' no,bre/4ona donde Ocdi8o/%ersonalP re5erencia C<I$76$ 9 Ono,bre/%obl' no,/4onaP re5erencia S 7D :D6I:FDCCIQ7Fcdi8o/%iso' cdi8o/car ' satis5ace/noG donde Ocdi8o/%isoP re5erencia PI: 9 Ocdi8o/carP re5erencia CD3DC6$3N:6ICD <IMN63 F$Fno,bre/%obl' no,bre/4ona' G no,bre/%obl/li,' no,bre/4ona/li, donde Ono,bre/%obl' no,bre/4onaP re5erencia S 7D 9 Ono,bre/%obl/li,' no,bre/4ona/li,P re5erencia S 7D P3 PI$DDDFcdi8o/%iso' cdi8o/%ersona G donde Ocdi8o/%isoP re5erencia PI: 9 Ocdi8o/%ersonaP re5erencia P3 PI$6D3I

Para la interrelacin visita' @a9 dos trans5or,aciones %osibles1'

JI:I6DF5ec@a' @ora/,inuto' ' cdi8o/%ersonaG cdi8o/%iso donde O5ec@a' @ora/,inutoP re5erencia B 3D' Ocdi8o/%ersonaP re5erencia C<I$76$ 9 Ocdi8o/%isoP re5erencia PI:

2'

JI:I6DF5ec@a' @ora/,inuto' ' cdi8o/%isoG cdi8o/%ersona donde O5ec@a' @ora/,inutoP re5erencia B 3D' Ocdi8o/%ersonaP re5erencia C<I$76$ 9 Ocdi8o/%isoP re5erencia PI:

#losario
atributo de una entidad Pro%iedad =ue interesa de una entidad" atributo de una interrelacin Pro%iedad =ue interesa de una interrelacin" conectividad de una interrelacin $2%resin del ti%o de corres%ondencia entre las ocurrencias de entidades asociadas con la interrelacin"

FU C ! P06/M2109/02150

60

Introduccin al diseo de bases de datos

diseo conceptual $ta%a del diseo de una base de datos =ue obtiene una estructura de la in5or,acin de la 5u/ tura ED inde%endiente de la tecnolo8>a =ue se =uiere utili4ar" diseo !%sico $ta%a del diseo de una base de datos =ue trans5or,a la estructura obtenida en la eta%a del diseo l8ico con el ob+eti0o de conse8uir una ,a9or e5iciencia 9 =ue' ade,&s' la co,%leta con as%ectos de i,%le,entacin 5>sica =ue de%ender&n del :(ED =ue se debe utili4ar" diseo l ico $ta%a del diseo de una base de datos =ue %arte del resultado del diseo conce%tual 9 lo trans5or,a de ,odo =ue se ada%te al ,odelo del :(ED con el =ue se desea i,%le,entar la base de datos" entidad b+eto del ,undo real =ue %ode,os distin8uir del resto de los ob+etos 9 del cual nos intere/ san al8unas %ro%iedades" entidad asociativa $ntidad resultante de considerar una interrelacin entre entidades co,o una nue0a entidad" entidad d-bil $ntidad cu9os atributos no la identi5ican co,%leta,ente' sino =ue slo la identi5ican de 5or/ ,a %arcial" entidad obli atoria en una interrelacin binaria $ntidad tal =ue una ocurrencia de la otra entidad =ue inter0iene en la interrelacin slo %uede e2istir si se da co,o ,>ni,o una ocurrencia de la entidad obli8atoria a la =ue est& asociada" entidad opcional en una interrelacin binaria $ntidad tal =ue una ocurrencia de la otra entidad =ue inter0iene en la interrelacin %uede e2istir aun=ue no @a9a nin8una ocurrencia de la entidad o%cional a la =ue est& asociada" enerali=acin>especiali=acin Construccin =ue %er,ite re5le+ar =ue e2iste una entidad 8eneral' deno,inada entidad superclase' =ue se %uede es%eciali4ar en entidades subclase" <a entidad su%erclase nos %er,ite ,o/ deli4ar las caracter>sticas co,unes de la entidad 0ista a un ni0el 8en1rico' 9 con las entidades subclase %ode,os ,odeli4ar las caracter>sticas %ro%ias de sus es%eciali4aciones" rado de una interrelacin 7C,ero de entidades =ue asocia la interrelacin" interrelacin Dsociacin entre entidades" interrelacin recursiva Interrelacin en la =ue al8una entidad est& asociada ,&s de una 0e4"

$iblio ra!%a
$atini/ +.E +eri/ ".E 0avat4e/ ".$. F1992G" onceptual #atabase #esign5 An $ntity-Relationship Approach" 3eadin8' Massac@usetts- Dddison Tesle9" ?eore1/ ?.F. F1999G" #atabase ,odeling 6 #esign7 -he 3undamental &rinciples F)U ed"G" :an Francisco- Mor8an Vau5,ann Publis@ers' Inc"

También podría gustarte