Está en la página 1de 30

Prof.

Jos Ignacio Vzquez Herrera


Bibliografa:
Fundamentos de sistemas de bases de datos Ramez Elmasri y Shamkant B. Navathe Fundamentos de bases de datos Henry F. y Abraham Silverschatz Sistemas de Bases de Datos. Diseo, Implementacin y Admn Peter Rob y Carlos Coronel

Un primer ejemplo:
nPila paterno materno direc nombre sexo sueldo N

Diagrama ER para la base de datos COMPAA


nombre nmero lugares 1

PERTENECE_A

fechaIni 1 1 num_empleados

DEPARTAMENTO

Nss fechaN

EMPLEADO

DIRIGE

1 CONTROLA

supervisado

supervisor 1

M 1 N DEPENDIENTE_DE

TRABAJA_EN

N N

SUPERVISIN

horas

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

N DEPENDIENTE nmero nombre nombre sexo fechaN parentesco

PROYECTO

lugar

Base de datos COMPAA


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

Base de datos COMPAA


3. Almacenamos 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.
4. 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.

Paso 1. Identificar Entidades


nombre nPila paterno materno nmero direc nombre sexo sueldo lugares

DEPARTAMENTO

Nss fechaN

EMPLEADO

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

num_empleados

PROYECTO
nombre
sexo fechaN parentesco nombre lugar nmero

Paso 2. Resolver relaciones


nPila paterno materno direc nombre nmero lugares

nombre

sexo

sueldo

Nss fechaN

EMPLEADO
supervisado

supervisor

SUPERVISIN

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

DEPARTAMENTO

num_empleados

DEPENDIENTE
nmero nombre sexo fechaN parentesco nombre

PROYECTO

lugar

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo sueldo

lugares

PERTENECE_A DEPARTAMENTO

Nss fechaN

EMPLEADO
num_empleados

supervisado

supervisor

SUPERVISIN PROYECTO DEPENDIENTE


nmero nombre sexo fechaN parentesco nombre lugar

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo sueldo lugares

PERTENECE_A DEPARTAMENTO DIRIGE

Nss fechaN

EMPLEADO
supervisado

num_empleados

supervisor

SUPERVISIN

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


PROYECTO
nmero

DEPENDIENTE

nombre sexo fechaN parentesco

nombre

lugar

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo sueldo

lugares

PERTENECE_A DEPARTAMENTO DIRIGE

Nss fechaN

EMPLEADO
supervisado

num_empleados

supervisor

CONTROLA

SUPERVISIN PROYECTO
nmero nombre nombre sexo fechaN parentesco lugar

DEPENDIENTE

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo sueldo lugares

PERTENECE_A DEPARTAMENTO DIRIGE

Nss fechaN

EMPLEADO
supervisado

num_empleados

CONTROLA TRABAJA_EN

supervisor

SUPERVISIN

DEPENDIENTE
nmero sexo fechaN parentesco nombre

PROYECTO

nombre

lugar

Paso 2. Resolver relaciones


nombre nPila paterno materno nmero direc nombre sexo sueldo lugares

PERTENECE_A DEPARTAMENTO DIRIGE

Nss

EMPLEADO
supervisado

fechaN

num_empleados

supervisor

TRABAJA_EN

CONTROLA

SUPERVISIN

DEPENDIENTE_DE
PROYECTO DEPENDIENTE
nmero nombre sexo nombre lugar

fechaN

parentesco

Paso 3. Determinar cardinalidades


nombre nPila paterno materno direc nombre sexo

N
sueldo

PERTENECE_A

nmero

lugares

DEPARTAMENTO 1 DIRIGE M 1 1
num_empleados

Nss fechaN

EMPLEADO
supervisado

1 CONTROLA

supervisor

TRABAJA_EN

N N

SUPERVISIN

DEPENDIENTE_DE N DEPENDIENTE
nmero nombre nombre sexo fechaN parentesco lugar

PROYECTO

Paso 4. Identificar participaciones


nombre nPila paterno materno direc nombre sexo sueldo

PERTENECE_A

nmero

lugares

DEPARTAMENTO 1

Nss fechaN

EMPLEADO
supervisado

1
DIRIGE M
num_empleados

1 CONTROLA

supervisor

1 N DEPENDIENTE_DE N

TRABAJA_EN

N N

SUPERVISIN

PROYECTO
nmero

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

DEPENDIENTE

nombre
nombre lugar sexo fechaN parentesco

Paso 5. Identificar Entidades dbiles


nombre nPila paterno materno direc nombre sexo sueldo

PERTENECE_A

nmero

lugares

DEPARTAMENTO 1 DIRIGE M 1 1
num_empleados

Nss fechaN

EMPLEADO
supervisado

1
CONTROLA

supervisor

TRABAJA_EN

N N

SUPERVISIN

DEPENDIENTE_DE N DEPENDIENTE
nmero nombre nombre lugar

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

PROYECTO

sexo
fechaN

parentesco

Paso 6. Identificar Atributos Clave


nPila paterno materno direc nombre sexo sueldo

Un atributo clave identifica de manera unvoca a un tipo de entidades.


N PERTENECE_A 1
nmero

nombre lugares

DEPARTAMENTO 1 DIRIGE M 1 1
num_empleados

Nss fechaN

EMPLEADO
supervisado

1 CONTROLA

supervisor

TRABAJA_EN

N N

SUPERVISIN

DEPENDIENTE_DE
N DEPENDIENTE
nmero nombre

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

PROYECTO

nombre sexo fechaN

parentesco

lugar

Paso 7. Identificar Atributos de Relaciones


nombre nPila paterno materno direc nombre sexo sueldo

PERTENECE_A

nmero

lugares

fechaIni

DEPARTAMENTO DIRIGE M 1
num_empleados

nss fechaN

EMPLEADO
supervisado

1 CONTROLA

supervisor

1 N DEPENDIENTE_DE N DEPENDIENTE

TRABAJA_EN

N N

SUPERVISIN

horas

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

PROYECTO
nmero nombre

nombre sexo fechaN parentesco

lugar

El minimundo BIBLIOTECA
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.

Desarrollando el Diagrama E-R


Paso 1

Identificar Entidades Paso 2 Resolver Relaciones (vnculos) Paso 3 Determinar Cardinalidades


Paso 4

Identificar Participaciones Paso 5 Identificar Entidades dbiles Paso 6 Identificar Atributos CLAVE

1. Identificar identidades
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.

1. Identificar identidades
LIBRO

USUARIO

EJEMPLAR

AUTOR

MULTA

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.

2. Resolver relaciones (vnculos)


LIBRO

RESERVA

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

TIENE

ESCRIBE

AUTOR USUARIO PRESTAMO EJEMPLAR

IMPUESTA_A

MULTA

SE_APLICA

3. Determinar Cardinalidades
LIBRO M 1 TIENE

RESERVA

Posibles valores: 1:1 uno a uno 1:N uno a muchos N:M muchos a muchos
N N M PRESTAMO

N
ESCRIBE

USUARIO

EJEMPLAR

AUTOR

1 M IMPUESTA_A MULTA M

SE_APLICA

4. Identificar Participaciones
LIBRO M RESERVA N

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

1 TIENE M

N ESCRIBE M

USUARIO

PRESTAMO

EJEMPLAR

AUTOR

1 IMPUESTA_A M MULTA M

1 SE_APLICA

5. Identificar Entidades dbiles


LIBRO

Entidad propietaria
M RESERVA N 1 N ESCRIBE M

Relacin identificadora
TIENE

Entidad dbil

USUARIO

PRESTAMO

EJEMPLAR

AUTOR

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

6. Identificar Atributos Clave


LIBRO M RESERVA id_usuario N M isbn N ESCRIBE M id_autor 1 TIENE

num_ejem

USUARIO

PRESTAMO

EJEMPLAR

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

Notacin alternativa
Otra forma de representar las restricciones estructurales (razn de cardinalidad y restriccin de participacin) es mediante la notacin (min, max). Significa que cada ejemplar de entidad debe participar en por lo menos min ejemplares de relaciones y cuando ms en max ejemplares de relaciones.

min

= 0 implica participacin parcial.

min >= 1 implica participacin total.

Notacin alternativa
Con el ejemplo anterior:
LIBRO

(0, N)

(1, N) TIENE (1, 1)

(1, N)

RESERVA (0, N)

ESCRIBE (1, N)

USUARIO

(0, N)

PRESTAMO

(0, 1)

EJEMPLAR

AUTOR

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

Notacin alternativa
nPila paterno materno direc nombre sexo sueldo (1,1)

Con el ejemplo anterior:


nombre nmero lugares

PERTENECE_A
fechaIni 1 1

(1,M)

DEPARTAMENTO

Nss fechaN

EMPLEADO

DIRIGE

num_empleados

1 CONTROLA

supervisado

supervisor 1

M 1 N DEPENDIENTE_DE

TRABAJA_EN

N N

SUPERVISIN

horas N DEPENDIENTE nmero nombre nombre sexo fechaN parentesco

PROYECTO

lugar

Preguntas:

También podría gustarte