Está en la página 1de 24

GESTIN DE BASES DE DATOS

Bases de Datos Relacionales


IES GONZALO NAZARENO
Bases de Datos Relacionales
UNIDAD DIDACTICA 2: BASES DE DATOS RELACIONALES
ndice de contenido
1. El modelo Entidad-Relacin (ER....................................................................................................!
1.1.- Elemento" del modelo E-R......................................................................................................!
1.1.1.- Entidade"..........................................................................................................................!
1.1.1.1.- Ti#o" de Entidade"...................................................................................................!
1.1.1.2.- Com#onente" de la" entidade".................................................................................$
1.1.2.- Relacione"........................................................................................................................%
1.1.2.1.- &'ado de la" 'elacione"............................................................................................%
1.1.2.2.- Ca'dinalidad de la" 'elacione".................................................................................(
1.2.- &ene'ali)acin * +e'a',-.a" de /ene'ali)acin........................................................................0
1.2.1.- 1a'cial2Total * E3cl-"i4a2Sola#ada.................................................................................0
2. El modelo Relacional.......................................................................................................................5
2.1.- E"t'-ct-'a del modelo 'elacional...........................................................................................16
2.1.1.- Dominio" * At'i7-to".....................................................................................................16
2.1.2.- Relacione"......................................................................................................................11
2.1.!.- Cla4e"............................................................................................................................12
2.2.- Re"t'iccione" del modelo 'elacional......................................................................................1!
2.2.1.- In8e'ente" al modelo......................................................................................................1!
2.2.2.- Sem9ntica" o de -"-a'io.................................................................................................1!
2.!.- T'an":o'macin de -n e",-ema E-R a -n e",-ema 'elacional..............................................1;
2.!.1.- T'an":o'macin de 'elacione" N-<...............................................................................1;
2.!.2.- T'an":o'macin de 'elacione" 1-N.................................................................................1(
2.!.!.- T'an":o'macin de 'elacione" 1-1..................................................................................26
2.!.$.- T'an":o'macin de 'elacione" 'e:le3i4a" o 'ec-'"i4a"...................................................22
2.!.%.- T'an":o'macin de +e'a',-.a" al modelo 'elacional.......................................................2$
19/ina 2 de 2$
Bases de Datos Relacionales
UD02: Bases de Datos Relacionales.
1. El modelo Entidad-Relacin (ER).
El modelo entidad-'elacin (E-R :-e #'o#-e"to #o' 1ete' C8en= en 15(; #a'a la 'e#'e"entacin
conce#t-al de lo" #'o7lema" del m-ndo 'eal. E" -n modelo m-* e3tendido * #otente #a'a la
'e#'e"entacin de lo" dato"> e" la 'e:e'encia ,-e "e -tili)a #a'a el di"e?o de modelo" 'elacionale". Se
"im7oli)a 8aciendo -"o de /'9:ico" en lo ,-e "e 'e#'e"enta la" entidade" * la" 'elacione" ent'e ella".
1.1.- Elementos del modelo E-R.

1.1.1.- Entidades.
Son o7+eto" del m-ndo 'eal ,-e tienen inte'@" #a'a la em#'e"a. Cada entidad "e identi:ica #o' "-
nom7'e. Se 'e#'e"enta -tili)ando 'ect9n/-lo".
Un e+em#lo "e'ia la entidad 7anco= donde "e 'eco/e'.an lo" dato" 'elati4o" a e"e 7anco= como
#-ede "e' el nom7'e= el nAme'o de "-c-'"al= la di'eccin= etc.
1.1.1.1.- Tipos de Entidades.
Ba* do" ti#o" de entidade":
- Entidad fuerte: E" a,-ella ,-e no de#ende de ot'a #a'a "- e3i"tencia.
E+em#lo: la entidad ALUMNOS #e'teneciente a -n cent'o e"cola'= o la entidad
CLIENES de -n 7anco.
- Entidad d!"il: E" a,-ella ,-e nece"ita de ot'a entidad #a'a e3i"ti'. Se 'e#'e"enta
mediante -n 'ect9n/-lo do7le.
E+em#lo: la entidad NOAS nece"ita a la entidad ALUMNOS= #o',-e "in
al-mno" no 8a* nota".
E+em#lo: en el "i/-iente /'9:ico #odemo" 4e' 4a'ia" entidade" :-e'te"= 'e#'e"entada" #o'
'ect9n/-lo" (a't.c-lo= a-to'= in"tit-cin. Tam7i@n #odemo" 4e' -na entidad d@7il= 'e#'e"entada #o'
-n 'ect9n/-lo do7le (e3#e'imento.
19/ina ! de 2$
Bases de Datos Relacionales
1.1.1.2.- Componentes de las entidades.
1. Atri"utos: Son la" -nidade" de in:o'macin ,-e de"c'i7e #'o#iedade" de entidade". El
con+-nto de 4alo'e" #e'mitido" #a'a cada at'i7-to "e llama dominio. Lo" at'i7-to" "e
'e#'e"entan mediante -na eli#"e con el nom7'e dent'o.
1o' e+em#lo: en la "i/-iente ima/en= la entidad CLIENTE tiene lo" "i/-iente" at'i7-to": id-
cliente= nom7'e-cliente= calle-cliente= ci-dad-cliente. La entidad 1RCSTA<O tiene lo"
"i/-iente" at'i7-to": nAme'o-#'@"tamo= im#o'te.
E+em#lo: el dominio del cam#o calle-cliente "e'9 el :o'mado #o' toda" la" cadena" de
lon/it-d 26 ca'acte'e".
19/ina $ de 2$
Bases de Datos Relacionales
2. Cla#e $ri%aria o $rinci$al &'ri%ar( )e(*: E" el con+-nto de at'i7-to" ,-e identi:ica de
:o'ma Anica -na entidad. No #-ede contene' 4alo'e" n-lo".
La cla4e #'ima'ia 8a de "e' "encilla de c'ea'= * no 8a de 4a'ia' en el tiem#o.
Se 'e#'e"enta "-7'a*ando el at'i7-to o at'i7-to" ,-e :o'man la cla4e.
1o' e+em#lo: en la ima/en ante'io'= la cla4e #'ima'ia de la entidad CLIENTE e" id-cliente.
La cla4e #'ima'ia de la entidad 1RCSTA<OS e" nAme'o-#'@"tamo. Tened en c-enta ,-e la
cla4e #'ima'ia #-ede e"ta' :o'mada #o' m9" de -n at'i7-to.
!. Cla#e a+ena o for,nea &-orei.n )e(*: Es el atri"uto o con+unto de atri"utos de una
entidad /ue for%an la cla#e $ri%aria de otra entidad. La" cla4e" a+ena" 4an a
'e#'e"enta' la" 'elacione" ent'e ta7la".
1.1.2.- Relaciones.
Una 'elacin e" la a"ociacin ent'e do" o m9" entidade". Tienen nom7'e de 4e'7o * "e 'e#'e"enta
mediante -n 'om7o.
1.1.2.1.- Grado de las relaciones.
Se de:ine el /'ado de -na 'elacin como el nAme'o de entidade" ,-e #a'tici#an en la mi"ma.
Las relaciones en las /ue $artici$an dos entidades se deno%inan "inarias o de .rado dos>
si $artici$an tres0 ser,n ternarias o de .rado tres. Lo" con+-nto" de 'elacione" #-eden tene'
c-al,-ie' /'ado. Lo ideal es tener relaciones "inarias.
19/ina % de 2$
Bases de Datos Relacionales
La "i/-iente ima/en m-e"t'a -na 'elacin 7ina'ia= de nom7'e CO<1RA (ent'e la" entidade"
CLIENTE * 1RODUCTO:
La "i/-iente ima/en m-e"t'a -na 'elacin te'na'ia de nom7'e TRABADA-EN (entidade"
E<1LEADO= TRABADO * SUCURSAL:
La" 'elacione" en la" ,-e "olo #a'tici#an -na entidad "e llama de /'ado -no o anillo: -na
entidad "e 'elaciona con"i/o mi"ma> "e le" llama 'elacione" 'e:le3i4a" o 'ec-'"i4a".
En la "i/-iente ima/en "e m-e"t'a -na 'elacin -na'ia= de nom7'e CASADO (en la ,-e
#a'tici#a -na Anica entidad de nom7'e E<1LEADO.
19/ina ; de 2$
Bases de Datos Relacionales
1.1.2.2.- Cardinalidad de las relaciones.
La" 'elacione"= en #'inci#io 7ina'ia"= #-eden in4ol-c'a' a -n nAme'o di"tinto de in"tancia" de
cada entidad. A".= "on #o"i7le" t'e" ti#o" de ca'dinalidade":
Relacione" de uno a uno: -na in"tancia de la entidad A "e 'elaciona con -na * "olamente
-na de la entidad B
1
.
Relacione" de uno a %uc1os: cada in"tancia de la entidad A "e 'elaciona con 4a'ia"
in"tancia" de la entidad B
2

!
.
Relacione" de %uc1os a %uc1os: c-al,-ie' in"tancia de la entidad A "e 'elaciona con
c-al,-ie' in"tancia de la entidad B
$
.
La ca'dinalidad de -na entidad "i'4e #a'a conoce' "- /'ado de #a'tici#acin en la 'elacin. La
'e#'e"entamo" ent'e #a'@nte"i" indicando lo" 4alo'e" m.nimo * m93imo. Lo" 4alo'e" #a'a la
ca'dinalidad "on: (6=1= (1=1= (6= n= (1= n * (n= m.
E+em#lo: 7a"9ndono" en el "i/-iente dia/'ama E-R.
A -n cliente le co''e"#onden 1 o n #'od-cto". E" deci'= -n cliente com#'a -no o m-c8o"
#'od-cto" (en #'inci#io no tiene "entido ,-e -n cliente com#'e 6 #'od-cto".
Al mi"mo tiem#o= -n #'od-cto #-ede "e' com#'ado #o' 6 a n cliente". E" deci'= -n mi"mo
#'od-cto (-n lit'o de aceite de oli4a 4i'/en e3t'a ELa E"#a?olaF #-ede "e' com#'ado #o' nin/An
1 E" deci'= a cada elemento de la #'ime'a entidad le co''e"#onde "lo -no de la "e/-nda entidad= * 4ice4e'"a. 1o'
e+em#lo= -n cliente de 8otel oc-#a -na 8a7itacin= o -n /'-#o de al-mno" #e'tenece a -n a-la= * a e"a a-la "lo
a"i"te e"e /'-#o de al-mno".
2 E" deci'= a cada elemento de la #'ime'a entidad le co''e"#onde -no o m9" elemento" de la "e/-nda entidad= * a cada
elemento de la "e/-nda entidad le co''e"#onde -no "olo de la #'ime'a entidad. 1o' e+em#lo= -n #'o4eedo' "-mini"t'a
m-c8o" a't.c-lo". G -n a't.c-lo e" "-mini"t'ado #o' "olo -n #'o4eedo'.
! Tam7i@n "e #'e"enta el ca"o cont'a'io: N:1. E" deci'= 'elacione" de m-c8o" a -no. E" el mi"mo ca"o ,-e la" de -no a
m-c8o".
$ E" deci'= a cada elemento de la #'ime'a entidad le co''e"#onde -no o m9" elemento" de la "e/-nda entidad= * a cada
elemento de la "e/-nda entidad le co''e"#onden -no o m9" elemento" de la #'ime'a entidad. 1o' e+em#lo= -n
4endedo' 4ende m-c8o" a't.c-lo"= * -n a't.c-lo e" 4endido #o' m-c8o" 4endedo'e".
19/ina ( de 2$
Bases de Datos Relacionales
cliente o #o' m-c8o" cliente".
1.2.- Generalizacin y jerarquas de generalizacin.
La" /ene'ali)acione" #'o#o'cionan -n mecani"mo de a7"t'accin ,-e #e'mite e"#eciali)a' -na
entidad ,-e "e denomina'9 "-#e'ti#o en "-7ti#o"= o lo ,-e e" lo mi"mo= /ene'ali)a' lo" "-7ti#o" en
el "-#e'ti#o. Una /ene'ali)acin "e identi:ica "i encont'amo" -na "e'ie de at'i7-to" com-ne" a -n
con+-nto de entidade"= * -no" at'i7-to" e"#ec.:ico" ,-e identi:ica'an -na" ca'acte'."tica". Lo"
at'i7-to" com-ne" de"c'i7i'9n el "-#e'ti#o * lo" #a'tic-la'e" lo" "-7ti#o". Una de la" ca'acte'."tica"
m9" im#o'tante de la +e'a',-.a e" la 8e'encia= #o' la ,-e lo" at'i7-to" de -n "-#e'ti#o "on 8e'edado"
#o' "-" "-7ti#o".
1.2.1.- Parcial/Total y Exclusiva/Solaada.
La /ene'ali)acin e" total "i no 8a* oc-''encia en el "-#e'ti#o ,-e no #e'tene)ca a nin/-no de
lo" "-7ti#o". En ot'o ca"o la /ene'ali)acin "e'.a #a'cial.
19/ina 0 de 2$
Bases de Datos Relacionales
La /ene'ali)acin "e'9 e3cl-"i4a "i -na oc-''encia no #-ede a#a'ece' en 4a'io" "-7ti#o" a la 4e).
E+em#lo ("ola#ada * #a'cial:
2. El modelo Relacional.
El modelo de dato" 'elacional :-e de"a''ollado #o' Codd
%
. El modelo de Codd #e'"i/-e al i/-al
,-e la ma*o'.a de lo" modelo" de dato" lo" "i/-iente" o7+eti4o":
%1a'a "a7e' m9" "o7'e Ed/a' H'anI Codd: 8tt#:22e".JiIi#edia.o'/2JiIi2Ed/a'KH'anIKCodd
19/ina 5 de 2$
Bases de Datos Relacionales
1. Inde$endencia f2sica de los datos= e"to e"= el modo de almacenamiento de lo" dato" no
de7e in:l-i' en "- mani#-lacin l/ica.
2. Inde$endencia l3.ica de los datos= e" deci'= lo" cam7io" ,-e "e 'ealicen en lo" o7+eto"
de la 7a"e de dato" no de7en 'e#e'c-ti' en lo" #'o/'ama" * -"-a'io" ,-e acceden a ella.
!. -le4i"ilidad0 #a'a #'e"enta' a lo" -"-a'io" lo" dato" de la :o'ma m9" adec-ada.
$. Unifor%idad0 en la #'e"entacin de la l/ica de lo" dato"= ,-e "on ta7la"= lo ,-e :acilita
la mani#-lacin de la 7a"e de dato" #o' #a'te de lo" -"-a'io".
%. Sencille50 e"te modelo e" :9cil de com#'ende' * -tili)a' #o' el -"-a'io.
1a'a con"e/-i' e"to" o7+eti4o" Codd int'od-ce el conce#to de relaci3n &ta"las* como e"t'-ct-'a
79"ica del modelo= todo" lo" dato" de -na 7a"e de dato" "e 'e#'e"enta en :o'ma de 'elacione" c-*o
contenido 4a'.a en el tiem#o.
2.1.- Estructura del modelo relacional.
La 'elacin e" el elemento 79"ico del modelo 'elacional * "e 'e#'e"enta como -na ta7la= en la ,-e
"e #-ede di"tin/-i':
el nom7'e de la ta7la.
el con+-nto de col-mna" ,-e 'e#'e"entan la" #'o#iedade" de la ta7la * ,-e "e denominan
at'i7-to"=
* el con+-nto de :ila"= llamada" t-#la" ,-e contienen lo" 4alo'e" ,-e toman cada -no de lo"
at'i7-to" #a'a cada elemento de la 'elacin.
Una 'elacin tiene -na "e'ie de elemento" ca'acte'."tico" ,-e la di"tin/-en de -na ta7la:
No admiten :ila" d-#licada".
La" :ila" * la" col-mna" no e"t9n o'denada".
La ta7la e" #lana. En el c'-ce de -na :ila * -na col-mna "olo #-ede 8a7e' -n 4alo'.
Lo" elemento" ,-e con"tit-*e el modelo 'elacional "on:
2.1.1.- !ominios y "tri#utos.
DOMINIO
Se de:ine DOMINIO como el con+-nto :inito de 4alo'e" 8omo/@neo" (todo" del
mi"mo ti#o * atmico" ("on indi4i"i7le" ,-e #-ede toma' cada at'i7-to. Lo" 4alo'e"
19/ina 16 de 2$
Bases de Datos Relacionales
contenido" en -na col-mna #e'tenecen a -n dominio ,-e #'e4iamente "e 8a de:inido.
Todo" lo" dominio" tienen -n nom7'e * -n ti#o de dato" a"ociado". E3i"ten do" ti#o" de
dominio":
a. Dominio" /ene'ale": "on a,-ello" c-*o" 4alo'e" e"t9n com#'endido ent'e -n
m93imo * -n m.nimo. 1o' e+em#lo: cdi/oK#o"tal= :o'mado #o' todo" lo"
nAme'o" ente'o" #o"iti4o" de cinco ci:'a".
7. Dominio" 'e"t'in/ido": Son lo" ,-e #e'tenece a -n con+-nto de 4alo'e"
e"#ec.:ico. 1o' e+em#lo: "e3o. Solamente #-ede toma' lo" 4alo'e" B * <.
ARIBUO
Se de:ine ARIBUO como el #a#el o 'ol ,-e de"em#e?a -n dominio en -na
'elacin. Re#'e"enta el -"o de -n dominio #a'a -na dete'minada 'elacin. El at'i7-to
a#o'ta -n "i/ni:icado "em9ntico a -n dominio. 1o' e+em#lo= en la 'elacin ALU<NOS
#odemo" con"ide'a' lo" "i/-iente" at'i7-to" * dominio":
At'i7-to NU<K<AT. Dominio: con+-nto de ente'o" :o'mado" #o' $ d./ito".
At'i7-to NO<BRE. Dominio: con+-nto de 1% ca'acte'e".
At'i7-to A1ELLIDOS. Dominio: con+-nto de 26 ca'acte'e".
At'i7-to CURSO. Dominio: con+-nto de ( ca'acte'e".
2.1.2.- Relaciones.
Las relaciones se re$resentan %ediante una ta"la con filas ( colu%nas. Un
S&BD "olo nece"ita ,-e el -"-a'io #-eda #e'ci7i' la BD como -n con+-nto de ta7la".
En el modelo 'elacional la" 'elacione" "e -tili)an #a'a almacena' in:o'macin "o7'e
lo" o7+eto" ,-e "e 'e#'e"entan en la BD. Se 'e#'e"enta como -na ta7la 7idimen"ional en
la ,-e la" :ila" co''e"#onden a 'e/i"t'o" indi4id-ale" * la" col-mna" a lo" cam#o" o
at'i7-to" de e"o" 'e/i"t'o". La 'elacin e"t9 :o'mada #o':
Atri"utos &colu%nas*. Se t'ata de cada -na de la" col-mna" de la ta7la. La"
col-mna" tienen -n nom7'e * #-eden /-a'da' -n con+-nto de 4alo'e". Una
col-mna "e identi:ica "iem#'e #o' "- nom7'e= n-nca #o' "- #o"icin. El o'den de
la" col-mna" en -na ta7la e" i''ele4ante.
u$las &filas*. Cada t-#la 'e#'e"enta -na :ila de la ta7la. En la "i/-iente ta7la
4emo" ,-e a#a'ecen t'e" t-#la" o :ila"= * c-at'o at'i7-to" (n-mKmat= nom7'e=
a#ellido"= c-'"o.
19/ina 11 de 2$
Bases de Datos Relacionales
De la" ta7la" "e de'i4an lo" "i/-iente" conce#to":
Cardinalidad. E" el nAme'o de :ila" de la ta7la. En el e+em#lo ante'io'= e"
TRES.
6rado. E" el nAme'o de col-mna" de la ta7la. En el e+em#lo ante'io'= e"
CUATRO.
7alor. E"ta 'e#'e"entado #o' la inte'"eccin ent'e -na :ila * col-mna. 1o'
e+em#lo= en la ta7la ante'io'= "on 4alo'e" ECABELLOF EDUANF= (;22...
7alor null. Re#'e"enta la a-"encia de in:o'macin.
La" 'elacione" tienen la" "i/-iente" ca'acte'."tica":
- Cada 'elacin tiene -n nom7'e * e"te e" di"tinto de lo" dem9".
- Lo" 4alo'e" de lo" at'i7-to" "on atmico": en cada t-#la= cada at'i7-to toma
-n "olo 4alo'.
- No 8a* do" at'i7-to" ,-e "e llamen i/-al.
- El o'den de lo" at'i7-to" e" i''ele4ante> no e"t9n o'denado".
- Cada t-#la e" di"tinta de la" dem9"> no 8a* t-#la" d-#licada".
- Al i/-al ,-e lo" at'i7-to"= el o'den de la" t-#la" e" i''ele4ante> la" t-#la" no
e"t9n o'denada".
2.1.$.- %laves.
En -na 'elacin no 8a* t-#la" 'e#etida"> "e identi:ica de -n modo Anico mediante lo"
4alo'e" de "-" at'i7-to". Toda :ila de7e e"ta' a"ociada con -na cla4e ,-e #e'mite
identi:ica'la. A 4ece" la" :ila" "e #-eden identi:ica' con -n mi"mo at'i7-to= #e'o ot'a"
4ece" e" nece"a'io 'ec-''i' a m9" de -n at'i7-to.
La cla#e candidata de -na 'elacin e" el con+-nto de at'i7-to" ,-e identifica de
for%a 8nica ( %2ni%a cada t-#la de la 'elacin. Sie%$re 1a( una cla#e candidata.
Una 'elacin #-ede tene' m9" de -na cla4e candidata ent'e la" c-ale" "e di"tin/-en:
Cla#e $ri%aria o $rinci$al: a,-ella cla4e candidata ,-e el -"-a'io
e"co/e #a'a identi:ica' la" t-#la" de la 'elacin. No #-ede tene' 4alo'e"
n-lo".
Cla#e alternati#a: a,-ella" cla4e" candidata" ,-e no 8an "ido e"co/ida"
19/ina 12 de 2$
Bases de Datos Relacionales
como cla4e #'ima'ia.
La cla#e a+ena de -na 'elacin R1 e" el con+-nto de at'i7-to" c-*o" 4alo'e" 8an de
coincidi' con lo" 4alo'e" de la cla4e #'ima'ia de ot'a 'elacin R2.
E+em#lo:
ABLA DE'ARAMENOS
CLALE 1RI<ARIA CLALE CANDIDATA
NM DE1ARTA<ENTO NO<BRE DE1ARTA<ENTO 1RESU1UESTO
D1 <ARNUETIN& 1666
D2 DESARROLLO 1266
D! INLESTI&ACION %666
ABLA EM'LEADOS
CLALE 1RI<ARIA CLALE ADENA
NM E<1LEADO A1ELLIDOS NM DE1ARTA<ENTO SALARIO
E1 LO1EP D1 %66
E2 HERNANDEP D! 1666
E! &ARCQA D2 1266
2.2.- Restricciones del modelo relacional.
En todo" lo" modelo" de dato" e3i"ten 'e"t'iccione" ,-e a la 8o'a de di"e?a' -na 7a"e de dato" "e
8an de tene' en c-enta. Lo" dato" almacenado" en la 7a"e de dato" 8an de ada#ta'"e a la" e"t'-ct-'a"
im#-e"ta" #o' el modelo * de7en c-m#li' -na "e'ie de 'e/la" #a'a /a'anti)a' ,-e "on co''ecta".
Lo" ti#o" de 'e"t'iccione" "on:
2.2.1.- &n'erentes al modelo.
Indican la" ca'acte'."tica" #'o#ia" de -na 'elacin ,-e 8a de c-m#li'"e
o7li/ato'iamente= * ,-e di:e'encian -na 'elacin de -na ta7la:
No 8a* do" t-#la" i/-ale"=
El o'den de la t-#la" * lo" at'i7-to" no e" 'ele4ante=
Cada at'i7-to "lo #-ede toma' -n Anico 4alo' del dominio al ,-e
#e'tenece *=
Nin/An at'i7-to ,-e :o'me #a'te de la cla4e #'ima'ia de -na
'elacin #-ede toma' -n 4alo' n-lo.
2.2.2.- Sem(nticas o de usuario.
Re#'e"entan la "em9ntica del m-ndo 'eal. C"ta" 8acen ,-e la" oc-''encia" de lo"
e",-ema" de la 7a"e de dato" "ean 49lido". Lo" mecani"mo" ,-e #'o#o'cionan el
modelo #a'a e"te ti#o de 'e"t'icione" "on lo" "i/-iente":
o Restriccin de clave primaria (PRIMARY KEY)= #e'mite decla'a' -no o 4a'io"
19/ina 1! de 2$
Bases de Datos Relacionales
at'i7-to" como cla4e #'ima'ia de -na 'elacin.
o Restriccin de unicidad (UNIQUE)= #e'mite de:ini' cla4e" alte'nati4a". Lo"
4alo'e" de lo" at'i7-to" no #-eden 'e#eti'"e.
o Restriccin de obliatoriedad (N!" NU##)0 #e'mite decla'a' "i -no o 4a'io"
at'i7-to" no #-eden toma' 4alo'e" n-lo". (1o' e+em#lo: #od'.amo" decla'a' ,-e el
at'i7-to EA#ellido"F de la ta7la ante'io' EEm#leado"F= no #-eda de+a'"e en 7lanco.
o Interidad re$erencial o restriccin de clave a%ena= la inte/'idad 'e:e'encial
indica ,-e lo" 4alo'e" de cla4e a+ena en la 'elacin 8i+o "e co''e"#onden con lo" de
cla4e" #'ima'ia" en la 'elacin #ad'e. (1o' e+em#lo: ,-e no #-eda a#a'ece' en la
ta7la ELenta"F el cdi/o de -n #'od-cto "i dic8o #'od-cto no "e enc-ent'a en la ta7la
E1'od-cto"F.
Adem9" de de:ini' la" cla4e" a+ena" 8a* ,-e tene' en c-enta la"
o#e'acione" de 7o''ado * act-ali)acin ,-e "e 'eali)an "o7'e la" t-#la" de la
'elacin 'e:e'encial. La" $osi"ilidades "on la" "i/-iente":
Borrado (9o %odificaci3n en cascada. &Cascade*. El 7o''ado o
modi:icacin de -na t-#la en la 'elacin #ad'e ('elacin con la cla4e
#'ima'ia oca"iona -n 7o''ado o modi:icacin de la" t-#la" 'elacionada" con
la 'elacin 8i+a ('elacin ,-e contiene la cla4e a+ena. EDE<1LO: En el ca"o
de em#leado" * de#a'tamento"= "i "e 7o''a -n de#a'tamento de la ta7la
TDE1ART "e 7o''a'9n lo" em#leado" ,-e #e'tenecen a e"e de#a'tamento.
I/-almente oc-''i'9 "i "e modi:ica el NU<DE1T de la ta7la TDE1ART: e"a
modi:icacin "e a''a"t'a a lo" em#leado" ,-e #e'tene)can a e"e
de#a'tamento.
Borrado (9o %odificaci3n restrin.ido. &Restrict*. En e"te ca"o no e"
#o"i7le 'eali)a' el 7o''ado o la modi:icacin de la" t-#la" de la 'elacin
#ad'e "i e3i"ten t-#la" 'elacionada" en la 'elacin 8i+a. E" deci'= no #od'.a
7o''a' -n de#a'tamento ,-e tiene em#leado".
Borrado (9o %odificaci3n con $uesta o nulos &Set null*. E"ta
'e"t'iccin #e'mite #one' la cla4e a+ena en la ta7la 'e:e'enciada a NULL "i
"e #'od-ce el 7o''ado o modi:icacin en la ta7la #'ima'ia o #ad'e. A". #-e"=
"i "e 7o''a -n de#a'tamento= a lo" em#leado" de e"e de#a'tamento "e
a"i/na'9 NULL en el at'i7-to NU<DE1T.
Borrado (9o %odificaci3n con $uesta o #alor $or defecto &Set
default*. En e"te ca"o= el 4alo' ,-e "e #one en la cla4e" a+ena" de la ta7la
'e:e'enciada e" -n 4alo' #o' de:ecto ,-e "e 8a7'9 e"#eci:icado en la c'eacin
de la ta7la.
19/ina 1$ de 2$
Bases de Datos Relacionales
o Restricci3n de #erificaci3n &c1ec)* E"ta 'e"t'iccin #e'mite e"#eci:ica'
condicione" ,-e de7en c-m#li' lo" 4alo'e" de lo" at'i7-to". Cada 4e) ,-e "e 'ealice
-na in"e'cin o -na act-ali)acin de dato" "e com#'-e7a "i lo" 4alo'e" c-m#len la
condicin. Rec8a)a la o#e'acin "i no "e c-m#le.
o E+em#lo: ,-e el cam#o 1RECIOKLENTA "ea ma*o' ,-e 6.
o E+em#lo: N-e el cam#o EDAD "ea ma*o' ,-e 6= * (#o' e+em#lo
meno' ,-e 126.
2..- Trans!ormacin de un esquema E-R a un esquema relacional.
Una 4e) o7tenido el e",-ema conce#t-al mediante el modelo E-R 8a* ,-e de:ini' el modelo
l/ico de dato". La" 'e/la" 79"ica" #a'a t'an":o'ma' -n e",-ema conce#t-al E-R a -n e",-ema
'elacional "on la" "i/-iente":
Toda entidad "e t'an":o'ma en -na ta7la.
Todo at'i7-to "e t'an":o'ma en col-mna" dent'o de -na ta7la.
El identi:icado' Anico de la entidad "e con4ie'te en cla4e #'ima'ia.
RCmo 8acemo" e"toS. De#endiendo de la" 'elacione" ,-e no" encont'emo":
2.$.1.- Trans)ormacin de relaciones *-+.
Toda 'elacin N:< "e t'an":o'ma en -na ta7la ,-e tend'9 como cla4e #'ima'ia la
concatenacin de lo" at'i7-to" ,-e a"ocia .
19/ina 1% de 2$
Bases de Datos Relacionales
1a'a e"te modelo de entidad-'elacin el #a"o a ta7la" ,-eda'.a de la "i/-iente :o'ma:
Ot'o e+em#lo: S-#on/amo" el "i/-iente %odelo entidad:relaci3n.
En e"te ca"o la 'elacin Ecom#'aF "e t'an":o'ma en -na n-e4a ta7la c-*a cla4e #'ima'ia
e"ta'9 :o'mada #o' lo" at'i7-to" dni= ,-e e" la cla4e #'ima'ia de cliente= * cdi/o= ,-e e"
la cla4e #'ima'ia de #'od-cto. Adem9" tend'9 como cam#o :ec8a com#'a= *a ,-e e"te
at'i7-to :o'ma #a'te de la 'elacin.
El %odelo relacional ,-eda'.a de la "i/-iente :o'ma (en ne/'ita la" cla4e" #'ima'ia":
CLIENTE(dni=nom7'e=a#ellido"
1RODUCTO(c3di.o=de"c'i#cin
CO<1RAS(dni;cliente0c3di.o;$roducto=:ec8aKcom#'a
19/ina 1; de 2$
Bases de Datos Relacionales
2.$.2.- Trans)ormacin de relaciones 1-*.
E3i"ten do" "ol-cione":
ransfor%arla en una ta"la. Se 8ace como "i "e t'ata'a de -na 'elacin
N:<. E"ta "ol-cin "e 'eali)a c-ando "e #'e4@ ,-e en -n :-t-'o la 'elacin "e
con4e'ti'9 en N:< * c-ando la 'elacin tiene at'i7-to" #'o#io". La cla4e de
e"ta ta7la e" la de la identidad del lado m-c8o". Tam7i@n "e a#lica c-ando
tenemo" ca'dinalidad (6=1 * (1=N.
E+em#lo:
En el "i/-iente %odelo entidad:relaci3n -n em#leado #e'tenece a -n Anico
de#a'tamento= * -n de#a'tamento tiene 1 o m9" em#leado".
Ima/inemo" a8o'a ,-e #-die'a da'"e el ca"o de ,-e 8-7ie'a em#leado" ,-e
no #e'tenecie'an a nin/An de#a'tamento.
En e"te ca"o la entidad ,-e #a'tici#a con ca'dinalidad m93ima 1=
DE1ARTA<ENTO= tam7i@n lo 8ace con ca'dinalidad m.nima 6= *a ,-e
#-ede 8a7e' em#leado" ,-e no #e'tene)can a nin/An de#a'tamento.
A". #-e"= "e c'ea -na n-e4a ta7la :o'mada #o' dni de E<1LEADO * cdi/o
de DE1ARTA<ENTO. En e"ta n-e4a ta7la dni de E<1LEADO "e'9 la
cla4e #'ima'ia. El %odelo relacional ,-eda'.a de la "i/-iente :o'ma:
E<1LEADO(dni=nom7'e="ala'io
DE1ARTA<ENTO(c3di.o=nom7'e=locali)acin
1ERTENECE(dni;e%$leado=cdi/oKde#a'tamento
'ro$a.ar la cla#e. E"te ca"o "e a#lica c-ando la ca'dinalidad e" o7li/ato'ia=
19/ina 1( de 2$
Bases de Datos Relacionales
e" deci'= c-ando tenemo" ca'dinalidad (1=1 * (6=n. Se #'o#a/a el at'i7-to
#'inci#al de la entidad ,-e tiene de ca'dinalidad m93ima 1 a la ,-e tiene de la
ca'dinalidad m93ima N= de"a#a'eciendo el nom7'e de la 'elacin.
E+e%$lo<: Lamo" a #a"a' el "i/-iente <odelo E2R al <odelo Relacional.
Tenemo" do" entidade" DE1ARTA<ENTO * E<1LEADO.
Ta7la DE1ARTA<ENTO: N-mDe#a't= Nom7'e= Localidad.
Ta7la E<1LEADO: N-mEm#le= A#ellido= Sala'io= Comi"ion.
DE1ARTA<ENTO (N-mDe#a't= Nom7'e= Localidad
E<1LEADO (N-mEm#le= A#ellido= Sala'io= Comi"ion
Id Ta7la DE1ARTA<ENTO: N-mDe#a't (No #-ede 8a7e' do"
de#a'tamento" con la mi"ma identi:icacion.
- Id Ta7la E<1LEADOS: N-mEm#le (No #-ede 8a7e' do" em#leado"
con la mi"ma identi:icacion
DE1ARTA<ENTO (N-mDe#a't= Nom7'e= Localidad
E<1LEADO (N-mEm#le= A#ellido= Sala'io= Comi"ion
En la 'elacin T1e'teneceU= "e #'o#a/a el at'i7-to de la entidad ,-e
tiene 1 como ca'dinalidad m93ima (DE1ARTA<ENTO 8acia la ,-e
tiene ca'dinalidad m93ima N (E<1LEADO. Se #'o#a/a N-mDe#a't
19/ina 10 de 2$
Bases de Datos Relacionales
(la cla4e. La Ta7la E<1LEADOS tiene a8o'a e"ta e"t'-ct-'a:
E<1LEADO (N-mEm#le= A#ellido= Sala'io= Comi"ion= N-mDe#a't
Atenci3n: El e+em#lo no e"t9 com#leto. AAn no" ,-eda #o' t'ata' lo ,-e
8acemo" con la 'elacin EDEHEF. de cmo t'atamo" la 'elacin 'ec-'"i4a
EDEHEF= 8a7la'emo" en el #-nto 2.!.$.
E+em#lo2: Leamo" a8o'a el ca"o de -na 'elacin 1:N. En el "i/-iente
%odelo entidad:relaci3n -n em#leado #e'tenece a -n Anico de#a'tamento
(de"e $ertenecer a uno o"li.atoria%ente= * -n
de#a'tamento tiene 1 o m9" em#leado".
En e"te ca"o "e #'o#a/a el at'i7-to cdi/o de de#a'tamento a la ta7la
E<1LEADO. El %odelo relacional ,-eda'.a de la "i/-iente mane'a:
E<1LEADO(dni=nom7'e="ala'io=cdi/oKde#a'tamento
DE1ARTA<ENTO(c3di.o=nom7'e=locali)acin
2.$.$.- Trans)ormacin de relaciones 1,1.
Se tienen en c-enta la" ca'dinalidade" de la" entidade" ,-e #a'tici#an. E3i"ten do"
"ol-cione":
<.: ransfor%arla en una ta"la. Si la" entidade" #o"een ca'dinalidade"
(6=1= la 'elacin "e con4ie'te en -na ta7la.
19/ina 15 de 2$
Bases de Datos Relacionales
E+e%$lo<:
S-#on/amo" ,-e di"#onemo" de -na entidad E<1LEADOS=
,-e contiene at'i7-to" 'elati4o" a lo" em#leado" de -na
em#'e"a.
S-#on/amo" tam7i@n ,-e= di"#onemo" de -na entidad
1UESTO= ,-e contiene at'i7-to" 'elati4o" a -n dete'minado
#-e"to de t'a7a+o.
S-#on/amo" tam7i@n ,-e= -n #-e"to e" Anico. E" deci'= -n
dete'minado #-e"to "olamente #-ede e"ta' oc-#ado #o' -na
Anica #e'"ona. Adem9"= e"te #-e"to #-ede e"ta' o no oc-#ado.
Al/-no" em#leado" oc-#a'9n #-e"to"= #e'o ot'o" "on "im#le"
em#leado" "in #-e"to a"i/nado.
A". tenemo":
EM'LEADOS: (codKem#leado= nom7'e= di'eccin= tel@:ono.
'UESO: (codK#-e"to= de"c'i#cin.
OCU'A: (codKem#leado= codK#-e"to.
E+e%$lo2:
19/ina 26 de 2$
E<1LEADOS 1UESTO
OCU1A
NO<BRE
COD-
E<1
TELEHON
O
DIRECCIO
N
COD-1UESTO
DESCRI1CIO
N
(6=1
(6=1
1:1
Bases de Datos Relacionales
2.: 'ro$a.ar la cla#e. Si -na de la" entidade" #o"ee ca'dinalidad (6=1 * la
ot'a (1=1 con4iene #'o#a/a' la cla4e de la entidad con ca'dinalidad (1=1 a
la ta7la 'e"-ltante de la entidad de ca'dinalidad (6=1. Si am7a" entidade"
#o"een ca'dinalidade" (1=1 "e #-ede #'o#a/a' la cla4e de c-al,-ie'a de ella
a la ta7la 'e"-ltante de la ot'a. En e"te ca"o tam7i@n "e #-ede a?adi' lo"
at'i7-to" de -na entidad a ot'a= de donde 'e"-lta -na Anica ta7la con todo"
lo" at'i7-to" de la" entidade" * de la 'elacin "i lo" 8-7ie'a= eli/iendo como
cla4e #'ima'ia -na de la" do".
E+e%$lo: Leamo" a8o'a el ca"o de -na 'elacin 1:1 a t'a4@" del
"i/-iente e+em#lo. En el "i/-iente %odelo entidad:relaci3n -n
e,-i#o de :At7ol tiene a -n Anico #'e"idente * -n #'e"idente
#'e"ide a -n Anico cl-7 de :At7ol.
En e"te e+em#lo= tal * como dicen la" 'e/la"= #odemo" #'o#a/a'
la cla4e de c-al,-ie' ta7la a la ta7la 'e"-ltante de la ot'a. E"
deci'= tenemo" do" o#cione"= o mo4e' la cla4e de 1RESIDENTE
a ENUI1O o mo4e' la cla4e de ENUI1O a 1RESIDENTE. El
%odelo relacional #od'.a ,-eda' de c-al,-ie'a de la" do"
:o'ma" "i/-iente":
ENUI1O(c3di.o=nom7'e=a?oK:-ndacin
1RESIDENTE(dni=nom7'e=cdi/oKe,-i#o
19/ina 21 de 2$
Bases de Datos Relacionales
ENUI1O(c3di.o=nom7'e=a?oK:-ndacin=dniK#'e"idente
1RESIDENTE(dni=nom7'e
2.$.-.- Trans)ormacin de relaciones re)lexivas o recursivas.
En el ca"o de ,-e la 'elacin "ea:
Relaci3n <:<. La cla4e de la entidad "e 'e#ite= con lo ,-e la ta7la
'e"-ltante tend'9 do" 4ece" e"e at'i7-to= -na como cla4e #'ima'ia * ot'a
como cla4e a+ena de la mi"ma.
E+em#lo: ima/inemo" -na ta7la de 1ERSONAS. Tenemo"
-na 'elacin Ee" cn*-/eF. E" -na 'elacin 1:1. Cada :ila
contend'9 (#o' e+em#lo el DNI * todo" lo" dato" de -na
#e'"ona= "iendo el DNI la lla4e #'ima'ia= * adem9"= la lla4e
#'ima'ia "e 'e#eti'9. E" deci'= ot'o cam#o DNIKCONGU&E
,-e "e'9 el DNI del cn*-/e.
Relaci3n <:N. Tenemo" do" ca"o":
o A,-el en el ,-e la entidad m-c8o" e" o7li/ato'io= "e #'ocede
como en el ca"o (1=1.
E+em#lo: Leamo" el modelo E-R ,-e anali)amo" en el #-nto
2.!.2. ('elacione" 1-N. Lemo" ,-e e3i"te -na 'elacin
EDEHEF 1 a N.
- La 'elacin TDe:eU= e" -na 'elacin 1:N #e'o no e"
o7li/ato'ia. 1o' tanto= la Ta7la E<1LEADOS ,-eda con -n
at'i7-to m9"= ,-e e" el nAme'o de em#leado del +e:e del
em#leado. Le #onemo" como nom7'e DEHE.
E<1LEADO (N-mEm#le= A#ellido= Sala'io= Comi"ion= N-mDe#a't=
De:e
o Si no e" o7li/ato'ia "e c'ea -na n-e4a ta7la c-*a cla4e "e'9 la
19/ina 22 de 2$
Bases de Datos Relacionales
de la entidad * adem9" "e #'o#a/a la cla4e a la n-e4a ta7la
como cla4e a+ena.
Relacin N:M. Se t'ata i/-al ,-e la" 'elacione" 7ina'ia". E" deci'=
"e c'ea -na ta7la n-e4a.
2.$...- Trans)ormacin de /erar0u1as al modelo relacional.
El modelo 'elacional no di"#one de mecani"mo #a'a la 'e#'e"entacin de la"
'elacione" +e'9',-ica"> a". #-e"= e"ta" 'elacione" "e tienen ,-e elimina'.
1a'a #a"a' e"ta" 'elacione" al modelo 'elacional "e #-eden a#lica' di"tinta" 'e/la".
No"ot'o" 4e'emo" la "i/-iente:
Inte.rar todas las entidades en una 8nica eli%inando a los su"ti$os. E"ta
n-e4a entidad contend'9 todo" lo" at'i7-to" del "-#e'ti#o= todo" lo de lo"
"-7ti#o"= * lo" at'i7-to" di"c'iminati4o" #a'a di"tin/-i' a ,-e "-7entidad
#e'tenece cada at'i7-to. E"ta 'e/la #-ede a#lica'"e a c-al,-ie' ti#o de
+e'a',-.a.
La /'an 4enta+a e" la "im#licidad= #-e" todo "e 'ed-ce a -na
entidad.
El /'an incon4eniente e" ,-e "e /ene'a dema"iado" 4alo'e" n-lo"
en lo" at'i7-to" o#cionale" #'o#io" de cada entidad.
E+e%$lo: Con"ide'amo" lo" #'o:e"o'e" ,-e im#a'ten cla"e en do" ti#o" de
cent'o ed-cati4o": #A7lico" * #'i4ado".
Un #'o:e"o' #-ede im#a'ti' cla"e en 4a'io" cent'o"= "ean #A7lico" o
#'i4ado".
Con"ide'amo" la a"i/nat-'a como at'i7-to de la 'elacin ent'e #'o:e"o'e" *
cent'o #'o:e"o'e" Vim#a'ten - cla"e
Lo" cent'o" ed-cati4o" "olo #-eden "e' de e"to" do" ti#o" * -n cent'o
#A7lico no #-ede "e' #'i4ado.
Lo" at'i7-to" e"#ec.:ico" #a'a lo" #A7lico" "on: el #'e"-#-e"to * lo"
"e'4icio"= * #a'a lo" #'i4ado"= la o'/ani)acin * la c-ota.
De lo" #'o:e"o'e" "e conoce "- cdi/o= "- nom7'e= "- di'eccin= tel@:ono *
localidad. G de lo" cent'o": el cdi/o= el nom7'e= la di'eccin * el nM de
al-mno.
19/ina 2! de 2$
Bases de Datos Relacionales
<odelo ER
;
:
'rofesores: (Cdi/o= nom7'e= di'eccin= tel@:ono= localidad
I%$arte: (cdi/o"= a"i/nat-'a
Centros: (cdi/o= nom7'e= di'eccin= nAme'o al-mno= o'/ani)acin= c-ota=
#'e"-#-e"to= "e'4icio
; E"te modelo E-R no e"t9 com#leto. Haltan lo" at'i7-to"= la ca'dinalidad= etc. Com#l@talo tA como acti4idad.
19/ina 2$ de 2$

También podría gustarte