Está en la página 1de 16

Bases de Datos y Sistemas de Informacin Ing.

Informtica GRUPO A

entidad-relacin Tema 2 Modelo entidad-relacin


Contenido:
2.1. Conceptos 2.2. Diagramas entidad relacin 2.3. Cuestiones de diseo 2.4. Restricciones 2.5. Diagramas entidad relacin extendidos (EER) 2.6. Conclusiones Bibliografa

2.1.

Conceptos

En este apartado se estudia un modelo de datos de alto nivel que nos permite disear el esquema conceptual de una BD. El modelo entidad-relacin se incluye a veces entre los modelos orientados a objetos por lo nocin de distinguibilidad de entidades (similar a la identidad de objetos). Se basa en los conceptos de: entidad, tipo de entidad, atributo y relacin. Toda esta informacin se representar en los diagramas entidad-relacin. Algunos conceptos y vocabulario que emplearemos en el resto del tema: Entidad: Def.: Menor objeto con significado en una instancia. Por Ej.:, para el anlisis de la BD secretara, el alumno con los siguientes datos: DNI = 01234567Z, nombre y apellidos = Manuel Vzquez Prieto, Telfono = 91-12345678 domicilio = Calle del Jazmn 7, 4 Izq. COU = SI constituye una entidad. Igual sucede con cada asignatura concreta, cada profesor, etc. Intuicin: En el caso del enfoque clsico correspondera a cada registro guardado en un fichero. Atributo: Def.: Componentes que determinan una entidad. Cada atributo tiene asociado un dominio: Conjunto de valores que puede tomar. Ej.: La entidad del Ej.: anterior viene determinada por los valores de sus atributos DNI, Nombre y Apellidos, Telfono, Domicilio y COU. Notacin: A veces, las entidades se representan como conjuntos de la forma {atrib1=v1,...atribn=vn} donde cada atributo de la entidad aparece una y slo una vez. Ej.: {DNI=01234567Z, nombre y apellidos = Manuel Vzquez Prieto, Telfono = 9112345678 , domicilio = Calle del Jazmn 7, 4 Izq, COU = SI} Intuicin: En el enfoque clsico seran los campos de los registros. Atributos monovalorados y multivalorados: Def.: Se llaman atributos multivalorados a aquellos que pueden contener ms de un valor simultneamente, y monovalorados a los que slo pueden contener un valor. Ej.:

Error! No se encuentra el origen de la referencia.-1

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 multivalorado. Atributos simples y compuestos: Def.: 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 domicilio puede que nos interese descomponerlo a su vez en calle, el nmero y la ciudad por separado. Clave: Def: Atributo o conjunto de atributos cuyos valores identifican unvocamente cada entidad. Ej.: DNI es un atributo clave de la entidad Alumno. Tipo de entidad: Es el conjunto de entidades que comparten los mismos atributos (aunque con diferentes valores para ellos). Ej.: En nuestro caso Alumnos ser un tipo de entidad que representa cualquier multiconjunto de entidades en el que todas tengan como conjunto de atributos {DNI, Nombre y Apellidos, ...} y valores dentro de los dominios correspondientes. Asignaturas ser otro tipo de entidad, etc. Intuicin: En el enfoque clsico sera el tipo de los registros. Estamos describiendo el esquema. Relaciones: Def: Conjuntos de la forma {(e1, ..., en) | e1 E1, e2 E2, ..., en En} con ei entidades y Ei conjuntos de entidades del mismo tipo. Ej.: Sea {a1, a2, a3, a4} un conjunto de entidades de tipo alumno (i.e. alumnos concretos) y {b1,b2,b3} 3 asignaturas concretas. Una posible relacin: {(e1,b1), (e2,b1), (e1,b2) } diciendo que e1 est matriculado tanto en b1 como en b2 y e2 en b1. Tipos de relacin: Representan a todas las posibles relaciones entre conjuntos del mismo tipo. Se identifican mediante los tipos de entidades que relacionan (y los atributos si tienen). Es el producto cartesiano E1xE2x...xEn, siendo Ei conjuntos de entidades. Ej.: El tipo de relacin matrcula relaciona el tipo de entidad alumnos con el tipo de entidad asignaturas. Observacin: Las relaciones tambin pueden tener atributos. Cuando un mismo tipo de entidad aparece 2 o ms veces en un tipo de relacin se asigna un nombre a cada papel que hace el tipo de entidad en el tipo de relacin. Ej.: En el Ej.: de secretara, algunos profesores tienen un supervisor, por lo que definiremos un tipo de relacin supervisa que va de profesores a profesores, el primero (por Ej.:) tendr el papel de supervisor y el segundo de supervisado. Jerarquas Isa: Def: Se dice A isa B si el conjunto de entidades B es una generalizacin del conjunto de entidades A. attrib(B)attrib(A). A hereda de B (en el mismo sentido de la programacin orientada a objetos). Atributos clave prestados (borrowed key attributes) En una jerarqua Isa A isa B, los atributos clave de A pueden serlo tambin de B.

Notacin:
En el diseo del modelo E-R se describen tipos (de entidades y de relaciones). Cada tipo representa a un conjunto (de multiconjuntos de entidades o de relaciones). Sin embargo, a menudo diremos cosas del estilo: a) sea R un tipo de relacin y (a1,a2) R Esto es un abuso de notacin que se puede traducir como: b) sea R un tipo de relacin, r una relacin de tipo R cualquiera y (a1,a2) ) r. Sin embargo utilizaremos la notacin a) porque est claro en que caso R representa un tipo o una relacin cualquiera del tipo.

Error! No se encuentra el origen de la referencia.-2

Observaciones:
El diseo del modelo E-R a partir del anlisis inicial NO es directo. A un mismo anlisis le corresponden muchos diseos candidatos. Cul escoger? Muchos criterios, ninguno definitivo. De un buen diseo depende: - eficiencia: Muy importante en las BD (grandes cantidades de datos). - simplicidad del cdigo: Menos errores - flexibilidad: Fcil de modificar

2.2 Diagramas entidad relacin


Los componentes bsicos de los diagramas ER son los atributos, los tipos de entidades y los tipos de relaciones. Tipos de entidades: Rectngulos. Asignaturas

Atributos: Elipses. Se conectan mediante lneas a los tipos de entidades o tipos de relacin. Telfono

Alumnos Atributos multivalorados: Una elipse con doble lnea: Telfono

Atributos compuestos. Los componentes de un atributo se representan a su vez como atributos:


Calle Nmero Ciudad

Domicilio

Tipos de Relacin: Rombos conectados a los tipos de entidades que relacionan.

Alumnos

Matricul

Asignaturas

2.3 Cuestiones de diseo


Pasos en el diseo de un diagrama E-R:

Error! No se encuentra el origen de la referencia.-3

1. Eleccin de los tipos de entidad y sus atributos. 2. Eleccin de los tipos de relacin.

2.3.1.1 Eleccin de los tipos de entidad y sus atributos


Del punto 1) de la especificacin del problema de la secretara se deduce que va ha 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: 1. 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=X} {DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567, Cod=LPI, Ttulo=Laboratorio de programacin I, Crditos=X} Redundancia! (inf. De alumnos repetida) 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) 2. 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! (en la inf. de las asignaturas). 3. 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. 4. 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! Por tanto hay que distinguir entre el tipo de entidad alumnos y el tipo de entidad asignaturas. Ambas se relacionarn mediante un tipo de relacin matrcula. Los restantes tipos de entidad sern: profesores y aulas. Los atributos de cada tipo de entidad: Alumnos: DNI, Apellidos y Nombre, Domicilio, telfono y COU Asignaturas: Cdigo, ttulo, nm. crditos Profesores: DNI, Apellidos y nombre, Domicilio y telfono Aulas: Edificio y nm. edificio An nos falta un atributo, que es la nota: Dnde la ponemos?

Error! No se encuentra el origen de la referencia.-4

En alumnos NO (un alumno muchas notas) En asignaturas NO (una asignatura mucho alumnos) Va a ser un atributo del tipo de relacin matrcula.

2.3.1.2 Eleccin de los tipos de relacin


El primer tipo de relacin es matrcula que relaciona cada alumno con las asignaturas en las que est matriculado. Adems, est relacin tiene un atributo, nota, que se asocia cada tupla de la relacin. El segundo tipo de relacin es supervisa que va de profesores a profesores y que incluye los papeles supervisor y supervisado. 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. Por 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 Diferencias: 1. 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). 2. 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. Qu se le contesta? Sin embargo, con la propuesta b) s se le puede asignar a cada profesor un aula concreta para cada una de sus asignaturas. 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. Conclusin: Una relacin ternaria tiene en general ms informacin que 3 binarias.

Error! No se encuentra el origen de la referencia.-5

Calle

Nmero

Ciudad

Apell. y Nombre

Domicilio

Telfono

COU

Cdigo

Ttulo

Nm. Crditos

DNI Alumnos Matrcula Asignaturas

Nota Supervisa

Supervisor

Supervisado

Profesores DNI

Imparte

Aulas

Apellidos y Nombre

Domicilio

Telfono

Edificio

Nmero

2.4 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. Ej.: En la relacin supervisa un profesor puede tener a lo sumo un supervisor, pero el diagrama anterior permite SUPERVISOR SUPERVISADO ({DNI=666666,}, {DNI=444444,}) ({DNI=000001,}, {DNI=444444,}) Que no debera ser una instancia vlida de la relacin. Def: 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.

Error! No se encuentra el origen de la referencia.-6

Ej.: En el caso anterior, una vez incluida la restriccin, el SGBD no nos permitira insertar la segunda tupla.

2.4.1Cardinalidad de un tipo de relacin


Def: Cardinalidad de una entidad en una relacin (nivel de instancias) 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,ekek cualesquiera, 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,,enEk cualesquiera, se verifica que existen a lo sumo n ei Ei tales que: <e1,, ei-1, ei, ei+1,..., ek> r Ej.: Consideremos la siguiente relacin (instancia) de tipo AxBxC: 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 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) (A2,C1): B2 (3) (A2,C2): B2 (4) (A3,C1): B1 (5) (A3,C2): B1 (6) Para C: (A1,B1): C1 (1), C2(2) (A2,B2): C1 (3), C2(4) (A3,B1): C1 (5), C2(6) 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. Def: 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. Ejs.:
1.

Error! No se encuentra el origen de la referencia.-7

Personas

R Nacida

Pas

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. 2. 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. 3. 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. 4. Tipo de relacin imparte: 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. NOTA: 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. 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) o, ms comn: a) Restricciones de una a muchas, de muchas a una , de una a una Concepto: Dado un tipo de relacin R entre tipos de entidad E1, E2, ., En se puede especificar una restriccin de cardinalidad distinguiendo si el tipo de entidad tiene restriccin <= 1 o =1 diremos que participa con cardinalidad una o no tiene ninguna restriccin (cardinalidad muchas). Si A participa con cardinalidad una en el tipo de relacin R lo representaremos:
A R

El caso de muchas se representa con una lnea sin flecha (como hasta ahora, porque no tiene restriccin). Ej.:s 1.

Error! No se encuentra el origen de la referencia.-8

Personas

R Nacida

Pas

O bien
Personas R Nacida
=1

Pas

2. Matrcula: Se queda como est.

3. Profesores y supervisores:
Profesor

Supervisor

Supervisado

Supervisa

4. Tipo de relacin imparte:


Asignatura

Imparte

Profesor

Aula

Existen otras formas alternativas de mostrar la participacin, por ejemplo mostrar las relaciones 1 a 1 poniendo un 1 sobre cada extremo de la lnea, o un 1 y un smbolo para relaciones de una a muchas.

2.4.2

Participacin de una entidad en una relacin

Sea r una relacin definida sobre los tipos de entidades E1, , Em y sea Ej {E1,Em}: Participacin: Def.: Se dice que la participacin de la entidad e Ej en r es n ( n N) si e Ej aparece en n tuplas de la relacin.

Error! No se encuentra el origen de la referencia.-9

Participacin total: Def.: Se dice que Ej tiene participacin total en r si cada entidad ej Ej se encuentra en alguna tupla de r. En otro caso se dice que la participacin es parcial.

Ej.: Consideremos la siguiente relacin r de tipo AxBxC: A B C A1 B1 C1 A1 B1 C2 A2 B2 C1 A2 B2 C2 A3 B1 C1 A3 B1 C2 Con los multiconjuntos de 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. Restricciones de participacin en los esquemas - Def.: Una restriccin de participacin (min,max) (min N, max N) de un tipo de entidades Ej en un tipo de relacin R indica que en todas las instancias vlidas de la BD se verifica: e Ej participacin de e en R est entre min y max. - Def.: 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 Ej tiene una participacin total. Ej.:s 1. La participacin de alumno en matrcula tiene una restriccin de participacin total. 2. La participacin de profesor en imparte tiene una restriccin de participacin (0, 6). Diagramas ER La restriccin de participacin (min,max) se representa:
Asignatura

Imparte

(0,6)

Profesor

Aula

La restriccin de participacin total se representa como:


Alumno Matrcula Asignatura

Error! No se encuentra el origen de la referencia.-10

2.4.3

Unicidad de entidades: Claves

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. Superclave. Def.: 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. - 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. Observacin: La segunda parte de la Def.: se refiere al caso particular de los tipos de entidades dbiles que explicaremos ms adelante. En general los atributos de la superclave pertenecen al tipo de entidad. Ejs.: - 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 ApellidosyNombre porque 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}. 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}. Clave candidata. Def.: 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. Ejs.: 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 asignaturas tenemos dos claves candidatas {cdigo} y {ttulo}. Elegimos como clave primaria {cdigo}, porque: 1) 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.

Error! No se encuentra el origen de la referencia.-11

2) El cdigo es ms fcil de introducir (para buscar la informacin) (y los ndices ms rpidos, pero an no hemos hablado de ndices). En el caso de aulas, la nica superclave {edificio, nm.aula} es la nica clave candidata y la clave primaria.

Diagramas ER En los diagramas ER los atributos de la clave primaria se representan con sus nombres subrayados. 2.4.4 Tipos de entidad dbiles Un tipo de entidades que no tiene suficientes atributos para formar una clave primaria se denomina tipo de entidades dbil. Ej.: Supongamos que estamos diseando una BD para CDs de 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).
canciones en CDs

ttulo

duracin

Nm.serie

ttuloCD

intrprete

Ahora bien: 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}} ( multiconjunto! ) 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 nm de 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} . Utilidad de las entidades dbiles Tambin queremos relacionar cada cancin con su autor o autores. Un autor viene dado por su DNI que no puede repetirse.

Error! No se encuentra el origen de la referencia.-12

compositores

DNI

Autor

canciones

en

CDs

ttulo

duracin

Nm.serie

ttuloCD

intrprete

Diagrama ER Los tipos de entidad dbiles se representan con rectngulos dobles, y el tipo de relacin (o los tipos) que permiten formar la clave se indican con un doble rombo.
canciones en CDs

ttulo

duracin

Nm.serie

ttuloCD

intrprete

2.5 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. Nuevas caractersticas: - Generalizacin - Agregacin - Especializacin - Herencia de atributos - ...

2.5.1

Generalizacin

Def.: 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. Ejs.: El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una generalizacin de alumnos (que tiene adems el atributo COU). El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una generalizacin de profesores. Un tipo de entidades pelcula puede ser una generalizacin de los tipos de entidades musical, documental, melodrama Observacin: La idea de generalizacin est prxima a la de herencia en la programacin orientada a objetos.

Error! No se encuentra el origen de la referencia.-13

Diagramas EER La generalizacin se representa con un tringulo que incluye el texto is a


DNI Apellidos y Nombre Domicilio Telfono

personas

is a

COU

alumnos

profesores

2.5.2

Agregacin

El modelo E-R no permite establecer relaciones entre relaciones. Def.: La agregacin consiste en considerar un conjunto de componentes (tipos de entidades o tipos de relaciones) como si fueran un nico tipo de entidades. Diagramas EER Se denota incluyendo en un rectngulo todos los componentes de la agregacin. Ej.: 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. Con el modelo E/R bsico:
Equipos Casa Fuera de casa

Partido Resultado

rbitros

Error! No se encuentra el origen de la referencia.-14

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.
Partidos

Equipos Casa Fuera de casa

Juega con

Resultado

Anuncia

Arbitra

Empresas

rbitros

Error! No se encuentra el origen de la referencia.-15

Diagrama ER completado
Calle Nmero Ciudad

Apell. y Nombre

Domicilio

Telfono

COU

Cdigo

Ttulo

Nm. Crditos

DNI Alumnos Matrcula Asignaturas

Nota Supervisa

Supervisor

Supervisado

Profesores (0,6) DNI

Imparte

Aulas

Apellidos y Nombre

Domicilio

Telfono

Edificio

Nmero

Observaciones: - Adems de representar el diagrama se deben indicar todas las suposiciones que se han realizado (las especificaciones nunca son completas).

2.6 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. Modelo ER | modelo X (ej. relacional) | V SGBD

Modelo ER | | | V SGBD

Error! No se encuentra el origen de la referencia.-16