Sei sulla pagina 1di 42

Tema 2

Modelos de bases de datos


2
ndice
Tipos de modelos de datos
Modelo entidad-relacin
Modelo relacional
Modelo orientado a objetos
3
Modelos de datos
Ofrecen un modo de describir el diseo de bases de datos en
los niveles fsico, lgico y de vistas
Coleccin de herramientas para describir
Datos
Relaciones entre los datos
Semntica de los datos
Restricciones de consistencia
Existen varios tipos de modelos de datos
4
Tipos de modelos de datos
Modelos conceptuales o de alto nivel
Utilizan conceptos cercanos al modo en que los usuarios percibenlos
datos de la BD.
Permiten la construccin de un esquema conceptual (datos y su
relaciones) a partir de los requisitos del usuario
Modelo entidad-relacin
Consiste en una coleccin de objetos bsicos (entidades) y de las
relaciones entre ellos.
Se usa mucho en el diseo de bases de datos
Modelo de datos orientado a objetos
Extensin del modelo entidad-relacin con los conceptos de
encapsulacin, mtodos e identidad de los objetos.
5
Tipos de modelos de datos
Modelos de implementacin
Utilizan conceptos que pueden ser entendidos por los usuarios finales de la
BD
Permiten la construccin de un esquema lgico que represente correcta y
eficientemente al esquema conceptual
Pueden ser implementados con facilidad por un SGBD porque no estn muy
alejados del modo en que los datos se almacenan en el disco
Modelo relacional
Usa una coleccin de tablas para representar tanto los datos como sus relaciones
Modelo ms ampliamente usado
Modelo de datos semiestructurado
Permite especificacin de datos donde los elementos de datos individuales del
mismo tipo pueden tener diferentes conjuntos de atributos (XML)
Otros modelos antiguos
Modelo de datos en red
Modelo de datos jerrquico
6
Tipos de modelos de datos
Modelos fsicos o de bajo nivel
Proporcionan detalles de cmo se almacenan los datos en el
computador.
Representan informacin como el formato y el orden de registros,
caminos de acceso a datos, etc.
Dirigidos a especialistas en computacin y gestin de datos, no a
usuarios finales.
7
Modelo entidad-relacin
Modelo de datos de alto nivel que nos permite disear el
esquema conceptual de una BD.
Consta de objetos bsicos (entidades) y de relaciones entre
ellos (relaciones).
Las entidades se describen por un conjunto de atributos.
Diagrama E-R
Rectngulos =>entidades
Elipses =>atributos
Rombos =>relaciones
Ciertas restricciones
correspondencia de cardinalidadesentre entidades (uno a uno, uno a
muchos, muchos a muchos)
8
Diagrama E-R

cliente
nombre-cliente
calle-cliente
ciudad-cliente
dni
nmero-cuenta
saldo
cuenta impositor
9
Entidad
Una entidad particular es un elemento que existe y es distinguible de
otros elementos.
Una entidad particular puede ser concreta, como una persona o unlibro, o
abstracta, como un da festivo o un concepto.
Una entidad est representada por un conjunto de atributos, que sirven para
dar semntica a la entidad
Ej: el estudiante Pedro Garca, DNI 50506809,
Un conjunto de entidades (o entidad, a partir de este momento) es un
grupo de entidades particulares del mismo tipo.
Ej: el conjunto de entidades CLIENTE representa al conjunto de personas
que tienen cuenta en un banco.
A veces tambinse habla de tipo de entidad CLIENTE
En el diagrama E-R las entidades se representan con un rectngulo.
10
Atributos
Caractersticas o elementos informativos que describen una
entidad.
Ej: La entidad CLIENTE tiene los atributos dni, nombre_cliente,
calle_cliente y ciudad_cliente.
Ej: La entidad CUENTA tiene los atributos nmero_cuenta y saldo.
Cada atributo tiene asociado un dominio
conjunto de valores permitidos para dicho atributo.
Ej: nombre_cliente puede ser cualquier cadena de caracteres de una
cierta longitud
En el diagrama E-R los atributos se representan con una
elipse.
11
Atributo
Notacin: A veces, las entidades se representan como
conjuntos de pares (atributo =valor) de la forma {atributo1 =
valor1, ..., atributon=valorn} donde cada atributo de la
entidad aparece una y slo una vez.
Ej.: {dni =01234567Z, nombre_cliente =Manuel Vzquez Prieto,
calle_cliente =Calle del J azmn 7, ciudad_cliente=Madrid}
12
Atributos simples y compuestos:
Se dice que un atributo es compuesto cuando puede
descomponerse en otros componentes o atributos ms
pequeos, y simple en otro caso.
Ej.: En el caso del nombre de una persona puede que nos interese
descomponerlo a su vez en nombre, primer apellidoy segundo
apellidopor separado.
Se representan como elipses (atributos simples) unidos a
otra elipse (atributo compuesto) que se une a la entidad.
13
Atributos monovalor y multivalor
Se llaman atributos multivalor a aquellos que pueden
contener ms de un valor simultneamente, y monovalor a
los que slo pueden contener un valor.
Ej.: Una persona puede tener varios nmeros de telfono (casa,
trabajo, mvil) y puede que nos interese tenerlos todos.
En este caso haremos de telfono un atributo multivalor.
Los atributos multivalor se representan con dos elipses
concntricas
14
Atributos derivados y almacenados
Se dice que un atributo es derivado si obtenerse a partir de
otros atributoso entidades relacionados
Ej.: un atributo edad puedeobtenerse a partir de otro atributofecha
de nacimiento.
Los atributosderivados se representan con un trazo
punteado.
15
Ejemplo atributos
16
Valores nulos
El valor nulo tiene dos modos de uso semnticamente
distintos:
No existencia del dato: el atributo no tiene sentido en la entidad
particular.
Ej. atributo PISO en una entidad CLIENTES donde el elemento
insertado corresponde a un cliente con domicilio en una casa
unifamiliar.
Desconocimiento: el atributo se deja en blanco por no disponer de
la informacin.
Ej. atributo ALTURA en una entidad J UGADORES.
Ambigedad: a veces no es posible distinguir si el valor de
un atributo no existe o si se desconoce.
Ej. atributo TELF_MOVIL en una entidad ALUMNOS
17
Relaciones
Una relacin es un vnculo o asociacin entre varias
entidades {(e1, ..., en) | e1 E1, e2 E2, ..., en En} con
ei entidades individuales y Ei conjuntos de entidades.
Se dice que los conjuntosde entidades E1, E2, , Enparticipan en
la relacin.
Representa el producto cartesiano E1 x E2 x ... x En
Ej.: Sea {a1, a2, a3, a4} un conjunto de entidades de tipo cliente y
{b1,b2,b3} un conjuntode entidades de tipo cuentas. Una posible
relacin: {(a1,b1), (a2,b1), (a1,b2) } diciendo que a1 tiene asociadas
la cuenta b1 y la b2 y a2 tiene asociada la cuenta b1.
Grado de una relacin es el nmero de entidades que asocia
Relacin binaria: asocia dos entidades
Relacin ternaria: asocia tres entidades
Relacin recursiva: asocia una entidad consigo misma
18
Roles
La funcin que desempea una entidad en una relacin se
denomina rol de esa entidad.
En general, los roles estn implcitos y no se suelen especificar.
Resultan tiles cuando el significado de una relacin necesita
aclaracin
P.ej: en relaciones recursivas
Profesor
Supervisado Supervisor
Supervisa
19
Atributos
Una relacin puede incluir un nombre y unos atributos que la
caractericen
pero es recomendable que estos ltimos slo aparezcan en ella si no
pueden ser aadidos a alguna de las entidades que participan de la
relacin.
20
Diseo
Un buen diseo debe ser
Conciso
Fcil de comprender
Fcil de mantener
Eficiente
El diseo del modelo E-R a partir del anlisis inicial NO es
directo.
A un mismo anlisis le corresponden muchos diseos candidatos.
Dos peligros importantes a evitar
Redundancia
Informacin repetida
Incompletitud
Aspectos mal modelados
21
Cuestiones de diseo
Pasos en el diseo de un diagrama E-R:
1. Eleccin de los tipos de entidad y sus atributos.
2. Eleccin de los tipos de relacin.
3. Restricciones
22
Ejemplo: Diseo de una base de datos para
la secretara de una facultad
Se desea gestionar (almacenar, consultar, actualizar, ) la
informacin correspondiente a la secretara de una facultad.
Esta es la informacin de la que partimos:
1. Por cada alumno se requiere la informacin: DNI, Apellidos y
nombre, domicilio, telfono y acceso (que indica el tipo de acceso a
la universidad). Tambin se precisa conocer en cada momento las
asignaturas en las que el alumno est matriculado, as como la nota
en cada asignatura. Un alumno slo puede matricularse en una
asignatura una vez, y debe matricularse al menos en una.
2. Por cada asignatura se requiere: cdigo, ttulo y nmde crditos.
Puede haber varias asignaturas con el mismo nmero de crditos,
pero todas tienen distinto cdigo y distinto ttulo.
23
Ejemplo: Diseo de una base de datos para
la secretara de una facultad
1. Esta es la informacin de la que partimos:
3. Cada asignatura puede estar impartida por uno o ms profesores.
Del profesor se deben conocer los mismo datos que en el caso de
los alumnos, salvo el de acceso: DNI, Apellidos y nombre,
domicilio y telfono. El nmero mximo de asignaturas que puede
impartir un profesor es 6, aunque puede que no imparta ninguna.
4. Algunos profesores tienen un supervisor (slo uno), que es otro
profesor.
5. Dados un profesor concreto y una asignatura de las que imparte, se
debe conocer el aula en la que el profesor da esa asignatura (es
siempre la misma). El aula se identifica mediante el nombre de
edificio y el nmero de aula. Se supone que dentro del mismo
edificio cada aula tiene un nmero diferente.
24
Eleccin de los tipos de entidad y sus
atributos
Del punto 1 de la especificacin del problema de la secretara
se deduce que va a haber un tipo de entidad ALUMNOS,
pero no cules son sus atributos:
Debe incluir las asignaturas en las que est matriculado?
La respuesta es NO y hacerlo as sera un error grave.
Aparte de la idea filosfica (cada asignatura es un objeto
con significado propio, es decir, una entidad), al mezclar en
una sola entidad alumnos y asignaturas cometemos 4 errores:
25
Eleccin de los tipos de entidad y sus
atributos
Un alumno no tiene una asignatura asociada sino un conjunto
de asignaturas asociadas.
En cambio, s tiene un DNI asociado, una direccin asociada,
etc.
Por tanto las entidades sern de la forma
{DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567,
Cod=MD, Ttulo=Matemtica Discreta, Crditos=9}
{DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567,
Cod=IS, Ttulo=Ingeniera del Software, Crditos=12}
{DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567,
Cod=LPI, Ttulo=Laboratorio de programacin I, Crditos=X}
Redundancia (informacinde alumnos repetida)
26
Eleccin de los tipos de entidad y sus
atributos
Esto se puede solucionar si admitimos que los atributos
contengan conjuntos de valores
{ DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567,
, Asignaturas={ {Cod=MD, Ttulo=}, {COD=IS,Ttulo=},
{Cod=LPI,Ttulo=} } }
no es muy elegante que digamos y los siguientes 3 puntos no
se pueden arreglar as.
No es relacional.
27
Eleccin de los tipos de entidad y sus
atributos
Las asignaturas son siempre las mismas, con lo que por cada
alumno que se matricula en la misma asignatura hay que
repetir toda la informacin
{ DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567,
Asignaturas={ {Cod=MD, Ttulo=}, {COD=IS,Ttulo=},
{Cod=LPI,Ttulo=} } }
{ DNI=0000001, Nomb.Ape=Eva Manzano, Telf.=01234567,,
Asignaturas={ {Cod=MD, Ttulo=}, {COD=IS,Ttulo=},
{Cod=BDSI,Ttulo=} } }
Redundancia (informacinde asignaturas repetida)
28
Eleccin de los tipos de entidad y sus
atributos
Por cada profesor hay que apuntar las asignaturas que
imparte.
La informacin de las asignaturas debe estar por tanto
relacionada con la de los profesores, pero ya est incluida
con los alumnos
Hay que repetir la informacin de las asignaturas
Ms redundancia.
29
Eleccin de los tipos de entidad y sus
atributos
No se pueden guardar los datos de una asignatura hasta que
no se matricule un alumno en ella.
Puede ser que en secretara quieran meter los datos de las
asignaturas antes de empezar el proceso de matrcula
No pueden.
Una solucin sera incluirlos con los datos de los alumnos
vacos (nulos).
Chapuza
30
Eleccin de los tipos de entidad y sus
atributos
Por tanto hay que distinguir entre el tipo de entidad
ALUMNOSy el tipo de entidad ASIGNATURAS.
Ambas se relacionarn mediante un tipo de relacin MATRICULA.
Los restantes tipos de entidad sern: PROFESORES y
AULAS.
Los atributos de cada tipo de entidad sern:
Alumnos: DNI, Apellidos y Nombre, Domicilio, telfono yacceso
Asignaturas: Cdigo, ttulo, y nm. Crditos
Profesores: DNI, Apellidos y nombre, Domicilio y telfono
Aulas: Edificio y nm. edificio
31
Eleccin de los tipos de entidad y sus
atributos
An nos falta un atributo, que es la nota
Dnde la ponemos?
En alumnos NO
un alumno muchas notas
En asignaturas NO
una asignatura mucho alumnos
Va a ser un atributo del tipo de relacin matrcula.
32
Eleccin de los tipos de relacin
El primer tipo de relacin es MATRICULA que relaciona
cada alumno con las asignaturas en las que est matriculado.
Adems, est relacin tiene un atributo, nota, que se asocia cada
tuplade la relacin.
El segundo tipo de relacin es SUPERVISA que va de
profesores a profesores y que incluye los roles supervisor y
supervisado.
33
Eleccin de los tipos de relacin
La ltima es IMPARTE que relaciona cada profesor con la
asignatura que imparte y el aula en la que da esa asignatura.
Aqu tambin surgen varias posibilidades:
Hacer 2 relaciones binarias
Ej.:, profesor con asignatura y asignatura con aula.
Hacer una relacin ternaria entre profesores, aulas y asignaturas.
Hacer 3 relaciones binarias profesor-asignatura, profesor-aula,
asignatura-aula
34
Eleccin de los tipos de relacin
Diferencias:
En las opciones a) y c) se permite que un profesor imparta una
asignatura que an no tiene aula (esto puede ser deseable o no).
El problema de a) es:
Profesor-asignatura ={({DNI=6666666, NombreYApe=Rmulo
Meln},{Cod=MD,.}) }
Asignatura-aula ={
({Cod=MD.},{Edif=Mates,NumAula=S103}),
({Cod=MD.},{Edif=Biolgicas,
NumAula=104}) }
Estas relaciones son posibles, hay ms de un curso de
primero y por eso la misma asignatura se imparte en varias
aulas.
Ahora bien, Don Rmulo quiere saber en qu aula debe dar
su clase de discreta, y pare ello pregunta en secretara.
35
Eleccin de los tipos de relacin
El problema de c) sigue siendo el mismo:
Profesor-asignatura =
{({DNI=6666666, NombreYApe=Rmulo
Meln,},{Cod=MD,.}), ({DNI=6666666,
NombreYApe=Rmulo Meln,},{Cod=IS,.}),}
Asignatura-Aula ={({Cod=MD.}, {Edif=Mates,
NumAula=S103}), ({Cod=MD.}, {Edif=Biolgicas,
NumAula=104}), ({Cod=IS.}, {Edif=Mates, NumAula=S103}),
({Cod=IS.}, {Edif=Biolgicas, NumAula=104}) }
Profesor-Aula ={({DNI=6666666, NombreYApe=Rmulo
Meln,}, {Edif=Mates, NumAula=S103}),
({DNI=6666666, NombreYApe=Rmulo Meln,},
{Edif=Biolgicas, NumAula=104}), }
Don Rmulo sabe que da 2 asignaturas, cada una en un aula,
pero sigue sin saber a dnde tiene que ir a dar MD.
36
Eleccin de los tipos de relacin
Sin embargo, con la propuesta b) s se le puede asignar a
cada profesor un aula concreta para cada una de sus
asignaturas.
Conclusin
Una relacin ternaria tiene en general ms informacin que 3
binarias.
37
Ejemplo: Diseo de una base de datos para la
secretara de una facultad
Asignaturas Alumnos Matrcula
Aulas
Imparte
Supervisa
Profesores
Apellidos y Nombre Domicilio Telfono
Apell. y Nombre Telfono acceso Cdigo Ttulo
Nm.
Crditos
Edificio Nmero
Nota
DNI
DNI
Supervisado Supervisor
Calle Nmero Ciudad
Domicilio
38
Restricciones
Con los elementos anteriores tenemos una primera
aproximacin a los diagramas ER, en la que tenemos
definidos los elementos principales de los diagramas.
Sin embargo, en el modelo ER tambin se pueden definir
numerosas restricciones sobre los tipos de entidades y tipos
de relaciones
39
Restricciones
Ej.: En la relacin supervisa un profesor puede tener a lo
sumo un supervisor, pero el diagrama anterior permite
Que no debera ser una instancia vlida de la relacinporque
algunos profesores pueden tener un supervisor, pero slo uno
SUPERVISOR SUPERVISADO
({DNI=666666,}, {DNI=444444,})
({DNI=000001,}, {DNI=444444,})
40
Restricciones
Las restricciones son propiedades que se asocian a un tipo
de entidad o de relacin.
Las instancias vlidas del tipo de entidad o relacin son
aquellas en las que se verifique el conjunto de restricciones
asociadas.
Observaciones:
Las restricciones son parte del diseo de la BD igual que los tipos de
entidades o de relaciones.
Los SGBD se encargan de comprobar que la instancia verifica las
restricciones ms usuales.
Ej.: En el caso anterior, una vez incluida la restriccin, el SGBD no
nos permitira insertar la segunda tupla.
41
Cardinalidadde un tipo de relacin
La cardinalidadde una relacin es el nmero de entidades
particulares que estn relacionadas con una entidad particular
de otro conjunto de entidades
Sea r una relacin entre tipos de entidades E1, E2, , Ek,
entonces se dice que el cardinal de Ei en r es n si dados
e1E1, , ei-1Ei-1,ei+1Ei+1,ekekcualesquiera, si
se verifica que existen exactamente n ei Ei tales que:
<e1,, ei-1, ei, ei+1,..., ek> r.
El cardinal de Ei en r es menor o igual que n si dados
e1E1, , ei-1Ei-1, ei+1Ei+1,,enEkcualesquiera,
se verifica que existen a lo sumo n ei Ei tales que: <e1,,
ei-1, ei, ei+1,..., ek> r
42
Cardinalidadde un tipo de relacin
Consideremos la siguiente relacin (instancia) de tipo AxBxC:
Para A:
(B1,C1): A1 (1), A3 (5)
(B1,C2): A1 (2), A3 (6)
(B2,C1): A2 (3)
(B2,C2): A2 (4)
Para B:
(A1,C1): B1 (1)
(A1,C2): B1 (2) Para C:
(A2,C1): B2 (3) (A1,B1): C1 (1), C2(2)
(A2,C2): B2 (4) (A2,B2): C1 (3), C2(4)
(A3,C1): B1 (5) (A3,B1): C1 (5), C2(6)
(A3,C2): B1 (6)
A B C
A1 B1 C1 1
A1 B1 C2 2
A2 B2 C1 3
A2 B2 C2 4
A3 B1 C1 5
A3 B1 C2 6
43
Cardinalidadde un tipo de relacin
Si asumimos que en la instancia de la BD se tiene
A={A1,A2,A3}, B={B1,B2}, C={C1,C2}
El cardinal de A en esta instancia es <=2, la de B=1 y la de
C=2.
Esto vale para instancias pero las restricciones se aplican
sobre los tipos de relaciones.
44
Restricciones de cardinalidad
Restricciones de cardinalidad(nivel de esquema)
Se dice que un tipo de entidad participa en un tipo de
relacin con una restriccin de cardinalidad=n o <=n si en
todas las instancias vlidas del tipo de relacin se verifica la
restriccin.
En el caso en que un tipo de entidad participe varias veces en
el tipo de relacin se podr establecer una restriccin para
cada papel.
45
Restricciones de cardinalidad
Cada persona tiene un nico pas de nacimiento, es decir,
fijada una persona, existe un pas.
Por lo que parece lgico poner la restriccin =1 para el tipo
de entidad pas en el tipo de relacin nacida.
Sin embargo, fijado un pas hay una cantidad no determinada
en general de personas nacidas all, por lo que no ponemos
ninguna restriccin sobre el tipo de entidad personas.
Pas
R
Personas Nacida
46
Restricciones de cardinalidad
Fijado un alumno puede haberse matriculado en cualquier
nmero de asignaturas
no hay restriccin sobre asignatura en la relacin matrcula.
Fijada una asignatura, puede haberse matriculado sobre ella
un nmero cualquiera de alumnos
no hay restricciones sobre el tipo de entidad alumnos en la relacin
matrcula.
47
Restricciones de cardinalidad
El supervisor de un profesor, si lo tiene, es nico.
El tipo de entidades profesor, en el papel supervisor tiene
cardinal <=1.
El tipo de entidades profesor, en el papel supervisado no
tiene ninguna restriccin de cardinal
un profesor puede supervisar a un nmero indeterminado de
profesores.
48
Restricciones de cardinalidad
Dado un profesor y una asignatura, existe a lo sumo (si es
profesor de la asignatura) un aula en la que se imparte clase.
Restriccin de cardinal para aulas: <=1.
Dada una asignatura y un aula, puede haber varios profesores
(ej.: uno de maana y otro de tarde) o ninguno.
49
Restricciones de cardinalidad
Durante el diseo de la BD se nos plantean problemas que no
estaban aclarados desde el principio y que nos haban pasado
inadvertidos:
Dado un profesor y un aula, puede ser que el profesor imparta varias
asignaturas en ese aula, o ninguna.
50
Diagramas ER
Hay dos formas de expresar las restricciones de cardinalidad
sobre tipos de relaciones en los diagramas:
O bien poniendo la restriccin directamente sobre la lnea (=1, <=
10)
Restricciones de uno a uno, uno a muchos, muchos a uno, muchos a
muchos
51
Diagramas ER
Dado un tipo de relacin R entre tipos de entidad E
1
, E
2
, .,
E
n
se puede especificar una restriccin de cardinalidad
distinguiendo si el tipo de entidad tiene restriccin <=1 o =1
diremos que participa con cardinalidadunoo no tiene
ninguna restriccin (cardinalidadmuchas).
52
Diagramas ER
Si A participa con cardinalidaduno en el tipo de relacin R
lo representaremos:
El caso de muchos se representa con una lnea sin flecha
(como hasta ahora, porque no tiene restriccin).
A R
53
Diagramas ER
Ejemplo
O bien

Pas
R
Personas Nacida

Pas
R
Personas Nacida
1
N
54
Diagramas ER
Profesores y supervisores:
Supervisa
Profesor
Supervisado Supervisor
55
Diagramas ER
Tipo de relacin IMPARTE:
Asignatura
Profesor Aula
Imparte
56
Participacin de una entidad en una
relacin
Sea r una relacin definida sobre los tipos de entidades E
1
,
, E
m
y sea E
j
{E
1
,E
m
}:
Se dice que la participacin de la entidad e E
j
en r es n ( n N) si
e E
j
aparece enn tuplasde la relacin.
Participacin
Se dice que
Ej tiene
participacin total en r si cada entidad e
j
E
j
se
encuentra en alguna tuplade r.
En otro caso se dice que la participacin es parcial.
57
Participacin de una entidad en una
relacin
Consideremos la siguiente relacin r de tipo AxBxC:
Con los multiconjuntosde entidades A ={A1,A2,A3},
B={B1,B2}, C={C1,C2}
La participacin de A1, A2, A3 en esta instancia es =2, la de B1=4,
la de B2=2 y la de C1=3 y la de C2=3.
A B C
A1 B1 C1 1
A1 B1 C2 2
A2 B2 C1 3
A2 B2 C2 4
A3 B1 C1 5
A3 B1 C2 6
58
Restricciones de participacin en los
esquemas
Una restriccin de participacin (min,max) (min N, max
N) de un tipo de entidades E
j
en un tipo de relacin R indica
que en todas las instancias vlidas de la BD se verifica:
e E
j
participacin de e en R est entre min y max.
Una restriccin de participacin total de un tipo de entidades
Ej en un tipo de relacin R indica que en todas las instancias
vlidas de la BD, se verifica que E
j
tiene una participacin
total.
59
Restricciones de participacin en los
esquemas
La participacin de alumno en matrcula tiene una restriccin
de participacin total.
La participacin de profesor en imparte tiene una restriccin
de participacin (0, 6).
60
Diagramas ER
La restriccin de participacin (min, max) se representa:
Asignatura
Profesor Aula
Imparte
(0,6)
61
Diagramas ER
La restriccin de participacin total se representa como:
Alumno Matrcula Asignatura
62
Unicidad de entidades
Las entidades deben poder distinguirse unas de otras a travs
de los valores de sus atributos.
Interesa encontrar un conjunto de atributos lo ms pequeo
posible que nos permita distinguir unas entidades de otras.
Estos conjuntos sern las claves.
63
Superclaves
Dado un tipo de entidades E en una BD, se llama superclave a cualquier
conjunto de atributos que permita distinguir a todas las entidades de
cualquier instancia vlida de E en la BD.
Si alguno de los atributos de la superclave corresponde a otro tipo de
entidad F se debe verificar:
E y F deben participar en un tipo de relacin binaria R en la que F debe tener
una restriccin de cardinalidad<=1.
Sean entidades dbiles
Los atributos que F aporta para la clave candidata de E deben ser atributos de
una clave candidata de F.
La participacin de E en R debe ser total.
En general los atributos de la superclave pertenecen al tipo de entidad.
64
Superclaves
En el caso de alumnos, el conjunto {telfono} NO es una
superclave, porque puede haber varias personas con el
mismo nmero de telfono (ej. 2 hermanos).
Tampoco podemos tomar como superclave
ApellidosyNombreporque puede repetirse.
Una posible superclave es {DNI}.
El caso de profesores es anlogo al anterior
Para asignaturas tenemos en principio 2 superclaves {ttulo}
y {cdigo}.
Para aulas la nica superclave es {Edificio, nmero}.
65
Superclaves
Propiedad:
Si S es una superclave y S S, entonces S superclave
Ej.: En el caso de asignaturas tenemos en realidad 6
superclaves {ttulo},{cdigo}, {ttulo, nm.creditos},
{cdigo, nm.crditos}, {ttulo, cdigo}, {ttulo, cdigo,
nm.creditos}.
66
Claves candidatay primaria
Clave candidata.
Se llama clave candidata de un tipo de entidad a una superclave que
no contiene ningn subconjunto que tambin sea superclave.
(Conjunto mnimo de atributos que forma una superclave).
Clave primaria.
Se llama clave primaria a la clave candidata seleccionada por el
diseador para distinguir entre las entidades de cada instancia.
67
Claves candidatay primaria
En el caso de alumnos tenemos una nica clave candidata
{dni} que ser tambin la clave primaria.
En el caso de profesores es idntico: tenemos una nica clave
candidata {dni} que ser tambin la clave primaria.
En el caso de aulas, la nica superclave {edificio, nm.aula}
es la nica clave candidata y la clave primaria.
68
Claves candidatay primaria
En el caso de asignaturas tenemos dos claves candidatas
{cdigo} y {ttulo}. Elegimos como clave primaria
{cdigo}, porque:
es posible que en el futuro haya dos asignaturas con el mismo ttulo
(ej. : cambio de planes de estudio) pero parece sensato obligar a que
siempre tengan cdigos distintos.
El cdigo es ms fcil de introducir (para buscar la informacin) (y
los ndices ms rpidos, pero an no hemos hablado de ndices).
69
Diagramas ER
En los diagramas ER los atributos de la clave primaria se
representan con sus nombres subrayados.
70
Tipos de entidad dbiles
Un tipo de entidades que no tiene suficientes atributos para
formar una clave primaria se denomina tipo de entidades
dbil.
Supongamos que estamos diseando una BD para CDsde
msica.
Vamos a utilizar la siguiente informacin:
CD : Ttulo del CD, intrprete, nm. serie
Cancin: Ttulo, duracin
Tambin deseamos relacionar las canciones con el CD al que
pertenecen.
Esta relacin ser de muchas a una entre canciones y CDs (a cada
cancin le corresponde un CD).
71
Tipos de entidad dbiles
canciones CDs en
ttuloCD
intrprete
Nm.serie ttulo duracin
72
Tipos de entidad dbiles
El nm.serie del CD no se puede repetir en dos CDs
diferentes.
En cambio, en diferentes CDs puede aparecer la misma
cancin (mismo ttulo) y puede darse (desgraciada
casualidad) con la misma duracin.
Por Ej.: supongamos que la cancin Only You aparece en
un CD de The Platters y en un CD de Cranberries y con
la misma duracin.
Sin embargo, son canciones diferentes (diferentes intrpretes), es
decir, entidades diferentes:
{ {ttulo=Only You, Duracin=230}, { ttulo =Only You,
Duracin=230}}
Valores repetidos
73
Tipos de entidad dbiles
Por tanto {ttulo, duracin} no es superclave y el tipo de
entidad no puede tener una clave primaria formada slo por
sus atributos.
Sin embargo, si incluimos el nmde serie del CD en la clave
s que tendremos una superclave, clave candidata y clave
primaria.
Clave primaria del tipo de entidad canciones: {nm.serie,
ttulo, duracin} .
74
Diagrama ER
Diagrama ER
Los tipos de entidad dbiles se representan con rectngulos dobles,
y el tipo de relacin (o los tipos) que permiten formar la clavese
indican con un doble rombo.
canciones CDs
ttuloCD
intrprete
Nm.serie ttulo duracin
en
75
Utilidad de las entidades dbiles
Si tambin queremos relacionar cada cancin con su autor o
autoresdonde un autor viene dado por su DNI que no puede
repetirse.
canciones CDs
ttuloCD
intrprete
Nm.serie ttulo duracin
en
compositores
Autor
DNI
76
Diagramas entidad relacin extendidos
(EER)
Los conceptos bsicos del modelo E-R pueden modelar la
mayora de las situaciones, pero algunos aspectos se pueden
modelar ms adecuadamente con el modelo E-R extendido.
Generalizacin
Agregacin
77
Generalizacin
Un tipo de entidades E es una generalizacin de un tipo de
entidades R cuando los atributos de E estn incluidos en los
atributos de R.
El tipo de entidades personas con atributos DNI,
ApellidosyNombre y domicilio es una generalizacin de
alumnos (que tiene adems el atributo acceso).
El tipo de entidades personas con atributos DNI,
ApellidosyNombre y domicilio es una generalizacin de
profesores.
78
Diagramas EER
La generalizacin se representa con un tringulo que incluye
el texto is a
...

alumnos profesores
personas
is a
Apellidos y Nombre Domicilio Telfono DNI
acce
79
Agregacin
El modelo E-R no permite establecer relaciones entre
relaciones.
La agregacin consiste en considerar un conjunto de
componentes (tipos de entidades o tipos de relaciones) como
si fueran un nico tipo de entidades.
80
Diagramas EER
Se denota incluyendo en un rectngulo todos los
componentes de la agregacin.
Queremos gestionar partidos de un deporte. Cada partido
tiene lugar entre dos equipos (el que juega en casa y el que
juega fuera) y tiene un resultado. A cada partido le
corresponde tambin un rbitro.
Nos interesa determinar:
Qu equipos han jugado entre s y con qu resultado
Quin ha arbitrado cada partido.
81
Diagramas EER
Con el modelo E/R bsico:
Casa
Equipos
rbitros
Partido
Resultado
Fuera de casa
82
Diagramas EER
Sin embargo, si es necesario incluir las empresas que
publicitan sus productos en un partido
cmo se logra?
Sera necesario introducir un tipo de entidad Empresas y un
tipo de relacin Anuncia.
Anuncia debera relacionar Empresas con Partidos, pero no existe
esta entidad.
Posibilidad
una nueva entidad ternaria entre Equipos y Empresas, pero esto dara
lugar a redundancia en los atributos de Partido.
Solucin
una agregacin denominada Partidos, que se tratar como un tipo de
entidad y que puede relacionarse con Empresas.
83
Diagramas EER
Equipos
rbitros
Resultado
Fuera de casa
J uega
Casa
Arbitra
Partidos
Empresas
Anuncia
84
Conclusiones
Ventajas del modelo E-R
Diseo de alto nivel: Expresa con bastante precisin el esquema
conceptual
Los diagramas de E-R permiten mantener una visin global del
diseo y favorece la comunicacin entre los diseadores.
Desventajas del modelo E-R:
Carece de un soporte formal y los SGBD no suelen implementarlo
directamente.
Normalmente hay que transformarlo en un modelo de ms bajo nivel.

Potrebbero piacerti anche