inf312 - cap. 3 modelo entidad-relación

14
Rodolfo Arana Gonzales 1 1 Bibliografía: Introducción a los sistemas de bases de datos Date C. J. Addison Wesley, 6ta. Edición,1999 Fundamentos de bases de datos Henry F. y Abraham Silverschatz Sistemas de Bases de Datos. Diseño, Implementación y Admón Peter Rob y Carlos Coronel Rodolfo Arana Gonzales Modelos de datos Alto nivel o Conceptuales De implementación o Lógicos Bajo nivel o Físicos 2 El Modelo Entidad-Relación o Entidad-Vínculo cae dentro de la clasificación de Modelos de Datos de Alto Nivel o Conceptuales. Rodolfo Arana Gonzales Proceso del diseño de Bases de Datos 3 Minimundo Recolección de análisis de requerimientos Diseño Conceptual Diseño Lógico Diseño Físico Modelo Entidad-Relación Modelo Orientado a Objetos Modelo Relacional Independiente Del SGBD Específico para Cada SGBD Rodolfo Arana Gonzales Conceptos del Modelo ER Entidad. Objeto del mundo real, distinguible de otros objetos. Algunos autores utilizan el nombre “Ejemplar de Entidad” Tipos de entidades. Conjunto de entidades que comparten las mismas propiedades o atributos. También se les puede referir como “Clases de Entidades” Atributos. Propiedades específicas que describen a una entidad Dominio. Conjunto de valores posibles para un atributo. Por ejemplo: el dominio para el atributo calificación son todos los enteros positivos de 0 a 100 4 Rodolfo Arana Gonzales Conceptos del Modelo ER 5 EMPLEADO ci fechaN nombre salario Tipo de entidades Tipo de atributos Representación de los Tipos de Entidades y Tipos de Atributos Rodolfo Arana Gonzales Tipos y Ejemplares de Entidades 6 EMPLEADO ci fechaN nombre salario vigilante goma-800510 10/5/1980 Adrían Gómez 10,000 Tipo de Entidades o Clase de Entidades: Se refiere a un concepto, prototipo o modelo Ejemplar de Entidad: Se refiere a un objeto real (instancia) Los términos: Tipos de Entidades, tipos de atributos y tipos de relaciones son útiles para fines del modelado Un error común es confundir ambos términos Rodolfo Arana Gonzales

Upload: elias-lopez-j

Post on 04-Aug-2015

40 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 1

1

Bibliografía: Introducción a los sistemas de bases de datos Date C. J. Addison Wesley, 6ta. Edición,1999 Fundamentos de bases de datos Henry F. y Abraham Silverschatz Sistemas de Bases de Datos. Diseño, Implementación y Admón Peter Rob y Carlos Coronel

Rodolfo Arana Gonzales

Modelos de datos

Alto nivel o Conceptuales

De implementación o Lógicos

Bajo nivel o Físicos

2

El Modelo Entidad-Relación o Entidad-Vínculo cae

dentro de la clasificación de Modelos de Datos de

Alto Nivel o Conceptuales.

Rodolfo Arana Gonzales

Proceso del diseño de Bases de Datos

3

Minimundo

Recolección de análisis

de requerimientos

Diseño Conceptual

Diseño Lógico

Diseño Físico

Modelo Entidad-Relación

Modelo Orientado a Objetos

Modelo Relacional Independiente

Del SGBD

Específico para

Cada SGBD

Rodolfo Arana Gonzales

Conceptos del Modelo ER

Entidad. Objeto del mundo real, distinguible de otros objetos.

Algunos autores utilizan el nombre “Ejemplar de Entidad”

Tipos de entidades. Conjunto de entidades que comparten las

mismas propiedades o atributos. También se les puede referir

como “Clases de Entidades”

Atributos. Propiedades específicas que describen a una

entidad

Dominio. Conjunto de valores posibles para un atributo. Por

ejemplo: el dominio para el atributo calificación son todos los

enteros positivos de 0 a 100

4 Rodolfo Arana Gonzales

Conceptos del Modelo ER

5

EMPLEADO

ci

fechaN

nombre salario

Tipo de entidades

Tipo de atributos

Representación de los Tipos de Entidades y Tipos de Atributos

Rodolfo Arana Gonzales

Tipos y Ejemplares de Entidades

6

EMPLEADO

ci

fechaN

nombre salario

vigilante

goma-800510

10/5/1980

Adrían Gómez 10,000

Tipo de Entidades o Clase de

Entidades: Se refiere a un concepto,

prototipo o modelo

Ejemplar de Entidad:

Se refiere a un objeto real

(instancia)

Los términos: Tipos de Entidades, tipos

de atributos y tipos de relaciones son

útiles para fines del modelado

Un error común es confundir ambos términos

Rodolfo Arana Gonzales

Page 2: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 2

Atributos Simples y Compuestos

Compuestos. Se pueden dividir en componentes más pequeños.

Simples o Atómicos. Son aquellos que no son divisibles.

7

EMPLEADO fechaN

ci

nombre salario

nPila

paterno materno

Técnicamente podría

objetarse que “paterno”

sea un atributo atómico,

por dividirse a su vez en

caracteres.

Conceptualmente, sin

embargo, el apellido

paterno de una persona

ya no puede dividirse en

componentes más

pequeños.

Rodolfo Arana Gonzales

Atributos Monovaluados y Multivaluados

Monovaluados. Tienen un solo valor para una

entidad en particular.

Multivaluados. Pueden tener más de un valor, incluso

se pueden manejar límites inferior y superior.

8

EMPLEADO

ci

fechaN

nombre salario

nPila

paterno materno

telefono

En ciertas circunstancias

podría ser importante

almacenar más de un

número telefónico (casa,

oficina, etc.)

Rodolfo Arana Gonzales

Atributos Almacenados y Derivados

Almacenados. Aquellos que se guardan en la BD.

Derivados. Los que se pueden obtener a partir de los almacenados.

9

EMPLEADO

ci

fechaN

nombre salario

nPila

paterno materno

telefono

edad

El atributo “edad” se puede

calcular (derivar)

dinámicamente a partir del

atributo “fechaN”

Rodolfo Arana Gonzales

Atributos Clave

Una restricción importante de las entidades de un tipo es la restricción de clave o restricción de unicidad.

Un atributo clave identifica de manera única a cada entidad individual.

10

EMPLEADO

ci

fechaN

nombre salario

nPila

paterno materno

telefono

edad

Un atributo

clave aparece

subrayado

En este caso

el ci

Rodolfo Arana Gonzales

Tipos de Relaciones (o Vínculos)

Un tipo de Relaciones (o tipo de vínculos) es una

asociación entre dos o más tipos de entidades. Se

representa mediante un rombo que conecta a los tipos

de entidades.

11

EMPLEADO DEPARTAMENTO PERTENECE_A

Se dice que los tipos de entidades EMPLEADO y DEPARTAMENTO

participan en el tipo de relaciones (o vínculos) “PERTENECE_A”

Rodolfo Arana Gonzales

Nombres de Papeles

Cada tipo de entidades que participa en un tipo de

relaciones desempeña un papel (o rol) específico en

la relación o vínculo.

12

EMPLEADO DEPARTAMENTO PERTENECE_A

En la relación “PERTENECE_A” el tipo de entidades “EMPLEADO”

desempeña el papel de empleado o trabajador.

Con excepción de las relaciones recursivas, normalmente no es

necesario indicar los nombres de los papeles, ya que el nombre del

tipo de entidades se utiliza generalmente como el nombre del

papel.

Rodolfo Arana Gonzales

Page 3: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 3

Relaciones Recursivas

También llamadas unarias son aquellas en los que el mismo tipo de entidades participa más de una vez en un tipo de relaciones (o tipo de vínculos) con diferentes papeles (roles).

13

La relación SUPERVISION

asocia un empleado con un

supervisor y pertenecen ambos

al mismo tipo de entidades

EMPLEADO

supervisor supervisado

EMPLEADO

SUPERVISION

Rodolfo Arana Gonzales

Grado de un tipo de relaciones

Es el número de tipos de entidades que participan en un tipo de

relaciones (o tipo de vínculos)

Los tipos de relaciones de grado uno se llaman unarias

Los tipos de relaciones de grado dos se llaman binarias

Los tipos de relaciones de grado tres se llaman ternarias

14

EMPLEADO DEPARTAMENTO PERTENECE_A

PROVEEDOR PROYECTO SUMINISTRA

COMPONENTE

Relación binaria

Relación ternaria

supervisor supervisado

EMPLEADO

SUPERVISION

Relación unaria o recursiva

Rodolfo Arana Gonzales

Restricciones estructurales 1. Razón de Cardinalidad. Especifica el número de ejemplares

de relaciones en los que puede participar una entidad

Las relaciones de cardinalidad más comunes son

1:1, 1:N, M:N (uno a uno, uno a muchos, muchos a muchos)

15

EMPLEADO DEPARTAMENTO PERTENECE_A 1 N

EMPLEADO DEPARTAMENTO DIRIGE 1 1

ALUMNO MATERIA CURSA M N

Rodolfo Arana Gonzales

Restricciones estructurales

2. Restricción de Participación. Especifica si la existencia

de una entidad depende de que esté relacionada con otra

entidad a través del tipo de relaciones

Hay dos tipos de restricciones de participación: parcial y

total (llamadas también: opcional y obligatoria)

16

La participación total recibe a veces el nombre de

dependencia de existencia. Se indica con una línea

doble que conecta el tipo de entidades con la relación

o vínculo

EMPLEADO DEPARTAMENTO DIRIGE 1 1

Rodolfo Arana Gonzales

Restricciones estructurales

Ejemplo de diagrama de relación 1:1

17

EMPLEADO DIRIGE DEPARTAMENTO

e1

e2

e3

e4

e5

e6

e7

e8

d1

d2

d3

Nótese como no cualquier

empleado dirige a un

departamento. La

participación de

EMPLEADO en la relación

es por lo tanto parcial. En

cambio todo departamento

es dirigido por un

empleado. La participación

de DEPARTAMENTO en la

relación es total

Rodolfo Arana Gonzales

Restricciones estructurales

Ejemplo de diagrama de relación N:1

18

Nótese como cada

empleado pertenece a un

solo departamento y que a

un departamento

permanecen N empleados.

En ambos casos la

participación de las

entidades es total

EMPLEADO PERTENECE DEPARTAMENTO

e1 e2 e3 e4 e5 e6 e7 e8

d1 d2

d3

Rodolfo Arana Gonzales

Page 4: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 4

Restricciones estructurales

Ejemplo de diagrama de relación 1:N

19

Nótese como un proyecto

es controlado por un

departamento y un

departamento puede

controlar más de un

proyecto. Sin embargo no

todos los departamentos

controlan proyectos. La

participación de

DEPARTAMENTO en la

relación es parcial.

DEPARTAMENTO CONTROLA PROYECTO

d1

d2

d3

d4

d5

d6

d7

d8

p1

p2

p3

p4

p5

p6

p7

p8

Rodolfo Arana Gonzales

Restricciones estructurales

Ejemplo de diagrama de relación M:N

20

Nótese como todos los

alumnos toman al menos

una materia y una materia

es cursada al menos por

un alumno. La

participación de ambas

entidades en la relación es

total

a1

a2

a3

a4

m1

m2

m3

m4

m5

ALUMNO TOMA MATERIA

Estos diagramas nos pueden

auxiliar a determinar las

restricciones estructurales de

un tipo de relaciones

Rodolfo Arana Gonzales

Atributos de los tipos de relaciones

Los tipos de relaciones también pueden tener atributos

21

Por ejemplo: se puede incluir el atributo “FechaIni” en el

tipo de relaciones DIRIGE, para indicar la fecha en que un

gerente comenzó a dirigir un departamento

EMPLEADO DEPARTAMENTO DIRIGE 1 1

FechaIni

Rodolfo Arana Gonzales

Atributos de los tipos de relaciones

Los atributos de los tipos de relaciones 1:1 se pueden trasladar a

cualquiera de los tipos de entidades participantes.

22

En el caso de los tipos de relaciones 1:N un atributo solo se puede trasladar al tipo de entidades que está del lado N de la relación.

EMPLEADO DEPARTAMENTO DIRIGE 1 1

FechaIni FechaIni

EMPLEADO DEPARTAMENTO PERTENECE_A N 1

FechaIni FechaIni En una relación

N:M los atributos de

la relación no se

pueden trasladar

Rodolfo Arana Gonzales

Tipos de entidades débiles

No tienen atributos clave propios. Se identifican por su

relación con otras entidades. A ese otro tipo de entidad se le

conoce como propietario identificador

Al tipo de relaciones que asocia un tipo de entidades débiles

se le conoce como relación identificadora (o vínculo

identificador)

Los tipos de entidades débiles siempre tienen una

restricción de participación total, aunque no toda

existencia de dependencia resulta en un tipo de entidades

débiles

23 Rodolfo Arana Gonzales

Tipos de entidades débiles

24

Tanto el tipo de entidades débiles como su relación

identificadora se representan con líneas dobles

EMPLEADO DEPENDIENTE DEPENDIENTE_DE 1 N

ci

nombre

salario

nombre sexo

fechaN

Las entidades débiles siempre tienen

una restricción de participación total

con la relación identificadora

Propietario identificador

Relación

identificadora

Clave Parcial o atributo

discriminador

Rodolfo Arana Gonzales

Page 5: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 5

Tipos de Claves

Superclave. Es un conjunto de uno o más atributos que tomados

colectivamente, permiten identificar de manera única a una

entidad.

Clave Candidata. Una superclave mínima, tal que no contenga

otras superclaves.

Clave Primaria. Clave candidata que es elegida para identificar

una entidad, buscando que los atributos que la conforman nunca

cambien.

Clave Foránea. Se dice de la clave primaria de la cual dependen

otras entidades (como las entidades débiles).

Clave Parcial. En el caso de una entidad débil, es un atributo que

se utiliza como discriminador y que junto con la clave foránea

forma la clave principal.

25 Rodolfo Arana Gonzales

Superclaves

26

VEHICULO

matricula

num_eco

serie_motor marca modelo

chofer

Técnicamente, el

conjunto de todos los

atributos forman una

superclave, porque le

dan unicidad a la

entidad Pero igual cumplen los

siguientes subconjuntos:

num_eco, matricula;

maticula, serie_motor;

serie_motor, marca;

Etc,etc.

Rodolfo Arana Gonzales

Claves Candidatas

27

VEHICULO

matricula

num_eco

serie_motor marca modelo

chofer

En la entidad VEHICULO se pueden encontrar dos

superclaves mínimas (no se pueden dividir en otras

superclaves):

matricula y serie_motor

Como ambas describen unívocamente a la entidad se les

denomina claves candidatas

Rodolfo Arana Gonzales

De las claves candidatas:

matricula y serie_motor

Se elige a la que será la clave principal.

Como es más probable que el atributo “matricula”

cambie con el tiempo (como en un robo de placas), se

elige el atributo serie_motor como clave primaria

puesto que el número de serie del motor por lo general

no cambia

Claves Primarias (o principales)

28

VEHICULO

matricula

num_eco

serie_motor marca modelo

chofer

Rodolfo Arana Gonzales

Claves Foráneas

29

VEHICULO

matricula

num_eco

serie_motor marca modelo

chofer

El atributo “chofer” se puede considerar como clave foránea,

si en lugar de escribir nombres de personas como valores, se

indican códigos que hacen referencia al nombre del chofer en

otra entidad.

De esta manera se evita la redundancia, pues en vez de

escribir el mismo nombre varias veces (en el hipotético caso de

que tuviese resguardado más de un vehículo) solo se repetiría

el código del mismo

Rodolfo Arana Gonzales

Claves Parciales

30

El atributo “nombre” de la entidad

DEPENDIENTE no describe de manera

unívoca a la entidad puesto que puede

repetirse (puede haber 2 personas con el

mismo nombre). En este caso “nombre”

hace el papel de clave parcial o atributo

discriminador.

La clave principal de DEPENDIENTE

estará formada por su atributo “nombre”

(clave parcial) y el atributo “nss” de su

entidad propietaria (clave foránea).

EMPLEADO nss

DEPENDIENTE

nombre

sexo fechaN

parentesco

DEPENDIENTE_DE

1

N

Rodolfo Arana Gonzales

Page 6: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 6

Manejo de Relaciones ternarias

31

Algunas herramientas que se emplean en el diseño de BD

solo permiten Relaciones Binarias, por lo que es difícil

implementar algunas relaciones ternarias, como el siguiente

ejemplo:

PROVEEDOR PROYECTO SUMINISTRAR

num_prov num_proy

COMPONENTE

cantidad

num_comp

Rodolfo Arana Gonzales

Manejo de Relaciones ternarias

Ejemplo de diagrama de una

relación Ternaria

32

s1

s2

PROVEEDOR SUMINISTRAR

c1

c2

c3

COMPONENTE

PROYECTO

p1

p2

p3

Nótese como por cada

ejemplar de relación

“SUMINISTRAR” existen 3

participaciones

Ejemplo:

El proveedor s1 suministra los

componentes c1 y c2 al

proyecto p1 y el componente

c1 al proyecto p2

Rodolfo Arana Gonzales

Manejo de Relaciones ternarias

33

En estos casos las Relaciones Ternarias se pueden

representar como Tipos de Entidades Débiles, sin clave

parcial y con 3 Relaciones Identificadoras.

PROVEEDOR PROYECTO VS

num_prov num_proy

COMPONENTE

cantidad

num_comp

SUMINISTRO

SC

SCP

Rodolfo Arana Gonzales

Resumen de la notación ER

34

Tipo de atributos (monovaluados)

Tipo de atributos (multivaluados)

Tipo de entidades débiles

Tipo relación identificadora

Tipo de atributos derivados

Tipo relación

Participación parcial Participación total

Tipo de entidades

Rodolfo Arana Gonzales

Un primer ejemplo

35

Diagrama ER para la

base de datos

COMPAÑÍA

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

superv

isado

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

DEPENDIENTE_DE N

M

1

N 1

1 1

N

1

N

1

N

fechaIni

horas

Rodolfo Arana Gonzales 36

Base de datos COMPAÑÍA La compañía está organizada en departamentos. Cada departamento tiene un

nombre único, un número único y un cierto empleado que lo dirige, y nos interesa la fecha en que dicho empleado comenzó a dirigir el departamento. Un departamento puede estar distribuido en varios lugares.

Cada departamento controla un cierto número de proyectos, cada uno de los cuales tiene un nombre y un número únicos, y se efectúa en un solo lugar.

Almacenaremos el nombre, número de seguro social, dirección, salario, sexo y fecha de nacimiento de cada empleado. Todo empleado está asignado a un departamento, pero puede trabajar en varios proyectos, que no necesariamente estarán controlados por el mismo departamento. Nos interesa el número de horas por semana que un empleado trabaja en cada proyecto, y también quién es el supervisor de cada empleado.

Queremos mantenernos al tanto de los dependientes de cada empleado con el fin de administrar los términos de sus seguros. Almacenaremos el nombre, sexo y fecha de nacimiento de cada dependiente, y su parentesco con el empleado.

Rodolfo Arana Gonzales

Page 7: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 7

Base de datos COMPAÑÍA

Una compañía está organizada en departamentos. Cada departamento tiene un nombre único, un número único y un cierto empleado que lo dirige, y nos interesa la fecha en que dicho empleado comenzó a dirigir el departamento. Un departamento puede estar distribuido en varios lugares.

Cada departamento controla un cierto número de proyectos, cada uno de los cuales tiene un nombre y un número únicos, y se efectúa en un solo lugar.

Almacenaremos el nombre, número de seguro social, dirección, salario, sexo y fecha de nacimiento de cada empleado. Todo empleado está asignado a un departamento, pero puede trabajar en varios proyectos, que no necesariamente estarán controlados por el mismo departamento. Nos interesa el número de horas por semana que un empleado trabaja en cada proyecto, y también quién es el supervisor de cada empleado.

Queremos mantenernos al tanto de los dependientes de cada empleado con el fin de administrar los términos de sus seguros. Almacenaremos el nombre, sexo y fecha de nacimiento de cada dependiente, y su parentesco con el empleado.

37

Azul - Entidades

Rojo - Relaciones

Verde - Atributos

Rodolfo Arana Gonzales

Paso 1. Identificar Entidades

38

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

PROYECTO

número

nombre lugar

DEPARTAMENTO

número

nombre

lugares

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

Se identifican cada una de las

entidades participantes, así

como sus respectivos

atributos

Rodolfo Arana Gonzales

Paso 2. Resolver relaciones

39

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

PROYECTO

número

nombre lugar

DEPARTAMENTO

número

nombre

lugares

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

SUPERVISIÓN es una

relación recursiva, puesto

que el tipo de entidades

EMPLEADO participa con

dos papeles (o roles)

Rodolfo Arana Gonzales

Paso 2. Resolver relaciones

40

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

Rodolfo Arana Gonzales

Paso 2. Resolver relaciones

41

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

Nótese como un tipo

de entidades puede

participar en más de

una relación

Rodolfo Arana Gonzales

Paso 2. Resolver relaciones

42

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

Rodolfo Arana Gonzales

Page 8: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 8

Paso 2. Resolver relaciones

43

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

Rodolfo Arana Gonzales

Paso 2. Resolver relaciones

44

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

DEPENDIENTE_DE

Rodolfo Arana Gonzales

Paso 3. Determinar cardinalidades

45

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

DEPENDIENTE_DE N

M

1

N 1

1 1

N

1

N

1

N

Rodolfo Arana Gonzales

Paso 4. Identificar participaciones

46

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

DEPENDIENTE_DE N

M

1

N 1

1 1

N

1

N

1

N

Una participación total

indica que todo ejemplar

de entidad participa al

menos una vez en la

relación

Rodolfo Arana Gonzales

Paso 5. Identificar Entidades débiles

47

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

DEPENDIENTE_DE N

M

1

N 1

1 1

N

1

N

1

N

El tipo de entidades

DEPENDIENTE no tiene

un atributo clave propio.

Depende del atributo

clave del tipo de

entidades EMPLEADO

Rodolfo Arana Gonzales

Paso 6. Identificar Atributos Clave

48

EMPLEADO Nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

DEPENDIENTE_DE N

M

1

N 1

1 1

N

1

N

1

N

Un atributo clave identifica de manera unívoca a un tipo de

entidades.

En DEPENDIENTE

la clave es la

combinación de su

atributo nombre y el

atributo Nss del tipo

de entidades

EMPLEADO

Rodolfo Arana Gonzales

Page 9: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 9

Paso 7. Identificar Atributos de Relaciones

49

EMPLEADO nss

nombre

nPila paterno materno

sexo

direc

sueldo

fechaN

SUPERVISIÓN

supervisor

su

pe

rvisa

do

DEPARTAMENTO

número

nombre

lugares

PROYECTO

número

nombre lugar

num_empleados

DEPENDIENTE

nombre

sexo fechaN

parentesco

PERTENECE_A

DIRIGE

CONTROLA

TRABAJA_EN

DEPENDIENTE_DE N

M

1

N 1

1 1

N

1

N

1

N

horas

fechaIni

Es necesario especificar la

fecha en que un

EMPLEADO comienza a

dirigir un

DEPARTAMENTO y las

horas que un EMPLEADO

trabaja en un PROYECTO

Rodolfo Arana Gonzales

El minimundo BIBLIOTECA

Una biblioteca escolar resguarda ejemplares de libros

para prestamos a sus usuarios.

Cada libro puede estar escrito por más de un autor.

Cualquier autor puede haber escrito varios libros.

Si actualmente no hay en existencia ejemplares

requeridos de un libro, un usuario puede hacer una

reservación del título para cuando esté disponible.

Si los ejemplares no se regresan a tiempo aplica una

multa que se impone al usuario.

50 Rodolfo Arana Gonzales

Desarrollando el Diagrama E-R

Paso 1 Identificar Entidades

Paso 2 Resolver Relaciones (vínculos)

Paso 3 Determinar Cardinalidades

Paso 4 Identificar Participaciones

Paso 5 Identificar Entidades débiles

Paso 6 Identificar Atributos CLAVE

51 Rodolfo Arana Gonzales

1. Identificar identidades

Una biblioteca escolar resguarda ejemplares de libros

para prestamos a sus usuarios.

Cada libro puede estar escrito por más de un autor.

Cualquier autor puede haber escrito varios libros.

Si actualmente no hay en existencia ejemplares

requeridos de un libro, un usuario puede hacer una

reservación del título para cuando esté disponible.

Si los ejemplares no se regresan a tiempo aplica una

multa que se impone al usuario.

52 Rodolfo Arana Gonzales

1. Identificar identidades

53

LIBRO

EJEMPLAR AUTOR

USUARIO

MULTA

Rodolfo Arana Gonzales

2. Resolver relaciones (vínculos)

Una biblioteca escolar resguarda ejemplares de libros

para prestamos a sus usuarios.

Cada libro puede estar escrito por más de un autor.

Cualquier autor puede haber escrito varios libros.

Si actualmente no hay en existencia ejemplares

requeridos de un libro, un usuario puede hacer una

reservación del título para cuando esté disponible.

Si los ejemplares no se regresan a tiempo aplica una

multa que se impone al usuario.

54 Rodolfo Arana Gonzales

Page 10: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 10

2. Resolver relaciones (vínculos)

55

LIBRO

ESCRIBE

EJEMPLAR

AUTOR

USUARIO PRESTAMO

RESERVA

MULTA

TIENE

SE_APLICA IMPUESTA_A

Hay que considerar que las

relaciones RESERVA Y

PRESTAMO son

independientes, aún

cuando el tipo de entidades

USUARIO participa en

ambas.

Rodolfo Arana Gonzales

3. Determinar Cardinalidades

56

LIBRO

ESCRIBE

EJEMPLAR AUTOR

USUARIO PRESTAMO

RESERVA

MULTA

TIENE

SE_APLICA IMPUESTA_A

N

M N M

M 1

N M

1 1

M M

Posibles valores:

1:1 uno a uno

1:N uno a muchos

N:M muchos a muchos

Rodolfo Arana Gonzales

4. Identificar Participaciones

57

LIBRO

ESCRIBE

EJEMPLAR AUTOR

USUARIO PRESTAMO

RESERVA

MULTA

TIENE

SE_APLICA IMPUESTA_A

N

M N M

M 1

N M

1 1

M M

Una participación total

indica que todo

ejemplar de entidad

participa al menos una

vez en la relación

Rodolfo Arana Gonzales

5. Identificar Entidades débiles

58

LIBRO

ESCRIBE

EJEMPLAR AUTOR

USUARIO PRESTAMO

RESERVA

MULTA

TIENE

SE_APLICA IMPUESTA_A

N

M N M

M 1

N M

1 1

M M

El tipo de entidades

EJEMPLAR no tiene

un atributo clave

propio. Depende del

atributo clave del tipo

de entidades libro

Relación identificadora

Entidad propietaria

Entidad débil

Rodolfo Arana Gonzales

6. Identificar Atributos Clave

59

LIBRO

ESCRIBE

EJEMPLAR AUTOR

USUARIO PRESTAMO

RESERVA

MULTA

TIENE

SE_APLICA IMPUESTA_A

N

M N M

M 1

N M

1 1

M M

id_autor

isbn

id_usuario

num

num_ejem

El atributo clave de

EJEMPLAR se compone

de su atributo

“num_ejem” y el atributo

clave isbn de LIBRO

Rodolfo Arana Gonzales

Notación alternativa

Otra forma de representar las restricciones

estructurales (razón de cardinalidad y restricción de

participación) es mediante la notación (min, max).

Significa que cada ejemplar de entidad debe participar

en por lo menos min ejemplares de relaciones y

cuando más en max ejemplares de relaciones.

min = 0 implica participación parcial.

min >= 1 implica participación total.

60 Rodolfo Arana Gonzales

Page 11: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 11

Notación alternativa

61

LIBRO

ESCRIBE

EJEMPLAR AUTOR

USUARIO PRESTAMO

RESERVA TIENE

(1, N)

(1, N)

(1, N)

(1, 1)

(0, 1) (0, N)

min = 0 participación parcial.

min >= 1 participación total.

(0, N)

(0, N)

Con el ejemplo anterior:

La razón de cardinalidad se determina

tomando los máximos de forma invertida.

ejem: (1,N),(1,1) = 1:N

Rodolfo Arana Gonzales

Mapeo del modelo ER al modelo

RELACIONAL

nss nombre direc fechaN sexo sueldo

62

Paso 1. Por cada tipo de entidades fuerte, crear una

tabla con sus atributos simples.

EMPLEADO nss

nombre sexo

direc

sueldo

fechaN

Clave

principal

EMPLEADO

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss nombre sexo fechaN parentesco

63

Paso 2. Para el caso de las entidades débiles, se

genera una tabla con sus atributos y se le añade

una columna con la clave principal de la entidad

fuerte.

EMPLEADO nss Clave

foránea

DEPENDIENTE

nombre

sexo fechaN

parentesco

DEPENDIENTE_DE

Clave

parcial

DEPENDIENTE

La clave principal estará formada por la

combinación de la clave foránea y la clave parcial

(o discriminador)

1

N

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss nombre licencia num_econ modelo marca

64

Paso 3. Para una relación de tipo 1:1 con participación total

en ambas entidades, solo es necesario una tabla con los

atributos de las entidades que participan en la relación.

Nombre de la tabla

(de cualquiera de las tablas)

Clave

principal CHOFER

Como clave principal (o

clave primaria) se puede

elegir cualquiera de las

claves de las entidades.

Igual aplica para el nombre

de la tabla.

CHOFER nss

nombre

VEHICULO

num_econ modelo

TIENE_ASIGNADO

1 1 marca

licencia

Rodolfo Arana Gonzales

nss nombre edad num_dep nombre nss

65

Paso 4. Para una relación de tipo 1:1 con participación total

en una sola entidad, son necesarias dos tablas con los

atributos de las entidades que participan en la relación. En

la tabla que corresponde a la entidad con participación total

se le añade una columna con la clave principal de la otra

entidad.

Clave Foránea Clave

principal

EMPLEADO

Cada entidad mantiene

su clave principal.

Además, la clave

principal de la entidad

con participación parcial

será la clave foránea de

la entidad con

participación total

EMPLEADO nss

nombre

DEPARTAMENTO

num_dep nombre

DIRIGE 1 1

edad

DEPARTAMENTO

Clave

principal

Reducción de un esquema ER a tablas

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss nombre edad registro raza nss

66

Paso 5. Si la relación es 1:1 y la participación es parcial en

ambas entidades, se genera una tabla por cada entidad,

luego se escoge una de las entidades y se le añade la clave

principal de la otra entidad.

PERSONA

En el ejemplo se ha

decidido elegir la entidad

ANIMAL para que tenga

como atributo adicional la

clave principal de la otra

entidad.

PERSONA nss

nombre

ANIMAL

registro raza

POSEE 1 1

edad

ANIMAL

Atributo

adicional

Rodolfo Arana Gonzales

Page 12: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 12

Reducción de un esquema ER a tablas

nss nombre edad num_dep num_dep nombre

67

Paso 6. Para una relación 1:N con participación total del

lado de la entidad N, se necesita una tabla por cada

entidad. A la tabla que representa la entidad N se le añade

una columna con la clave principal de la otra entidad.

Clave Foránea Clave

principal

EMPLEADO DEPARTAMENTO

Clave

principal

EMPLEADO nss

nombre

DEPARTAMENTO

num_dep nombre

PERTENECE N 1

edad

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss nombre edad horas nss numero numero lugar

68

Paso 7. Para una relación 1:N con participación parcial del

lado de la entidad N, se necesitan tres tablas: una para

representar cada entidad y otra para representar la relación.

PERSONA PROYECTO PERSONA_PROYECTO

PERSONA nss

nombre

PROYECTO

numero lugar

TRABAJA_EN N 1

edad horas En una relación N:1 los

atributos de la relación

(si los hubiera) se

pueden trasladar a la

entidad del lado N Nombre de

relación

TRABAJA_EN

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss nombre edad nss numero horas numero lugar

69

Paso 8. Para una relación N:M se necesitan tres tablas: una

para representar cada entidad y otra para representar la

relación más los atributos propios de la misma.

PERSONA PROYECTO PERSONA_PROYECTO

PERSONA nss

nombre

PROYECTO

numero lugar

TRABAJA_EN N M

edad horas

En una relación N:M los

atributos de la relación

no se pueden trasladar a

las entidades

participantes

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss nombre direccion nss num_tel

70

Paso 9. Para los atributos multivaluados se generan tablas

separadas, con la clave principal del tipo de entidades o

relaciones al que pertenecen.

EMPLEADO TELEFONO

EMPLEADO

nss

nombre

direccion telefono

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss sueldo direccion nss nPila paterno materno

71

Paso 10. Para los atributos compuestos hay dos opciones:

o se genera una tabla separada o bien el atributo

compuesto se descompone en los atributos simples que lo

componen. EMPLEADO NOMBRE

EMPLEADO nss

nombre

nPila paterno

materno

sueldo direccion

nss nPila paterno materno sueldo direccion

EMPLEADO

EMPLEADO

nss

nombre

nPila paterno

materno

sueldo direccion

O bien:

Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

nss nombre supervisor nss nombre conyuge

72

Paso 11. Para las relaciones recursivas se define un atributo

adicional del mismo tipo (dominio) que la clave principal. Si

la relación es de 1:1 o 1:N se añade el atributo a la misma

tabla.

EMPLEADO

EMPLEADO

nss nombre

SUPERVISA N 1

EMPLEADO

nss nombre

CASADO_CON 1 1

EMPLEADO

Los dos atributos (con el mismo dominio) representan diferentes papeles o roles. Rodolfo Arana Gonzales

Page 13: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 13

Reducción de un esquema ER a tablas

clave pre_req

73

Paso 11 (cont). Si la relación es N:M se genera aparte otra

tabla con dos atributos: la clave principal del tipo de

entidades más el atributo antes definido.

CURSO PREREQUISITO

clave nombre CURSO

clave nombre

REQUIERE M N

Los dos atributos

(con el mismo

dominio)

representan

diferentes papeles o

roles.

c1

c2

c3

c4

c5 c6

c7

c8

CURSO REQUIERE

Se muestran 5 ejemplares de

relaciones:

c1 requiere de c4, c2 requiere de c7,

c3 requiere también de c7, c4

requiere de c6 y de c8. c5 no tiene

prerequisitos, ni es prerequisito de

ningún curso. c7 y c8 no tienen

prerequisitos, aunque son

prerequisitos de otros cursos Rodolfo Arana Gonzales

Paso 12. Las Relaciones Ternarias se deben representar

primero como Tipos de Entidades Débiles, sin clave parcial y

con 3 Relaciones Identificadoras

PROVEEDOR PROYECTO VS

num_prov num_proy

COMPONENTE

cantidad

num_comp

SUMINISTRO

SC

SCP

PROVEEDOR PROYECTO SUMINISTRAR

num_prov num_proy

COMPONENTE

cantidad

num_comp

Reducción de un esquema ER a tablas

74 Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

num_prov num_comp num_proy cantidad

75

Paso 12 (cont). En seguida se generan:

• Una tabla por cada una de las entidades fuertes (o propietarias)

con sus atributos simples

• Una tabla por la entidad débil obtenida con sus atributos simples

y los atributos clave de las entidades fuertes.

PROVEEDOR PROYECTO VS

num_prov num_proy

COMPONENTE

cantidad

num_comp

SUMINISTRO

SC

SCP

SUMINISTRO

Rodolfo Arana Gonzales

Ejemplo. Diagrama ER de una base de datos BANCO.

BANCO

codigo nombre direccion

PRESTAMO

CUENTA

SUCURSAL

CLIENTE

CONTROLA

OTORGA

TIENE

RECIBE

TIENE

nss nombre direccion

num_cuenta

saldo

tipo

importe

num_prest tipo

num_suc direccion

1

1

N

N

M N

M

N

1

N

Tomado de:

Sistemas de Bases de Datos

Conceptos Fundamentales

ELMASRI/NAVATHE

Reducción de un esquema ER a tablas

76 Rodolfo Arana Gonzales

Reducción de un esquema ER a tablas

cod_banco nombre direccion

77

BANCO

cod_banco nombre direccion

Según paso 1. Por cada

tipo de entidades fuerte,

crear una tabla con sus

atributos simples.

BANCO

Según paso 2. Para el caso de las

entidades débiles, se genera una

tabla con sus atributos y se le añade

una columna con la clave principal de

la entidad fuerte.

cod_banco num_suc direccion

SUCURSAL

BANCO

cod_banco nombre

direccion

SUCURSAL TIENE

num_suc direccion

1 N

Rodolfo Arana Gonzales

Según paso 6. Para una relación 1:N con participación total del lado de

la entidad N, se necesita una tabla por cada entidad. A la tabla que

representa la entidad N se le añade una columna con la clave principal

de la otra entidad.

cod_banco num_suc direccion

SUCURSAL

PRESTAMO

SUCURSAL

OTORGA

importe

num_prest tipo

num_suc direccion

1

N

num_suc num_prest tipo importe

PRESTAMO

Que ya se

había obtenido

en la lámina

anterior

Reducción de un esquema ER a tablas

78 Rodolfo Arana Gonzales

Page 14: INF312 - Cap. 3 Modelo Entidad-Relación

Rodolfo Arana Gonzales 14

Según paso 6. Para una relación 1:N con participación total del lado de

la entidad N, se necesita una tabla por cada entidad. A la tabla que

representa la entidad N se le añade una columna con la clave principal

de la otra entidad.

cod_banco num_suc direccion

SUCURSAL

num_suc num_cuenta tipo saldo

CUENTA Que ya se había

obtenido

anteriormente

CUENTA

SUCURSAL CONTROLA

num_cuenta

saldo

tipo

num_suc direccion

1

N

Reducción de un esquema ER a tablas

79 Rodolfo Arana Gonzales

Según paso 8. Para una relación N:M se necesitan tres tablas: una para

representar cada entidad y otra para representar la relación más los

atributos propios de la misma.

nss nombre direccion

CLIENTE nss num_prest

CLIENTE-PRESTAMO

PRESTAMO

CLIENTE RECIBE

nss nombre direccion

importe

num_prest tipo

M N

La tabla PRESTAMO

se obtuvo

anteriormente

Reducción de un esquema ER a tablas

80 Rodolfo Arana Gonzales

Según paso 8. Para una relación N:M se necesitan tres tablas: una para

representar cada entidad y otra para representar la relación más los

atributos propios de la misma.

nss num_cuenta

CUENTA-CLIENTE

Las tablas CLIENTE y

CUENTA se

obtuvieron

anteriormente

CUENTA

CLIENTE

TIENE

nss nombre direccion

num_cuenta

saldo

tipo

M

N

Reducción de un esquema ER a tablas

81 Rodolfo Arana Gonzales

Dudas y Preguntas:

82

Correo electrónico: [email protected]

Rodolfo Arana Gonzales