You are on page 1of 14

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

Modelos de datos

Alto nivel o Conceptuales De implementacin o Lgicos Bajo nivel o Fsicos

Bibliografa:
Introduccin a los sistemas de bases de datos Date C. J. Addison Wesley, 6ta. Edicin,1999 Fundamentos de bases de datos Henry F. y Abraham Silverschatz Sistemas de Bases de Datos. Diseo, Implementacin y Admn Peter Rob y Carlos Coronel

El Modelo Entidad-Relacin o Entidad-Vnculo cae dentro de la clasificacin de Modelos de Datos de Alto Nivel o Conceptuales.

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

Proceso del diseo de Bases de Datos


Minimundo

Conceptos del Modelo ER


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

Algunos autores utilizan el nombre Ejemplar de Entidad


Recoleccin de anlisis de requerimientos

Tipos de entidades. Conjunto de entidades que comparten las

mismas propiedades o atributos. Tambin se les puede referir como Clases de Entidades
Modelo Entidad-Relacin Modelo Orientado a Objetos

Diseo Conceptual

Atributos. Propiedades especficas que describen a una

entidad
Independiente Del SGBD Especfico para Cada SGBD Diseo Lgico Modelo Relacional

Dominio. Conjunto de valores posibles para un atributo. Por

ejemplo: el dominio para el atributo calificacin son todos los enteros positivos de 0 a 100
Diseo Fsico

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

Conceptos del Modelo ER


Representacin de los Tipos de Entidades y Tipos de Atributos
nombre salario

Tipos y Ejemplares de Entidades


Un error comn es confundir ambos trminos
nombre ci salario

ci

fechaN

EMPLEADO

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 trminos: Tipos de Entidades, tipos de atributos y tipos de relaciones son tiles para fines del modelado

fechaN

EMPLEADO
Adran Gmez 10,000

Tipo de entidades Tipo de atributos

goma-800510 vigilante

10/5/1980

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

Atributos Simples y Compuestos


Compuestos. Se pueden dividir en componentes ms

Atributos Monovaluados y Multivaluados


Monovaluados. Tienen un solo valor para una entidad en particular. Multivaluados. Pueden tener ms de un valor, incluso se pueden manejar lmites inferior y superior.

paterno
nPila materno
En ciertas circunstancias podra ser importante almacenar ms de un nmero telefnico (casa, oficina, etc.)

pequeos.
Simples o Atmicos. Son aquellos que no son divisibles.
Tcnicamente podra objetarse que paterno sea un atributo atmico, por dividirse a su vez en caracteres. Conceptualmente, sin embargo, el apellido paterno de una persona ya no puede dividirse en componentes ms pequeos.

paterno nPila nombre ci

materno

salario ci

nombre

salario telefono

fechaN

EMPLEADO
fechaN

EMPLEADO

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

10

Atributos Almacenados y Derivados


Almacenados. Aquellos que se guardan en la BD. Derivados. Los que se pueden obtener a partir de los almacenados.

paterno nPila nombre ci materno


El atributo edad se puede calcular (derivar) dinmicamente a partir del atributo fechaN

Atributos Clave

Una restriccin importante de las entidades de un tipo es la restriccin de clave o restriccin de unicidad. Un atributo clave identifica de manera nica a cada entidad individual.
paterno nPila materno salario

salario telefono edad

Un atributo clave aparece subrayado En este caso el ci

nombre ci

telefono edad

fechaN

EMPLEADO

fechaN

EMPLEADO

Rodolfo Arana Gonzales

11

Rodolfo Arana Gonzales

12

Tipos de Relaciones (o Vnculos)

Nombres de Papeles

Un tipo de Relaciones (o tipo de vnculos) es una asociacin entre dos o ms tipos de entidades. Se representa mediante un rombo que conecta a los tipos de entidades.

Cada tipo de entidades que participa en un tipo de relaciones desempea un papel (o rol) especfico en la relacin o vnculo.
EMPLEADO PERTENECE_A DEPARTAMENTO

EMPLEADO

PERTENECE_A

DEPARTAMENTO

Se dice que los tipos de entidades EMPLEADO y DEPARTAMENTO participan en el tipo de relaciones (o vnculos) PERTENECE_A

En la relacin PERTENECE_A el tipo de entidades EMPLEADO desempea el papel de empleado o trabajador. Con excepcin 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

Rodolfo Arana Gonzales

13

Rodolfo Arana Gonzales

14

Relaciones Recursivas

Grado de un tipo de relaciones


Es el nmero de tipos de entidades que participan en un tipo de

Tambin llamadas unarias son aquellas en los que el mismo tipo de entidades participa ms de una vez en un tipo de relaciones (o tipo de vnculos) con diferentes papeles (roles).
EMPLEADO

relaciones (o tipo de vnculos)


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

EMPLEADO

EMPLEADO

PERTENECE_A

DEPARTAMENTO

La relacin SUPERVISION asocia un empleado con un supervisor y pertenecen ambos al mismo tipo de entidades EMPLEADO

supervisor

supervisado
supervisor

supervisado

Relacin binaria

SUPERVISION

PROVEEDOR

SUMINISTRA

PROYECTO

SUPERVISION
Relacin unaria o recursiva COMPONENTE

Relacin ternaria

Rodolfo Arana Gonzales

15

Rodolfo Arana Gonzales

16

Restricciones estructurales
1. Razn de Cardinalidad. Especifica el nmero de ejemplares de relaciones en los que puede participar una entidad Las relaciones de cardinalidad ms comunes son 1:1, 1:N, M:N (uno a uno, uno a muchos, muchos a muchos)
1 1

Restricciones estructurales
2. Restriccin de Participacin. Especifica si la existencia de una entidad depende de que est relacionada con otra entidad a travs del tipo de relaciones Hay dos tipos de restricciones de participacin: parcial y total (llamadas tambin: opcional y obligatoria)

EMPLEADO

DIRIGE

DEPARTAMENTO 1 1

EMPLEADO

PERTENECE_A

EMPLEADO DEPARTAMENTO

DIRIGE

DEPARTAMENTO

ALUMNO

CURSA

MATERIA

La participacin total recibe a veces el nombre de dependencia de existencia. Se indica con una lnea doble que conecta el tipo de entidades con la relacin o vnculo

Rodolfo Arana Gonzales

17

Rodolfo Arana Gonzales

18

Restricciones estructurales
Ejemplo de diagrama de relacin 1:1
EMPLEADO DIRIGE DEPARTAMENTO

Restricciones estructurales
Ejemplo de diagrama de relacin N:1
EMPLEADO PERTENECE DEPARTAMENTO

e1 e2 e3 e4 e5 e6 e7 e8

d1 d2 d3

Ntese como no cualquier empleado dirige a un departamento. La participacin de EMPLEADO en la relacin es por lo tanto parcial. En cambio todo departamento es dirigido por un empleado. La participacin de DEPARTAMENTO en la relacin es total

e1 e2 e3 e4 e5 e6 e7 e8

d1 d2 d3

Ntese como cada empleado pertenece a un solo departamento y que a un departamento permanecen N empleados. En ambos casos la participacin de las entidades es total

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

19

Rodolfo Arana Gonzales

20

Restricciones estructurales
Ejemplo de diagrama de relacin 1:N
DEPARTAMENTO CONTROLA PROYECTO

Restricciones estructurales
Ejemplo de diagrama de relacin M:N
ALUMNO TOMA MATERIA
Ntese como todos los alumnos toman al menos una materia y una materia es cursada al menos por un alumno. La participacin de ambas entidades en la relacin es total

d1 d2 d3 d4 d5 d6 d7 d8

p1 p2 p3 p4 p5 p6 p7 p8

Ntese como un proyecto es controlado por un departamento y un departamento puede controlar ms de un proyecto. Sin embargo no todos los departamentos controlan proyectos. La participacin de DEPARTAMENTO en la relacin es parcial.

a1 a2 a3

m1 m2 m3 m4 m5

a4

Estos diagramas nos pueden auxiliar a determinar las restricciones estructurales de un tipo de relaciones

Rodolfo Arana Gonzales

21

Rodolfo Arana Gonzales

22

Atributos de los tipos de relaciones


Los tipos de relaciones tambin pueden tener atributos

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.
FechaIni 1 1 DEPARTAMENTO FechaIni

FechaIni EMPLEADO EMPLEADO 1 DIRIGE 1 DEPARTAMENTO

DIRIGE

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 relacin.
FechaIni N EMPLEADO PERTENECE_A FechaIni 1 DEPARTAMENTO

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

En una relacin N:M los atributos de la relacin no se pueden trasladar

Rodolfo Arana Gonzales

23

Rodolfo Arana Gonzales

24

Tipos de entidades dbiles


No tienen atributos clave propios. Se identifican por su

Tipos de entidades dbiles


Tanto el tipo de entidades dbiles como su relacin identificadora se representan con lneas dobles
Clave Parcial o atributo discriminador
nombre ci salario nombre sexo fechaN N DEPENDIENTE

relacin 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 dbiles

se le conoce como relacin identificadora (o vnculo identificador)


Los tipos de entidades dbiles siempre tienen una

restriccin de participacin total, aunque no toda existencia de dependencia resulta en un tipo de entidades dbiles

EMPLEADO

DEPENDIENTE_DE

Propietario identificador Relacin identificadora

Las entidades dbiles siempre tienen una restriccin de participacin total con la relacin identificadora

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

25

Rodolfo Arana Gonzales

26

Tipos de Claves
Superclave. Es un conjunto de uno o ms atributos que tomados

Superclaves
Tcnicamente, el conjunto de todos los atributos forman una superclave, porque le dan unicidad a la entidad
serie_motor matricula marca modelo

colectivamente, permiten identificar de manera nica a una entidad.


Clave Candidata. Una superclave mnima, tal que no contenga

otras superclaves.
Clave Primaria. Clave candidata que es elegida para identificar

num_eco

VEHICULO

chofer

una entidad, buscando que los atributos que la conforman nunca cambien.
Clave Fornea. Se dice de la clave primaria de la cual dependen

Pero igual cumplen los siguientes subconjuntos: num_eco, matricula; maticula, serie_motor; serie_motor, marca; Etc,etc.

otras entidades (como las entidades dbiles).


Clave Parcial. En el caso de una entidad dbil, es un atributo que

se utiliza como discriminador y que junto con la clave fornea forma la clave principal.

Rodolfo Arana Gonzales

27

Rodolfo Arana Gonzales

28

Claves Candidatas
serie_motor matricula marca modelo

Claves Primarias (o principales)


serie_motor matricula marca

modelo

num_eco

VEHICULO

chofer

De las claves candidatas:


num_eco VEHICULO chofer

En la entidad VEHICULO se pueden encontrar dos superclaves mnimas (no se pueden dividir en otras superclaves): matricula y serie_motor Como ambas describen unvocamente a la entidad se les denomina claves candidatas

matricula y serie_motor Se elige a la que ser la clave principal. Como es ms 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 nmero de serie del motor por lo general no cambia

Rodolfo Arana Gonzales

29

Rodolfo Arana Gonzales

30

Claves Forneas
serie_motor matricula marca modelo

Claves Parciales
nss

EMPLEADO

num_eco

VEHICULO

chofer

1
DEPENDIENTE_DE

El atributo chofer se puede considerar como clave fornea, si en lugar de escribir nombres de personas como valores, se indican cdigos que hacen referencia al nombre del chofer en otra entidad.
nombre

N
DEPENDIENTE

El atributo nombre de la entidad DEPENDIENTE no describe de manera unvoca 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 fornea).

De esta manera se evita la redundancia, pues en vez de escribir el mismo nombre varias veces (en el hipottico caso de que tuviese resguardado ms de un vehculo) solo se repetira el cdigo del mismo

sexo

fechaN

parentesco

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

31

Rodolfo Arana Gonzales

32

Manejo de Relaciones ternarias


Algunas herramientas que se emplean en el diseo de BD solo permiten Relaciones Binarias, por lo que es difcil implementar algunas relaciones ternarias, como el siguiente ejemplo:
cantidad num_prov num_proy

Manejo de Relaciones ternarias


Ejemplo de diagrama de una relacin Ternaria
PROVEEDOR s1 s2 SUMINISTRAR PROYECTO

Ntese como por cada ejemplar de relacin SUMINISTRAR existen 3 participaciones

p1 p2 p3

PROVEEDOR

SUMINISTRAR

PROYECTO

COMPONENTE c1 c2 c3

COMPONENTE num_comp

Ejemplo: El proveedor s1 suministra los componentes c1 y c2 al proyecto p1 y el componente c1 al proyecto p2

Rodolfo Arana Gonzales

33

Rodolfo Arana Gonzales

34

Manejo de Relaciones ternarias


En estos casos las Relaciones Ternarias se pueden representar como Tipos de Entidades Dbiles, sin clave parcial y con 3 Relaciones Identificadoras.
num_prov cantidad num_proy

Resumen de la notacin ER
Tipo de entidades Tipo de atributos (monovaluados) Tipo de entidades dbiles Tipo de atributos (multivaluados) Tipo relacin Tipo relacin identificadora

PROVEEDOR

VS

SUMINISTRO

SCP

PROYECTO

SC

Tipo de atributos derivados


COMPONENTE num_comp

Participacin parcial

Participacin total

Rodolfo Arana Gonzales

35

Rodolfo Arana Gonzales

36

Un primer ejemplo
nombre nPila paterno materno direc nombre sexo sueldo N PERTENECE_A 1 nmero lugares

Base de datos COMPAA


fechaIni 1 1 num_empleados 1 CONTROLA M 1 TRABAJA_EN N N DEPARTAMENTO

La compaa est organizada en departamentos. Cada departamento tiene un nombre nico, un nmero 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 nmero de proyectos, cada uno de los cuales tiene un nombre y un nmero nicos, y se efecta en un solo lugar. Almacenaremos el nombre, nmero de seguro social, direccin, 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 estarn controlados por el mismo departamento. Nos interesa el nmero de horas por semana que un empleado trabaja en cada proyecto, y tambin quin es el supervisor de cada empleado. Queremos mantenernos al tanto de los dependientes de cada empleado con el fin de administrar los trminos de sus seguros. Almacenaremos el nombre, sexo y fecha de nacimiento de cada dependiente, y su parentesco con el empleado.

Nss fechaN

EMPLEADO supervisado

DIRIGE

supervisor 1

SUPERVISIN

DEPENDIENTE_DE horas N PROYECTO

DEPENDIENTE

nmero nombre lugar

Diagrama ER para la base de datos COMPAA

nombre sexo fechaN parentesco

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

37

Rodolfo Arana Gonzales

38

Base de datos COMPAA

Azul - Entidades Rojo - Relaciones Verde - Atributos

Paso 1. Identificar Entidades


nombre nPila paterno materno nmero direc nombre sexo Nss sueldo lugares

Una compaa est organizada en departamentos. Cada departamento tiene un

nombre nico, un nmero 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 nmero de proyectos, cada uno de los

DEPARTAMENTO

cuales tiene un nombre y un nmero nicos, y se efecta en un solo lugar.


Almacenaremos el nombre, nmero de seguro social, direccin, salario, sexo y

EMPLEADO
fechaN

fecha de nacimiento de cada empleado. Todo empleado est asignado a un departamento, pero puede trabajar en varios proyectos, que no necesariamente estarn controlados por el mismo departamento. Nos interesa el nmero de horas por semana que un empleado trabaja en cada proyecto, y tambin quin es el supervisor de cada empleado.
Queremos mantenernos al tanto de los dependientes de cada empleado con el

Se identifican cada una de las entidades participantes, as como sus respectivos atributos

num_empleados

DEPENDIENTE

PROYECTO
nmero

fin de administrar los trminos de sus seguros. Almacenaremos el nombre, sexo y fecha de nacimiento de cada dependiente, y su parentesco con el empleado.

nombre sexo fechaN parentesco

nombre

lugar

Rodolfo Arana Gonzales

39

Rodolfo Arana Gonzales

40

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo Nss sueldo lugares

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc lugares

PERTENECE_A
sueldo

EMPLEADO
fechaN

SUPERVISIN es una relacin recursiva, puesto que el tipo de entidades EMPLEADO participa con dos papeles (o roles)

nombre

DEPARTAMENTO
Nss

sexo

DEPARTAMENTO

EMPLEADO
num_empleados fechaN supervisado num_empleados

supervisor

SUPERVISIN DEPENDIENTE PROYECTO

SUPERVISIN PROYECTO
nombre sexo fechaN parentesco nmero nombre lugar nombre sexo fechaN parentesco

DEPENDIENTE
nmero nombre lugar

Rodolfo Arana Gonzales

41

Rodolfo Arana Gonzales

42

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo Nss sueldo lugares

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc lugares

PERTENECE_A DEPARTAMENTO
Nss nombre sexo

PERTENECE_A
sueldo

DEPARTAMENTO

EMPLEADO
fechaN supervisado

DIRIGE

num_empleados

EMPLEADO
fechaN supervisado

DIRIGE

num_empleados

supervisor

SUPERVISIN

Ntese como un tipo de entidades puede participar en ms de una relacin


PROYECTO DEPENDIENTE
nmero nombre sexo parentesco lugar

CONTROLA

supervisor

SUPERVISIN PROYECTO DEPENDIENTE


nmero nombre sexo parentesco lugar

nombre fechaN

nombre fechaN

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

43

Rodolfo Arana Gonzales

44

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo Nss sueldo lugares

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo sueldo lugares

PERTENECE_A DEPARTAMENTO

PERTENECE_A DEPARTAMENTO
Nss

EMPLEADO EMPLEADO DIRIGE


supervisado fechaN num_empleados supervisado

DIRIGE

num_empleados

fechaN

CONTROLA TRABAJA_EN DEPENDIENTE_DE PROYECTO

CONTROLA TRABAJA_EN

supervisor

supervisor

SUPERVISIN SUPERVISIN PROYECTO DEPENDIENTE


nmero nombre nombre sexo fechaN parentesco nombre lugar nombre sexo fechaN parentesco lugar

DEPENDIENTE

nmero

Rodolfo Arana Gonzales

45

Rodolfo Arana Gonzales

46

Paso 3. Determinar cardinalidades


nombre nPila paterno materno direc nombre sexo Nss sueldo

Paso 4. Identificar participaciones


nombre nPila paterno materno direc nombre sexo Nss sueldo lugares

1 PERTENECE_A

nmero

1 PERTENECE_A

nmero

lugares

DEPARTAMENTO 1 DIRIGE 1
num_empleados

DEPARTAMENTO 1 DIRIGE 1
num_empleados

EMPLEADO
fechaN supervisado

EMPLEADO 1 CONTROLA
fechaN supervisado

1 CONTROLA

supervisor

M 1 N DEPENDIENTE_DE N DEPENDIENTE TRABAJA_EN

N N

supervisor

M 1 N DEPENDIENTE_DE N DEPENDIENTE TRABAJA_EN

N N

SUPERVISIN

1 PROYECTO
nmero nombre nombre sexo fechaN parentesco lugar

SUPERVISIN

PROYECTO
nmero nombre lugar

Una participacin total indica que todo ejemplar de entidad participa al menos una vez en la relacin

nombre sexo fechaN parentesco

Rodolfo Arana Gonzales

47

Rodolfo Arana Gonzales

48

Paso 5. Identificar Entidades dbiles


nombre nPila paterno materno direc nombre sexo Nss sueldo

Paso 6. Identificar Atributos Clave


Un atributo clave identifica de manera unvoca a un tipo de entidades.
nPila paterno materno direc nombre sexo Nss sueldo nombre

1 PERTENECE_A

nmero

lugares

1 PERTENECE_A

nmero

lugares

DEPARTAMENTO 1 DIRIGE 1
num_empleados

DEPARTAMENTO 1 DIRIGE 1
num_empleados

EMPLEADO
fechaN supervisado

EMPLEADO 1 CONTROLA
fechaN supervisado

1 CONTROLA

supervisor

M 1 N DEPENDIENTE_DE N TRABAJA_EN

N N

supervisor

M 1 N DEPENDIENTE_DE N DEPENDIENTE TRABAJA_EN

N N

SUPERVISIN

SUPERVISIN

PROYECTO
nmero nombre lugar

El tipo de entidades DEPENDIENTE no tiene un atributo clave propio. Depende del atributo clave del tipo de entidades EMPLEADO

DEPENDIENTE

nombre sexo fechaN parentesco

En DEPENDIENTE la clave es la combinacin de su atributo nombre y el atributo Nss del tipo de entidades EMPLEADO

PROYECTO
nmero nombre lugar

nombre sexo fechaN parentesco

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

49

Rodolfo Arana Gonzales

50

Paso 7. Identificar Atributos de Relaciones


nombre nPila paterno materno direc nombre sexo nss sueldo

El minimundo BIBLIOTECA

1 PERTENECE_A

nmero

lugares

Una biblioteca escolar resguarda ejemplares de libros para prestamos a sus usuarios. Cada libro puede estar escrito por ms 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 reservacin del ttulo para cuando est disponible. Si los ejemplares no se regresan a tiempo aplica una multa que se impone al usuario.

DEPARTAMENTO

fechaIni

EMPLEADO
fechaN supervisado

1 DIRIGE

1
num_empleados

1 CONTROLA

supervisor

M 1 N DEPENDIENTE_DE
horas

TRABAJA_EN

N N

SUPERVISIN

Es necesario especificar la fecha en que un EMPLEADO comienza a dirigir un DEPARTAMENTO y las horas que un EMPLEADO trabaja en un PROYECTO

N DEPENDIENTE
nmero nombre nombre sexo fechaN parentesco

PROYECTO

lugar

Rodolfo Arana Gonzales

51

Rodolfo Arana Gonzales

52

Desarrollando el Diagrama E-R


Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6

1. Identificar identidades

Identificar Entidades Resolver Relaciones (vnculos) Determinar Cardinalidades Identificar Participaciones Identificar Entidades dbiles Identificar Atributos CLAVE

Una biblioteca escolar resguarda ejemplares de libros para prestamos a sus usuarios. Cada libro puede estar escrito por ms 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 reservacin del ttulo para cuando est disponible. Si los ejemplares no se regresan a tiempo aplica una multa que se impone al usuario.

Rodolfo Arana Gonzales

53

Rodolfo Arana Gonzales

54

1. Identificar identidades
LIBRO

2. Resolver relaciones (vnculos)

Una biblioteca escolar resguarda ejemplares de libros para prestamos a sus usuarios. Cada libro puede estar escrito por ms 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 reservacin del ttulo para cuando est disponible. Si los ejemplares no se regresan a tiempo aplica una multa que se impone al usuario.

USUARIO EJEMPLAR AUTOR

MULTA

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

55

Rodolfo Arana Gonzales

56

2. Resolver relaciones (vnculos)


LIBRO Hay que considerar que las relaciones RESERVA Y PRESTAMO son independientes, an cuando el tipo de entidades USUARIO participa en ambas.

3. Determinar Cardinalidades
LIBRO M Posibles valores: 1:1 uno a uno 1:N uno a muchos N:M muchos a muchos 1 N

RESERVA

TIENE

ESCRIBE

RESERVA

TIENE

ESCRIBE

N N AUTOR USUARIO PRESTAMO M

EJEMPLAR

AUTOR

USUARIO

PRESTAMO

EJEMPLAR

1 M IMPUESTA_A MULTA SE_APLICA IMPUESTA_A MULTA M

SE_APLICA

Rodolfo Arana Gonzales

57

Rodolfo Arana Gonzales

58

4. Identificar Participaciones
LIBRO M RESERVA N Una participacin total indica que todo ejemplar de entidad participa al menos una vez en la relacin 1 TIENE M N

5. Identificar Entidades dbiles


LIBRO Entidad propietaria M Relacin identificadora ESCRIBE RESERVA N Entidad dbil TIENE M ESCRIBE 1 N

USUARIO

PRESTAMO

EJEMPLAR

AUTOR

USUARIO

PRESTAMO

EJEMPLAR

AUTOR

1 IMPUESTA_A M MULTA M

1 SE_APLICA

1 IMPUESTA_A M MULTA M

1 SE_APLICA

El tipo de entidades EJEMPLAR no tiene un atributo clave propio. Depende del atributo clave del tipo de entidades libro

Rodolfo Arana Gonzales

59

Rodolfo Arana Gonzales

60

6. Identificar Atributos Clave


LIBRO M RESERVA N isbn N 1 TIENE M

Notacin alternativa
Otra forma de representar las restricciones
ESCRIBE

estructurales (razn de cardinalidad y restriccin de participacin) es mediante la notacin (min, max).


Significa que cada ejemplar de entidad debe participar

id_usuario

num_ejem

USUARIO

PRESTAMO

EJEMPLAR

AUTOR

en por lo menos min ejemplares de relaciones y cuando ms en max ejemplares de relaciones.

id_autor num 1 IMPUESTA_A M MULTA M 1 SE_APLICA El atributo clave de EJEMPLAR se compone de su atributo num_ejem y el atributo clave isbn de LIBRO

min = 0 implica participacin parcial. min >= 1 implica participacin total.

Rodolfo Arana Gonzales

10

Rodolfo Arana Gonzales

61

Notacin alternativa
Con el ejemplo anterior:
LIBRO (0, N) (1, N) (1, N)

Mapeo del modelo ER al modelo RELACIONAL


Paso 1. Por cada tipo de entidades fuerte, crear una tabla con sus atributos simples.
direc

RESERVA (0, N)

TIENE (1, 1)

ESCRIBE (1, N)
nss nombre sexo sueldo

Clave principal EMPLEADO


nss nombre direc fechaN sexo sueldo

EMPLEADO

USUARIO

(0, N)

PRESTAMO

(0, 1)

EJEMPLAR

AUTOR

fechaN

min = 0 participacin parcial. min >= 1 participacin total.

La razn de cardinalidad se determina tomando los mximos de forma invertida. ejem: (1,N),(1,1) = 1:N

Rodolfo Arana Gonzales

62

Reduccin de un esquema ER a tablas


Paso 2. Para el caso de las entidades dbiles, se genera una tabla con sus atributos y se le aade una columna con la clave principal de la entidad fuerte.
nss

Reduccin de un esquema ER a tablas


Paso 3. Para una relacin de tipo 1:1 con participacin total en ambas entidades, solo es necesario una tabla con los atributos de las entidades que participan en la relacin.
licencia nombre num_econ modelo

EMPLEADO

Clave fornea

Clave parcial DEPENDIENTE


nss

1 CHOFER TIENE_ASIGNADO

1
DEPENDIENTE_DE

VEHICULO

marca

nss

nombre

sexo

fechaN

parentesco

N
DEPENDIENTE

Clave principal
nss nombre

CHOFER
licencia num_econ

Nombre de la tabla (de cualquiera de las tablas)


modelo marca

nombre sexo fechaN parentesco

La clave principal estar formada por la combinacin de la clave fornea y la clave parcial Rodolfo Arana Gonzales 63 (o discriminador)

Rodolfo Arana Gonzales

Como clave principal (o clave primaria) se puede elegir cualquiera de las claves de las entidades. Igual aplica para el nombre de la tabla. 64

Rodolfo Arana Gonzales

65

Reduccin de un esquema ER a tablas


Paso 4. Para una relacin de tipo 1:1 con participacin total en una sola entidad, son necesarias dos tablas con los atributos de las entidades que participan en la relacin. En la tabla que corresponde a la entidad con participacin total se le aade una columna con la clave principal de la otra entidad.
nombre edad num_dep nombre nss

Reduccin de un esquema ER a tablas


Paso 5. Si la relacin es 1:1 y la participacin es parcial en ambas entidades, se genera una tabla por cada entidad, luego se escoge una de las entidades y se le aade la clave principal de la otra entidad.
nombre nss edad registro raza

EMPLEADO

DIRIGE

DEPARTAMENTO

PERSONA

POSEE

ANIMAL

En el ejemplo se ha decidido elegir la entidad ANIMAL para que tenga como atributo adicional la clave principal de la otra entidad.

Clave principal EMPLEADO


nss nombre edad

Clave principal
num_dep

Clave Fornea DEPARTAMENTO


nombre nss

Cada entidad mantiene su clave principal. Adems, la clave principal de la entidad con participacin parcial ser la clave fornea de la entidad con participacin total

PERSONA
nss nombre edad

Atributo adicional ANIMAL


registro raza nss

Rodolfo Arana Gonzales

66

Rodolfo Arana Gonzales

11

Rodolfo Arana Gonzales

67

Reduccin de un esquema ER a tablas


Paso 6. Para una relacin 1:N con participacin total del lado de la entidad N, se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le aade una columna con la clave principal de la otra entidad.
nombre nss edad num_dep nombre

Reduccin de un esquema ER a tablas


Paso 7. Para una relacin 1:N con participacin parcial del lado de la entidad N, se necesitan tres tablas: una para representar cada entidad y otra para representar la relacin.
En una relacin N:1 los atributos de la relacin (si los hubiera) se pueden trasladar a la entidad del lado N
nombre nss edad horas numero lugar

N PERSONA TRABAJA_EN

1 PROYECTO

N EMPLEADO PERTENECE

1 DEPARTAMENTO

Clave principal
nss nombre

Clave Fornea EMPLEADO


edad num_dep

Clave principal DEPARTAMENTO


num_dep nombre nss

Nombre de relacin TRABAJA_EN PERSONA_PROYECTO


horas nss numero

PERSONA
nombre edad

PROYECTO
numero lugar

Rodolfo Arana Gonzales

68

Reduccin de un esquema ER a tablas


Paso 8. Para una relacin N:M se necesitan tres tablas: una para representar cada entidad y otra para representar la relacin ms los atributos propios de la misma.
edad horas numero lugar

Reduccin de un esquema ER a tablas


Paso 9. Para los atributos multivaluados se generan tablas separadas, con la clave principal del tipo de entidades o relaciones al que pertenecen.
nombre direccion telefono

nombre nss

N PERSONA TRABAJA_EN

M PROYECTO

En una relacin N:M los atributos de la relacin no se pueden trasladar a las entidades participantes PROYECTO
numero lugar nss

nss

EMPLEADO

PERSONA
nss nombre edad

PERSONA_PROYECTO
nss numero horas

EMPLEADO
nombre direccion

TELEFONO
nss num_tel

Rodolfo Arana Gonzales

69

Rodolfo Arana Gonzales

70

Reduccin de un esquema ER a tablas


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
nPila paterno materno sueldo direccion

Reduccin de un esquema ER a tablas


Paso 11. Para las relaciones recursivas se define un atributo adicional del mismo tipo (dominio) que la clave principal. Si la relacin es de 1:1 o 1:N se aade el atributo a la misma tabla.
nss nombre nss nombre

nss

sueldo

direccion

nss

nPila

paterno

materno EMPLEADO

EMPLEADO

nombre nss

EMPLEADO

1 1 SUPERVISA N

CASADO_CON

O bien:
EMPLEADO
nPila paterno materno sueldo direccion

EMPLEADO
nss nPila paterno materno sueldo direccion nss nombre supervisor nss

EMPLEADO
nombre conyuge

nombre nss

EMPLEADO

Rodolfo Arana Gonzales

71

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

Rodolfo Arana Gonzales

12

Reduccin de un esquema ER a tablas


Paso 11 (cont). Si la relacin es N:M se genera aparte otra tabla con dos atributos: la clave principal del tipo de entidades ms el atributo antes definido.
clave nombre

Reduccin de un esquema ER a tablas


Paso 12. Las Relaciones Ternarias se deben representar primero como Tipos de Entidades Dbiles, sin clave parcial y con 3 Relaciones Identificadoras
cantidad num_prov num_proy

CURSO
CURSO N M CURSO c1 c2 c3 c4 c5 c6 c7 c8 clave nombre

PREREQUISITO
clave pre_req

REQUIERE

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

PROVEEDOR

SUMINISTRAR

PROYECTO

COMPONENTE num_comp num_prov cantidad num_proy

REQUIERE

Rodolfo

Se muestran 5 ejemplares de relaciones: c1 requiere de c4, c2 requiere de c7, c3 requiere tambin de c7, c4 requiere de c6 y de c8. c5 no tiene prerequisitos, ni es prerequisito de ningn curso. c7 y c8 no tienen prerequisitos, aunque son Arana Gonzales 73 prerequisitos de otros cursos

PROVEEDOR

VS

SUMINISTRO

SCP

PROYECTO

SC

COMPONENTE

Rodolfo Arana Gonzales num_comp

74

Reduccin de un esquema ER a tablas


Paso 12 (cont). En seguida se generan:

num_prov

Reduccin de un esquema ER a tablas


Ejemplo. Diagrama ER de una base de datos BANCO.

Una tabla por cada una de las entidades fuertes (o propietarias) con sus atributos simples Una tabla por la entidad dbil obtenida con sus atributos simples y los atributos clave de las entidades fuertes.
cantidad num_proy

num_suc

direccion

codigo

nombre

direccion

CONTROLA N
num_cuenta

SUCURSAL 1 OTORGA
saldo

TIENE

BANCO

tipo

CUENTA
PROVEEDOR VS SUMINISTRO SCP PROYECTO

N
num_prest tipo

M
SC

SUMINISTRO
num_prov num_comp num_proy cantidad

TIENE N N CLIENTE RECIBE


direccion

PRESTAMO
importe

Tomado de: Sistemas de Bases de Datos Conceptos Fundamentales ELMASRI/NAVATHE

COMPONENTE num_comp

Rodolfo Arana Gonzales

75

nss

nombre

Rodolfo Arana Gonzales

76

Reduccin de un esquema ER a tablas


Segn paso 1. Por cada tipo de entidades fuerte, crear una tabla con sus atributos simples.
cod_banco nombre direccion num_suc cod_banco direccion nombre direccion

Reduccin de un esquema ER a tablas


Segn paso 6. Para una relacin 1:N con participacin total del lado de la entidad N, se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le aade una columna con la clave principal de la otra entidad.
SUCURSAL
num_suc direccion

Segn paso 2. Para el caso de las entidades dbiles, se genera una tabla con sus atributos y se le aade una columna con la clave principal de la entidad fuerte.

cod_banco

num_suc

direccion

SUCURSAL 1

Que ya se haba obtenido en la lmina anterior

BANCO

SUCURSAL

TIENE

BANCO OTORGA N

BANCO
cod_banco nombre direccion

PRESTAMO
tipo

SUCURSAL
cod_banco num_suc direccion

num_prest

num_suc

num_prest

tipo

importe

PRESTAMO
importe

Rodolfo Arana Gonzales

77

Rodolfo Arana Gonzales

78

Rodolfo Arana Gonzales

13

Reduccin de un esquema ER a tablas


Segn paso 6. Para una relacin 1:N con participacin total del lado de la entidad N, se necesita una tabla por cada entidad. A la tabla que representa la entidad N se le aade una columna con la clave principal de la otra entidad. SUCURSAL
num_suc direccion

Reduccin de un esquema ER a tablas


Segn paso 8. Para una relacin N:M se necesitan tres tablas: una para representar cada entidad y otra para representar la relacin ms los atributos propios de la misma.
num_prest tipo

PRESTAMO cod_banco num_suc direccion N M RECIBE


importe

CONTROLA N
num_cuenta

SUCURSAL CLIENTE
tipo nss saldo nombre

La tabla PRESTAMO se obtuvo anteriormente

CUENTA

direccion

CLIENTE-PRESTAMO CUENTA
num_suc num_cuenta tipo saldo

Que ya se haba obtenido anteriormente 79

CLIENTE
nss nombre direccion

nss

num_prest

Rodolfo Arana Gonzales

Rodolfo Arana Gonzales

80

Reduccin de un esquema ER a tablas


Segn paso 8. Para una relacin N:M se necesitan tres tablas: una para representar cada entidad y otra para representar la relacin ms los atributos propios de la misma.
num_cuenta tipo

Dudas y Preguntas:

CUENTA
saldo

Las tablas CLIENTE y CUENTA se obtuvieron anteriormente

Correo electrnico: rodolfoarana@gmail.com

M TIENE N CLIENTE

CUENTA-CLIENTE
nss num_cuenta

nss

nombre

direccion

Rodolfo Arana Gonzales

81

Rodolfo Arana Gonzales

82

Rodolfo Arana Gonzales

14

You might also like