42
Tema 2 Modelos de bases de datos 2 Índice Tipos de modelos de datos Modelo entidad-relación Modelo relacional Modelo orientado a objetos

Modelo E-R

Embed Size (px)

Citation preview

Page 1: Modelo E-R

Tema 2

Modelos de bases de datos

2

Índice

Tipos de modelos de datos

Modelo entidad-relación

Modelo relacional

Modelo orientado a objetos

Page 2: Modelo E-R

3

Modelos de datos

Ofrecen un modo de describir el diseño de bases de datos en los niveles físico, lógico y de vistas

Colección de herramientas para describirDatos

Relaciones entre los datos

Semántica de los datos

Restricciones de consistencia

Existen varios tipos de modelos de datos

4

Tipos de modelos de datos

Modelos conceptuales o de alto nivelUtilizan conceptos cercanos al modo en que los usuarios perciben los datos de la BD.

Permiten la construcción de un esquema conceptual (datos y su relaciones) a partir de los requisitos del usuario

Modelo entidad-relaciónConsiste en una colección de objetos básicos (entidades) y de las relaciones entre ellos.

Se usa mucho en el diseño de bases de datos

Modelo de datos orientado a objetosExtensión del modelo entidad-relación con los conceptos de encapsulación, métodos e identidad de los objetos.

Page 3: Modelo E-R

5

Tipos de modelos de datos

Modelos de implementaciónUtilizan conceptos que pueden ser entendidos por los usuarios finales de la BDPermiten la construcción de un esquema lógico que represente correcta y eficientemente al esquema conceptualPueden ser implementados con facilidad por un SGBD porque no están muy alejados del modo en que los datos se almacenan en el disco

Modelo relacionalUsa una colección de tablas para representar tanto los datos como sus relacionesModelo más ampliamente usado

Modelo de datos semiestructuradoPermite especificación de datos donde los elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos de atributos (XML)

Otros modelos antiguosModelo de datos en redModelo de datos jerárquico

6

Tipos de modelos de datos

Modelos físicos o de bajo nivelProporcionan detalles de cómo se almacenan los datos en el computador.

Representan información como el formato y el orden de registros,caminos de acceso a datos, etc.

Dirigidos a especialistas en computación y gestión de datos, no a usuarios finales.

Page 4: Modelo E-R

7

Modelo entidad-relación

Modelo de datos de alto nivel que nos permite diseñar el esquema conceptual de una BD.

Consta de objetos básicos (entidades) y de relaciones entre ellos (relaciones).

Las entidades se describen por un conjunto de atributos.

Diagrama E-RRectángulos => entidades

Elipses => atributos

Rombos => relaciones

Ciertas restriccionescorrespondencia de cardinalidades entre entidades (uno a uno, uno a muchos, muchos a muchos)

8

Diagrama E-R

cliente

nombre-cliente

calle-cliente

ciudad-cliente

dni

número-cuenta

saldo

cuenta impositor

Page 5: Modelo E-R

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 un libro, o abstracta, como un día festivo o un concepto.

Una entidad está representada por un conjunto de atributos, que sirven para dar semántica a la entidad

Ej: el estudiante “Pedro García, 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 también se habla de tipo de entidad CLIENTE

En el diagrama E-R las entidades se representan con un rectángulo.

10

Atributos

Características 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 número_cuenta y saldo.

Cada atributo tiene asociado un dominioconjunto de valores permitidos para dicho atributo.

Ej: nombre_cliente puede ser cualquier cadena de caracteres de unacierta longitud

En el diagrama E-R los atributos se representan con una elipse.

Page 6: Modelo E-R

11

Atributo

Notación: 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 sólo una vez.

Ej.: {dni = 01234567Z, nombre_cliente = Manuel Vázquez Prieto, calle_cliente = Calle del Jazmín 7, ciudad_cliente = Madrid}

12

Atributos simples y compuestos:

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 nombre de una persona puede que nos interesedescomponerlo a su vez en nombre, primer apellido y segundo apellido por separado.

Se representan como elipses (atributos simples) unidos a otra elipse (atributo compuesto) que se une a la entidad.

Page 7: Modelo E-R

13

Atributos monovalor y multivalor

Se llaman atributos multivalor a aquellos que pueden contener más de un valor simultáneamente, y monovalor a los que sólo pueden contener un valor.

Ej.: 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 multivalor.

Los atributos multivalor se representan con dos elipses concéntricas

14

Atributos derivados y almacenados

Se dice que un atributo es derivado si obtenerse a partir de otros atributos o entidades relacionados

Ej.: un atributo edad puede obtenerse a partir de otro atributo fecha de nacimiento.

Los atributos derivados se representan con un trazo punteado.

Page 8: Modelo E-R

15

Ejemplo atributos

16

Valores nulos

El valor nulo tiene dos modos de uso semánticamente 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 información.

Ej. atributo ALTURA en una entidad JUGADORES.

Ambigüedad: 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

Page 9: Modelo E-R

17

Relaciones

Una relación es un vínculo o asociación entre varias entidades {(e1, ..., en) | e1 ∈ E1, e2 ∈ E2, ..., en ∈ En} con ei entidades individuales y Ei conjuntos de entidades.

Se dice que los conjuntos de entidades E1, E2, … , En participan en la relación.Representa el producto cartesiano E1 x E2 x ... x EnEj.: Sea {a1, a2, a3, a4} un conjunto de entidades de tipo cliente y {b1,b2,b3} un conjunto de entidades de tipo cuentas. Una posible relación: {(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 relación es el número de entidades que asociaRelación binaria: asocia dos entidadesRelación ternaria: asocia tres entidadesRelación recursiva: asocia una entidad consigo misma

18

Roles

La función que desempeña una entidad en una relación se denomina rol de esa entidad.

En general, los roles están implícitos y no se suelen especificar.

Resultan útiles cuando el significado de una relación necesita aclaración

P.ej: en relaciones recursivas

Profesor

SupervisadoSupervisor

Supervisa

Page 10: Modelo E-R

19

Atributos

Una relación puede incluir un nombre y unos atributos que la caractericen

pero es recomendable que estos últimos sólo aparezcan en ella si no pueden ser añadidos a alguna de las entidades que participan de la relación.

20

Diseño

Un buen diseño debe serConciso

Fácil de comprender

Fácil de mantener

Eficiente

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

Dos peligros importantes a evitarRedundancia

Información repetida

IncompletitudAspectos mal modelados

Page 11: Modelo E-R

21

Cuestiones de diseño

Pasos en el diseño de un diagrama E-R:1. Elección de los tipos de entidad y sus atributos.

2. Elección de los tipos de relación.

3. Restricciones

22

Ejemplo: Diseño de una base de datos para la secretaría de una facultad

Se desea gestionar (almacenar, consultar, actualizar, …) la información correspondiente a la secretaría de una facultad.

Esta es la información de la que partimos:1. Por cada alumno se requiere la información: DNI, Apellidos y

nombre, domicilio, teléfono y acceso (que indica el tipo de acceso a la universidad). También se precisa conocer en cada momento las asignaturas en las que el alumno está matriculado, así como la nota en cada asignatura. Un alumno sólo puede matricularse en una asignatura una vez, y debe matricularse al menos en una.

2. Por cada asignatura se requiere: código, título y núm de créditos. Puede haber varias asignaturas con el mismo número de créditos, pero todas tienen distinto código y distinto título.

Page 12: Modelo E-R

23

Ejemplo: Diseño de una base de datos para la secretaría de una facultad

1. Esta es la información de la que partimos:3. Cada asignatura puede estar impartida por uno o más 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 teléfono. El número máximo de asignaturas que puede impartir un profesor es 6, aunque puede que no imparta ninguna.

4. Algunos profesores tienen un supervisor (sólo 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 (essiempre la misma). El aula se identifica mediante el nombre de edificio y el número de aula. Se supone que dentro del mismo edificio cada aula tiene un número diferente.

24

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 a 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:

Page 13: Modelo E-R

25

Elección 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 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=12}{DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=LPI, Título=Laboratorio de programación I, Créditos=X}

Redundancia (información de alumnos repetida)

26

Elección 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 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í.

No es relacional.

Page 14: Modelo E-R

27

Elección 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 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 (información de asignaturas repetida)

28

Elección de los tipos de entidad y sus atributos

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.

Page 15: Modelo E-R

29

Elección 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 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

30

Elección de los tipos de entidad y sus atributos

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

Los restantes tipos de entidad serán: PROFESORES y AULAS.

Los atributos de cada tipo de entidad serán:Alumnos: DNI, Apellidos y Nombre, Domicilio, teléfono y acceso

Asignaturas: Código, título, y núm. Créditos

Profesores: DNI, Apellidos y nombre, Domicilio y teléfono

Aulas: Edificio y núm. edificio

Page 16: Modelo E-R

31

Elección de los tipos de entidad y sus atributos

Aún nos falta un atributo, que es la nota

¿Dónde la ponemos?En alumnos NO

un alumno muchas notas

En asignaturas NOuna asignatura mucho alumnos

Va a ser un atributo del tipo de relación matrícula.

32

Elección de los tipos de relación

El primer tipo de relación es MATRICULA 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 roles supervisor y supervisado.

Page 17: Modelo E-R

33

Elección de los tipos de relación

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

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

34

Elección de los tipos de relación

Diferencias: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).

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.

Page 18: Modelo E-R

35

Elección de los tipos de relación

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.

36

Elección de los tipos de relación

Sin embargo, con la propuesta b) sí se le puede asignar a cada profesor un aula concreta para cada una de sus asignaturas.

ConclusiónUna relación ternaria tiene en general más información que 3 binarias.

Page 19: Modelo E-R

37

Ejemplo: Diseño de una base de datos para la secretaría de una facultad

AsignaturasAlumnos Matrícula

AulasImparte

Supervisa

Profesores

Apellidos y Nombre Domicilio Teléfono

Apell. y Nombre Teléfono acceso Código TítuloNúm.Créditos

Edificio Número

Nota

DNI

DNI

SupervisadoSupervisor

Calle Número Ciudad

Domicilio

38

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

Page 20: Modelo E-R

39

Restricciones

Ej.: En la relación supervisa un profesor puede tener a lo sumo un supervisor, pero el diagrama anterior permite

Que no debería ser una instancia válida de la relación porque algunos profesores pueden tener un supervisor, pero sólo 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 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.

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

Page 21: Modelo E-R

41

Cardinalidad de un tipo de relación

La cardinalidad de una relación es el número de entidades particulares que están relacionadas con una entidad particular de otro conjunto de entidades

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, 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 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

42

Cardinalidad de un tipo de relación

Consideremos la siguiente relación (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

Page 22: Modelo E-R

43

Cardinalidad de un tipo de relación

Si asumimos que en la instancia de la BD se tieneA={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 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 larestricció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.

Page 23: Modelo E-R

45

Restricciones de cardinalidad

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.

PaísRPersonas Nacida

46

Restricciones de cardinalidad

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.

Page 24: Modelo E-R

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 restricción de cardinal

un profesor puede supervisar a un número 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.

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.

Page 25: Modelo E-R

49

Restricciones de cardinalidad

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.

50

Diagramas ER

Hay dos formas de expresar las restricciones de cardinalidadsobre tipos de relaciones en los diagramas:

O bien poniendo la restricción directamente sobre la línea (=1, <= 10…)

Restricciones de uno a uno, uno a muchos, muchos a uno, muchos amuchos

Page 26: Modelo E-R

51

Diagramas ER

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

52

Diagramas ER

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

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

A R

Page 27: Modelo E-R

53

Diagramas ER

Ejemplo

O bien

PaísRPersonas Nacida

País R Personas Nacida 1 N

54

Diagramas ER

Profesores y supervisores:

Supervisa

Profesor

SupervisadoSupervisor

Page 28: Modelo E-R

55

Diagramas ER

Tipo de relación IMPARTE:

Asignatura

Profesor Aula

Imparte

56

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}:

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

ParticipaciónSe 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.

Page 29: Modelo E-R

57

Participación de una entidad en una relación

Consideremos la siguiente relación r de tipo AxBxC:

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.

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 participación en los esquemas

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.

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.

Page 30: Modelo E-R

59

Restricciones de participación en los esquemas

La participación de alumno en matrícula tiene una restricción de participación total.

La participación de profesor en imparte tiene una restricción de participación (0, 6).

60

Diagramas ER

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

Asignatura

Profesor Aula

Imparte

(0,6)

Page 31: Modelo E-R

61

Diagramas ER

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

Alumno Matrícula Asignatura

62

Unicidad de entidades

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.

Page 32: Modelo E-R

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

Sean entidades débilesLos 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.

En general los atributos de la superclave pertenecen al tipo de entidad.

64

Superclaves

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

Page 33: Modelo E-R

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 {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}.

66

Claves candidata y primaria

Clave candidata.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 eldiseñador para distinguir entre las entidades de cada instancia.

Page 34: Modelo E-R

67

Claves candidata y primaria

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 aulas, la única superclave {edificio, núm.aula} es la única clave candidata y la clave primaria.

68

Claves candidata y primaria

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

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.

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

Page 35: Modelo E-R

69

Diagramas ER

En los diagramas ER los atributos de la clave primaria se representan con sus nombres subrayados.

70

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.

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. serieCanción: Título, duraciónTambié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).

Page 36: Modelo E-R

71

Tipos de entidad débiles

canciones CD’sen

títuloCDintérprete

Núm.serietítulo duración

72

Tipos de entidad débiles

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”}}

Valores repetidos

Page 37: Modelo E-R

73

Tipos de entidad débiles

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

74

Diagrama ER

Diagrama ERLos 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ítuloCDintérprete

Núm.serietítulo duración

en

Page 38: Modelo E-R

75

Utilidad de las entidades débiles

Si también queremos relacionar cada canción con su autor o autores donde un autor viene dado por su DNI que no puede repetirse.

canciones CD’s

títuloCDintérprete

Núm.serietítulo duración

en

compositores

Autor

DNI

76

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.

Generalización

Agregación

Page 39: Modelo E-R

77

Generalización

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.

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

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

78

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

acce

Page 40: Modelo E-R

79

Agregación

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

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.

80

Diagramas EER

Se denota incluyendo en un rectángulo todos los componentes de la agregación.

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.

Page 41: Modelo E-R

81

Diagramas EER

Con el modelo E/R básico:

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

¿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 existeesta entidad.

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

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

Page 42: Modelo E-R

83

Diagramas EER

Equipos

Árbitros

Resultado

Fuera de casa

Juega

Casa

Arbitra

Partidos

Empresas

Anuncia

84

Conclusiones

Ventajas del modelo E-RDiseñ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.