• No se han encontrado resultados

Bases de Datos y Sistemas de Información Ing. Informática GRUPO A

N/A
N/A
Protected

Academic year: 2021

Share "Bases de Datos y Sistemas de Información Ing. Informática GRUPO A"

Copied!
16
0
0

Texto completo

(1)

Bases de Datos y Sistemas de Información – Ing. Informática – GRUPO A

TTTTeeeem

m

maaaa 2222 Modelo

m

Modelo

Modelo

Modelo entidad

entidad

entidad

entidad----relaci

relaci

relación

relaci

ón

ón

ón

Contenido:

2.1. Conceptos

2.2. Diagramas entidad relación 2.3. Cuestiones de diseño 2.4. Restricciones

2.5. Diagramas entidad relación extendidos (EER) 2.6. Conclusiones

Bibliografía

2.1.

Conceptos

En este apartado se estudia un modelo de datos de alto nivel que nos permite diseñar el esquema conceptual de una BD.

El modelo entidad-relación se incluye a veces entre los modelos orientados a objetos por lo noción de distinguibilidad de entidades (similar a la identidad de objetos). Se basa en los conceptos de: entidad, tipo de entidad, atributo y relación.

Toda esta información se representará en los diagramas entidad-relación.

Algunos conceptos y vocabulario que emplearemos en el resto del tema:

Entidad:

Def.: Menor objeto con significado en una instancia.

Por Ej.:, para el análisis de la BD secretaría, el alumno con los siguientes datos: DNI = 01234567Z,

nombre y apellidos = Manuel Vázquez Prieto, Teléfono = 91-12345678

domicilio = Calle del Jazmín 7, 4 Izq. COU = SI

constituye una entidad. Igual sucede con cada asignatura concreta, cada profesor, etc. Intuición: En el caso del enfoque “clásico” correspondería 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, Teléfono, Domicilio y COU.

Notación: A veces, las entidades se representan como conjuntos de la forma {atrib1=v1,...atribn=vn} donde cada atributo de la entidad aparece una y sólo una vez. Ej.: {DNI=01234567Z, nombre y apellidos = Manuel Vázquez Prieto, Teléfono = 91-12345678 ,

domicilio = Calle del Jazmín 7, 4 Izq, COU = SI}

Intuición: En el enfoque clásico serían los campos de los registros. • Atributos monovalorados y multivalorados:

Def.: Se llaman atributos multivalorados a aquellos que pueden contener más de un valor simultáneamente, y monovalorados a los que sólo pueden contener un valor.

(2)

Una persona puede tener varios números de teléfono (casa, trabajo, móvil) y puede que nos interese tenerlos todos. En este caso haremos de teléfono un atributo multivalorado.

Atributos simples y compuestos:

Def.: Se dice que un atributo es compuesto cuando puede descomponerse en otros componentes o atributos más pequeños, y simple en otro caso.

Ej.:

En el caso del domicilio puede que nos interese descomponerlo a su vez en calle, el número y la ciudad por separado.

Clave:

Def: Atributo o conjunto de atributos cuyos valores identifican unívocamente 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.

Intuición: En el enfoque “clásico” sería 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 relación: {(e1,b1), (e2,b1), (e1,b2) } diciendo que e1 está matriculado tanto en b1 como en b2 y e2 en b1.

Tipos de relación:

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 relación matrícula relaciona el tipo de entidad alumnos con el tipo de entidad asignaturas.

Observación: Las relaciones también pueden tener atributos.

Cuando un mismo tipo de entidad aparece 2 o más veces en un tipo de relación se asigna un nombre a cada papel que hace el tipo de entidad en el tipo de relación.

Ej.: En el Ej.: de secretaría, algunos profesores tienen un supervisor, por lo que definiremos un tipo de relación supervisa que va de profesores a profesores, el primero (por Ej.:) tendrá el papel de supervisor y el segundo de supervisado.

Jerarquías Isa:

Def: Se dice A isa B si el conjunto de entidades B es una generalización del conjunto de entidades A. attrib(B)⊆attrib(A). A hereda de B (en el mismo sentido de la programación orientada a objetos).

Atributos clave prestados (borrowed key attributes)

En una jerarquía Isa A isa B, los atributos clave de A pueden serlo también de B.

Notación:

En el diseño 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 relación y (a1,a2) ∈ R … Esto es un abuso de notación que se puede traducir como:

b) sea R un tipo de relación, r una relación de tipo R cualquiera y (a1,a2) ) ∈ r….

Sin embargo utilizaremos la notación a) porque está claro en que caso R representa un tipo o una relación cualquiera del tipo.

(3)

Observaciones:

El diseño del modelo E-R a partir del análisis inicial NO es directo. A un mismo análisis le corresponden muchos diseños “candidatos”.

¿Cuál escoger? Muchos criterios, ninguno definitivo. De un buen diseño depende:

- eficiencia: Muy importante en las BD (grandes cantidades de datos). - simplicidad del código: Menos errores

- flexibilidad: Fácil de modificar

2.2 Diagramas entidad relación

Los componentes básicos de los diagramas ER son los atributos, los tipos de entidades y los tipos de relaciones.

Tipos de entidades: Rectángulos.

Atributos: Elipses. Se conectan mediante líneas a los tipos de entidades o tipos de relación.

Atributos multivalorados: Una elipse con doble línea:

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

Tipos de Relación: Rombos conectados a los tipos de entidades que relacionan.

2.3 Cuestiones de diseño

Pasos en el diseño de un diagrama E-R: Asignaturas Teléfono Alumnos Matricul Alumnos Asignaturas Teléfono

Calle Número Ciudad

(4)

1. Elección de los tipos de entidad y sus atributos. 2. Elección de los tipos de relación.

2.3.1.1 Elección de los tipos de entidad y sus atributos

Del punto 1) de la especificación del problema de la secretaría se deduce que va ha haber un tipo de entidad alumnos, pero no cuáles son sus atributos:

¿Debe incluir las asignaturas en las que está matriculado? La respuesta es NO y hacerlo así sería un error grave.

Aparte de la idea ‘filosófica’ (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 dirección asociada, etc. Por tanto las entidades serán de la forma

{DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=MD, Título=Matemática Discreta, Créditos=9}

{DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=IS, Título=Ingeniería del Software, Créditos=X}

{DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=LPI, Título=Laboratorio de programación I, Créditos=X}

Redundancia! (inf. De alumnos repetida)

Esto se puede solucionar si admitimos que los atributos contengan conjuntos de valores { DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, … , Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=LPI,Título=…} } }

( 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 información:

{ DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, … ,

Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=LPI,Título=…} } } { DNI=0000001, Nomb.Ape=Eva Manzano, Telf.=01234567, … ,

Asignaturas={ {Cod=MD, Título=…}, {COD=IS,Título=…}, {Cod=BDSI,Título=…} } }

Redundancia! (en la inf. de las asignaturas).

3. Por cada profesor hay que apuntar las asignaturas que imparte. La información de las asignaturas debe estar por tanto relacionada con la de los profesores, pero ya está incluida con los alumnos. Hay que repetir la información de las asignaturas  más redundancia. 4. No se pueden guardar los datos de una asignatura hasta que no se matricule un alumno en

ella. Puede ser que en secretaría quieran meter los datos de las asignaturas antes de empezar el proceso de matrícula: No pueden. Una solución sería incluirlos con los datos de los alumnos vacíos (nulos). Chapuza!

Por tanto hay que distinguir entre el tipo de entidad alumnos y el tipo de entidad asignaturas. Ambas se relacionarán mediante un tipo de relación matrícula.

Los restantes tipos de entidad serán: profesores y aulas. Los atributos de cada tipo de entidad:

Alumnos: DNI, Apellidos y Nombre, Domicilio, teléfono y COU Asignaturas: Código, título, núm. créditos

Profesores: DNI, Apellidos y nombre, Domicilio y teléfono Aulas: Edificio y núm. edificio

(5)

En alumnos NO (un alumno muchas notas)

En asignaturas NO (una asignatura mucho alumnos) Va a ser un atributo del tipo de relación matrícula.

2.3.1.2 Elección de los tipos de relación

El primer tipo de relación es matrícula que relaciona cada alumno con las asignaturas en las que está matriculado. Además, está relación tiene un atributo, nota, que se asocia cada tupla de la relación.

El segundo tipo de relación 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í también surgen varias posibilidades:

Hacer 2 relaciones binarias. Por Ej.:, profesor con asignatura y asignatura con aula. Hacer una relación 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 aún no tiene aula (esto puede ser deseable o no).

2. El problema de a) es:

Profesor-asignatura = { ({DNI=6666666, NombreYApe=Rómulo Melón},{Cod=MD,….}) …}

Asignatura-Aula = { ({Cod=MD….},{Edif=Mates, NumAula=S103}), ({Cod=MD….},{Edif=Biológicas, NumAula=104}) }

Estas relaciones son posibles, hay más de un curso de primero y por eso la misma asignatura se imparte en varias aulas. Ahora bien, Don Rómulo quiere saber en qué aula debe dar su clase de discreta, y pare ello pregunta en secretaría. ¿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=Rómulo Melón,…},{Cod=MD,….}), ({DNI=6666666, NombreYApe=Rómulo Melón,…},{Cod=IS,….}),…}

Asignatura-Aula =

{ ({Cod=MD….}, {Edif=Mates, NumAula=S103}), ({Cod=MD….}, {Edif=Biológicas, NumAula=104}), ({Cod=IS….}, {Edif=Mates, NumAula=S103}), ({Cod=IS….}, {Edif=Biológicas, NumAula=104}) }

Profesor-Aula = {

({DNI=6666666, NombreYApe=Rómulo Melón,…}, {Edif=Mates, NumAula=S103}), ({DNI=6666666, NombreYApe=Rómulo Melón,…}, {Edif=Biológicas, NumAula=104}), …}

Don Rómulo sabe que da 2 asignaturas, cada una en un aula, pero sigue sin saber a dónde tiene que ir a dar MD.

Conclusión:

(6)

Asignaturas Alumnos Matrícula Aulas Imparte Supervisa Profesores

Apellidos y Nombre Domicilio Teléfono

Apell. y Nombre Teléfono COU Código Título Núm.

Créditos Edificio Número Nota DNI DNI Supervisado Supervisor

Calle Número Ciudad

Domicilio

2.4 Restricciones

Con los elementos anteriores tenemos una primera aproximación a los diagramas ER, en la que tenemos definidos los elementos principales de los diagramas. Sin embargo, en el modelo ER también se pueden definir numerosas restricciones sobre los tipos de entidades y tipos de relaciones.

Ej.: En la relación 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 debería ser una instancia válida de la relación. Def:

Las restricciones son propiedades que se asocian a un tipo de entidad o de relación.

Las instancias válidas del tipo de entidad o relación son aquellas en las que se verifique el conjunto de restricciones asociadas.

Observaciones:

Las restricciones son parte del diseño de la BD igual que los tipos de entidades o de relaciones. Los SGBD se encargan de comprobar que la instancia verifica las restricciones más usuales.

(7)

Ej.: En el caso anterior, una vez incluida la restricción, el SGBD no nos permitiría insertar la segunda tupla.

2.4.1Cardinalidad de un tipo de relación

Def: Cardinalidad de una entidad en una relación (nivel de instancias)

Sea r una relación entre tipos de entidades E1, E2, …, Ek, entonces se dice que:

El cardinal de Ei en r es n si dados e1∈E1, …, ei-1∈Ei-1, ei+1∈Ei+1,…ek∈ek 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 e1∈E1, … , ei-1∈Ei-1, ei+1∈Ei+1,…,en∈Ek 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 relación (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 relación con una restricción de cardinalidad =n o <=n si en todas las instancias válidas del tipo de relación se verifica la restricción. En el caso en que un tipo de entidad participe varias veces en el tipo de relación se podrá establecer una restricción para cada papel.

Ejs.: 1.

(8)

País R

Personas Nacida

Cada persona tiene un único país de nacimiento, es decir, fijada una persona, existe un país,

Por lo que parece lógico poner la restricción =1 para el tipo de entidad país en el tipo de relación nacida. Sin embargo, fijado un país hay una cantidad no determinada en general de personas nacidas allí, por lo que no ponemos ninguna restricción sobre el tipo de entidad personas.

2. Fijado un alumno puede haberse matriculado en cualquier número de asignaturas  no hay restricción sobre asignatura en la relación matrícula.

Fijada una asignatura, puede haberse matriculado sobre ella un número cualquiera de alumnos  no hay restricciones sobre el tipo de entidad alumnos en la relación matrícula. 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 restricción de cardinal: un profesor puede supervisar a un número indeterminado de profesores.

4. Tipo de relación 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. Restricción de cardinal para aulas: <= 1.

Dada una asignatura y un aula, puede haber varios profesores (ej.: uno de mañana y otro de tarde) o ninguno.

NOTA: Durante el diseño de la BD se nos plantean problemas que no estaban aclarados desde el principio y que nos habían 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 restricción directamente sobre la línea (=1, <= 10…) o, más común:

a) Restricciones de una a muchas, de muchas a una , de una a una Concepto:

Dado un tipo de relación R entre tipos de entidad E1, E2, …., En se puede especificar una restricción de cardinalidad distinguiendo si el tipo de entidad tiene restricción <= 1 o =1 diremos que participa con cardinalidad una o no tiene ninguna restricción (cardinalidad muchas).

Si A participa con cardinalidad una en el tipo de relación R lo representaremos:

A R

El caso de muchas se representa con una línea sin flecha (como hasta ahora, porque no tiene restricción).

Ej.:s 1.

(9)

País R Personas Nacida O bien País R Personas Nacida =1

2. Matrícula: Se queda como está.

3. Profesores y supervisores:

Supervisa Profesor

Supervisado Supervisor

4. Tipo de relación imparte:

Asignatura

Profesor Aula

Imparte

Existen otras formas alternativas de mostrar la participación, por ejemplo mostrar las relaciones 1 a 1 poniendo un 1 sobre cada extremo de la línea, o un 1 y un símbolo ∞ para relaciones de una a muchas.

2.4.2 Participación de una entidad en una relación

Sea r una relación definida sobre los tipos de entidades E1, …, Em y sea Ej ∈ {E1,…Em}:

Participación:

Def.: Se dice que la participación de la entidad e ∈ Ej en r es n ( n ∈ N) si e ∈ Ej aparece en

(10)

Participación total:

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

Ej.: Consideremos la siguiente relación 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 participación 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 participación en los esquemas

- Def.: Una restricción de participación (min,max) (min ∈ N, max ∈ N) de un tipo de entidades Ej en un tipo de relación R indica que en todas las instancias válidas de la BD se verifica:

e ∈ Ej  participación de e en R está entre min y max.

- Def.: Una restricción de participación total de un tipo de entidades Ej en un tipo de relación R indica que en todas las instancias válidas de la BD, se verifica que Ej tiene una participación total.

Ej.:s

1. La participación de alumno en matrícula tiene una restricción de participación total. 2. La participación de profesor en imparte tiene una restricción de participación (0, 6). Diagramas ER

La restricción de participación (min,max) se representa: Asignatura

Profesor Aula

Imparte

(0,6)

La restricción de participación total se representa como:

Alumno Matrícula Asignatura

(11)

2.4.3 Unicidad de entidades: Claves

Las entidades deben poder distinguirse unas de otras a través de los valores de sus atributos. Interesa encontrar un conjunto de atributos lo más pequeño posible que nos permita distinguir unas entidades de otras. Estos conjuntos serán 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 válida 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 relación binaria R en la que F debe tener una restricción de cardinalidad <= 1.

- Los atributos que F aporta para la clave candidata de E deben ser atributos de una clave candidata de F.

- La participación de E en R debe ser total. Observación:

La segunda parte de la Def.: se refiere al caso particular de los tipos de entidades débiles que explicaremos más adelante. En general los atributos de la superclave pertenecen al tipo de entidad.

Ejs.:

- En el caso de alumnos, el conjunto {teléfono} NO es una superclave, porque puede haber varias personas con el mismo número de teléfono (ej. 2 hermanos). Tampoco podemos tomar como superclave ApellidosyNombre porque puede repetirse. Una posible superclave es {DNI}.

- El caso de profesores es análogo al anterior

- Para asignaturas tenemos en principio 2 superclaves {título} y {código}. - Para aulas la única superclave es {Edificio, número}.

Propiedad:

Si S es una superclave y S ⊆ S’, entonces S’ superclave Ej.:

En el caso de asignaturas tenemos en realidad 6 superclaves

{título} , {código}, {título, núm.creditos}, {código, núm.créditos}, {título, código}, {título, código, núm.creditos}.

Clave candidata.

Def.: Se llama clave candidata de un tipo de entidad a una superclave que no contiene ningún subconjunto que también sea superclave. (Conjunto mínimo de atributos que forma una superclave).

Clave primaria.

Se llama clave primaria a la clave candidata seleccionada por el diseñador para distinguir entre las entidades de cada instancia.

Ejs.:

En el caso de alumnos tenemos una única clave candidata {dni} que será también la clave primaria.

En el caso de profesores es idéntico: tenemos una única clave candidata {dni} que será también la clave primaria.

En el caso de asignaturas tenemos dos claves candidatas {código} y {título}. Elegimos como clave primaria {código}, porque:

1) es posible que en el futuro haya dos asignaturas con el mismo título (ej. : cambio de planes de estudio) pero parece sensato obligar a que siempre tengan códigos distintos.

(12)

2) El código es más fácil de introducir (para buscar la información) (y los índices más rápidos, pero aún no hemos hablado de índices).

En el caso de aulas, la única superclave {edificio, núm.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 débiles

Un tipo de entidades que no tiene suficientes atributos para formar una clave primaria se denomina tipo de entidades débil.

Ej.:

Supongamos que estamos diseñando una BD para CDs de música. Vamos a utilizar la siguiente información:

CD : Título del CD, intérprete, núm. serie Canción: Título, duración

También deseamos relacionar las canciones con el CD al que pertenecen. Esta relación será de muchas a una entre canciones y CD´s (a cada canción le corresponde un CD).

canciones en CD’s

títuloCD intérprete Núm.serie

título duración

Ahora bien:

El núm.serie del CD no se puede repetir en dos CD´s diferentes.

En cambio, en diferentes CD’s puede aparecer la misma canción (mismo título) y puede darse (desgraciada casualidad) con la misma duración.

Por Ej.: supongamos que la canción “Only You” aparece en un CD de “The Platters” y

en un CD de “Cranberries” y con la misma duración. Sin embargo, son canciones diferentes (diferentes intérpretes), es decir, entidades diferentes:

{ {título=”Only You”, Duración=2’30”}, { título =”Only You”, Duración=2’30”}} ( multiconjunto! )

Por tanto {título, duración} no es superclave y el tipo de entidad no puede tener una clave primaria formada sólo por sus atributos.

Sin embargo, si incluimos el núm de serie del CD en la clave sí que tendremos una superclave, clave candidata y clave primaria.

Clave primaria del tipo de entidad canciones: {núm.serie, título, duración} .

Utilidad de las entidades débiles

También queremos relacionar cada canción con su autor o autores. Un autor viene dado por su DNI que no puede repetirse.

(13)

canciones CD’s títuloCD intérprete Núm.serie título duración en compositores Autor DNI Diagrama ER

Los tipos de entidad débiles se representan con rectángulos dobles, y el tipo de relación (o los tipos) que permiten formar la clave se indican con un doble rombo.

canciones CD’s

títuloCD intérprete Núm.serie

título duración

en

2.5 Diagramas entidad relación extendidos (EER)

Los conceptos básicos del modelo E-R pueden modelar la mayoría de las situaciones, pero algunos aspectos se pueden modelar más adecuadamente con el modelo E-R extendido.

Nuevas características: - Generalización - Agregación - Especialización - Herencia de atributos - ... 2.5.1 Generalización Def.:

Un tipo de entidades E es una generalización de un tipo de entidades R cuando los atributos de E están incluidos en los atributos de R.

Ejs.:

El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una generalización de alumnos (que tiene además el atributo COU).

El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una generalización de profesores.

Un tipo de entidades película puede ser una generalización de los tipos de entidades musical, documental, melodrama …

Observación:

(14)

Diagramas EER

La generalización se representa con un triángulo que incluye el texto is a

alumnos profesores

personas

is a

Apellidos y Nombre Domicilio Teléfono

DNI

COU

2.5.2 Agregación

El modelo E-R no permite establecer relaciones entre relaciones. Def.:

La agregación 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 rectángulo todos los componentes de la agregación. 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 también un árbitro. Nos interesa determinar:

Qué equipos han jugado entre sí y con qué resultado Quién ha arbitrado cada partido.

Con el modelo E/R básico:

Casa Equipos Árbitros Partido Resultado Fuera de casa

(15)

Sin embargo, si es necesario incluir las empresas que publicitan sus productos en un partido, ¿cómo se logra?

Sería necesario introducir un tipo de entidad Empresas y un tipo de relación Anuncia. Anuncia debería relacionar Empresas con Partidos, pero no existe esta entidad.

Posibilidad: una nueva entidad ternaria entre Equipos y Empresas, pero esto daría lugar a redundancia en los atributos de Partido.

Solución: una agregación denominada Partidos, que se tratará como un tipo de entidad y que puede relacionarse con Empresas.

Equipos Árbitros Resultado Fuera de casa Juega con Casa Arbitra Partidos Empresas Anuncia

(16)

Diagrama ER completado DNI Asignaturas Alumnos Matrícula Aulas Imparte Supervisa Profesores

Apellidos y Nombre Domicilio Teléfono

Apell. y Nombre Teléfono COU Código Título Núm.

Créditos Edificio Número Nota DNI Supervisado Supervisor

Calle Número Ciudad

Domicilio

(0,6)

Observaciones:

- Además 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:

- Diseño de alto nivel: Expresa con bastante precisión el esquema conceptual

- Los diagramas de E-R permiten mantener una visión global del diseño y favorece la comunicación entre los diseñadores.

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 más bajo nivel.

Modelo ER Modelo ER

| |

| modelo X (ej. relacional)

| |

V V

Referencias

Documento similar

El Acuerdo de 12 de febrero de 2018, de la Comisión del Distrito Único Universitario de Andalucía, por el que establece el procedimiento de admisión para el curso

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

Sabemos que, normalmente, las ​cookies deben ser almacenadas y enviadas de vuelta al servidor sin modificar; sin embargo existe la posibilidad de que un atacante

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

Este parón o bloqueo de las ventas españolas al resto de la Comunidad contrasta sin em- bargo con la evolución interior de ese mismo mercado en cuan- to a la demanda de hortalizas.

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación