Modelo Entidad
Relación E-R
Fuentes http://www-db.stanford.edu/~ullman/fcdb.html
http://wofford-ecs.org/DataAndVisualization/ermodel/index.ht
m Fundamentals of Database Systems, Elmasri y Navathe
Modelo de Datos
Herramienta conceptual:
● Facilitan tránsito mundo real a estructuras para
almacenar en computador
Modelo de Datos E-R
● Propuesto por Chen(1976)
● Basado en conceptos
● entidades
● relaciones
● Atributos
Propósito
● Facilita diseño de esquemas de bd.
● Incluye algunas restricciones
● No incluye operaciones.
● Conversión a diseño db relacional
ETAPAS DISEÑO
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
Mini Mundo
RECOLECCIÓN DE
Requerimientos
Funcionales REQUERIMIENTOS Y ANÁLISIS
Datos de Requerimientos
ANÁLISIS FUNCIONAL
DISEÑO CONCEPTUAL
Alto-Nivel Transacción
Especificación Esquema Conceptual (Modelo de
Datos en alto -nivel)
DBMS Independiente
DISEÑO LÓGICO (DATA
MODEL MAPPING)
DBMS Específico
DISEÑO PROGRAMA
Esquema Lógico Conceptual
APLICACIÓN
(En el Modelo de Datos de un
DBMS especifico)
Diagrama Simplificado de
IMPLEMENTACIÓN DE TRANSACCIONES
DISEÑO FISICO
las principales fases del
diseño de Bases de Datos
Programas Aplicación Esquema Interno
Etapas Diseño
● Análisis de requerimientos
● Diseño conceptual
● Diseño Lógico
● Refinamiento de Esquema
● Diseño Físico
● Diseño mecanismos de seguridad
Diseño Conceptual
● ¿Cuáles son las entidades y sus relaciones en
la organización?
● ¿Qué información sobre estas relaciones
y entidades se debe almacenar en la
bd?
● ¿Cuáles reglas de negocio se deben asegurar?
Modelo E-R ayuda en esta tarea
Modelo E-R Básico
● Entidad
● Objeto del mundo real
● Cada entidad tiene una llave
● Conjunto Entidad (Tipo)
● Colección de entidades similares
● Atributos
● Valores describiendo propiedades de una entidad
● Relaciones (Conjunto Relación)
● Conexiones entre dos o más conjuntos entidad
● Tienen nombres asociados (pueden ser bidireccionales)
Diagramas E-R
● Atributos: propiedades entidades
● Asociados con dominios
● Conectados a conjuntos entidad
● Simples o compuestos
● Llave: atributo especial
● Representados por Atributo
Diagramas E-R
● Entidades y atributos:
● Conjunto Entidad = rectángulo.
● Atributo = ellipse o óvalos, conectados con líneas a
su conjunto entidad. Atómicos o compuestos
(múltiples componentes atómicos).
Nombre Apellido
Nombre Fech-nac
cédula
Fech_nac Nom
cédula
Estudiante
Estudiante
Diagramas E-R
● Atributos
● Valores Atributo:
dominio
● Simples o multivaluados
Nombre Promedio Nombre #créditos Prerreq.
cédula
Estudiante Códig Asignatura
o
Relaciones
● Una relación conecta dos o más entidades.
● Grado de tipo relación: número de tipos de
entidad que participan en ella
● Puede tener atributos propios
● El rol de una entidad en una relación representa
su propósito en la relación
● Nombre de relación con significado
● Representadas por relación
Relaciones
miembro Miembro de
Equipo de laboratorio
Estudiante Equipos
Lider Equipo de laboratorio
Lider de
Roles: miembro, lider, equipo
lab.
Relaciones con atributos
Horario Aula
Profesor Ofrece Asignatura
cédula Nombre Código Nombre
categoría
Relaciones
● Nombre asociado único
● Conectan conjuntos entidad: líneas
● Grado: Número entidades participantes
● Tipo de asociación: 1-1, 1-m, m-n
● Rol: Función que desempeña
● Implícito
● Necesidad especificación (reflexivas)
Conjunto Relación
●El “valor” de un conjunto entidad: conjunto de
entidades que pertenecen a esta.
Ejemplo: El conjunto de todas las películas en la bd.
● El “valor” de un conjunto relación (tipo): conjunto
de tuplas (instancias de relación) con una
componente por cada conjunto entidad
relacionado.
Ejemplo: Conjunto Relación
Para cada relación Miembro de, el conjunto
relación podría ser:
Estudiante Equipo
Pedro P1
Juan P3
Luis P4
Jose P2
María P8
Relaciones Múltiples
Conectan más de dos entidades
Asignatura Ofrece Programa
Aulas
Relaciones Múltiples
Asignatura Ofrece Programa
Aula
Una flecha que apunta a un conjunto entidad E,
significa que si se selecciona una entidad de
cada uno de los otros dos conjuntos entidad en
la relación, éstas se relacionan con una única
entidad en E
Relaciones Recursivas
● La misma entidad participa más de una vez en
la relación
● Equipos de estudiantes jugando rol de
monitores de otros equipos y siendo
monitoreados por otros equipos.
Supervisa
Equipo Supervisión
supervisado
Cardinalidad de las Relaciones
23
Relaciones Muchos-Muchos
En una relación muchos-muchos, una entidad
de un conjunto se puede conectar a muchas
entidades de otro conjunto.
♣ un estudiante matricula muchas asignaturas y una
asignatura es matriculada por muchos
estudiantes.
n m
Estudiantes Matricula Asignaturas
Gráficamente
muchos-muchos
Relaciones Muchos-uno
● Algunas relaciones binarias son muchos -uno
(uno-muchos) entre dos entidades.
● Cada entidad del primer conjunto está
conectado a lo sumo con una entidad del
segundo conjunto.
● Pero, una entidad del segundo conjunto puede
estar conectada a cero, uno o muchas entidades
del primer conjunto.
Gráficamente
muchos-uno
Ejemplo: Relación muchos-uno
● Un computador tiene asignado un solo espacio
● Sin embargo, en un espacio puede haber varios
equipos
1 n
Espacios Equipos
EN
Relaciones uno-uno
● En una relación uno-uno, cada entidad de alguno
de los conjuntos entidad está relacionada a lo
sumo con una entidad del otro conjunto entidad
Un equipo tiene a los sumo un estudiante lider y un
estudiante lider lidera a lo sumo un equipo
1 1
Estudiante Lider de Equipo
Gráficamente
uno-uno
Entidades Débiles
Conjuntos de Entidades
Débiles
● Un conjunto entidad E se dice que es débil si
para identificar sus instancias, de manera
única, es necesario considerar la llave de otra
entidad.
● El conjunto entidad propietaria(fuerte) y la
entidad débil participan tipo de relación muchos-
uno.
● Representadas por
ED ED
E/R Diagramas
nombr
fecha-adq númer isb auto
e
u o n r
Ejemplar Libro
Dificultad escoger atributo como identificación
Conjunto Entidad Débil
● Un conjunto entidad débil tiene una o más
relaciones muchos-uno con otros conjuntos
entidad (propietarios).
● Existencia dependiente de otra entidad
θ Necesidad de identificación
Restricciones de Participación
● Participación de entidades en relaciones son
parciales o totales (Líneas sencillas y dobles)
● Fácil especificación en relaciones binarias
● Representación de: exactamente uno, al menos
uno
Escuelas Administra Director
Atributos o entidades ?
● Claves (Tardieu et al. 1979): Reglas de entidad
● Tener existencia propia
● Instancias de un conjunto entidad distinguibles
unas de otras
● Instancias de un conjunto entidad con
iguales propiedades
Técnicas de Diseño
♣ Evita redundancia.
♣ Uso de entidades débiles limitado.
♣ No usar un conjunto entidad cuando sea
atributo
Evitando Redundancia
● Redundancia = decir lo mismo de dos
formas diferentes
● Ahorrar espacio y reducir inconsistencias.
● Dos representaciones del mismo hecho se
vuelven inconsistente si se cambia una y se
olvida cambiar la otra.
Ejemplo: correcto
referencia nombre direcc
Equipos Hecho-po Fabricante
r
Este diseño da la dirección de cada
fabricante exactamente una
vez
Ejemplo: Incorrecto
referenci nombr direc
a e c
Equipos Hecho-po Fabricante
r
fabricante
Este diseño define al fabricante de equipos
dos veces: como atributo y como una
entidad relacionada.
Ejemplo: Incorrecto
nombre fabric dir-fabric
Equipo
s
Se repite la dirección del fabricante una vez
por cada equipo. Se puede perder la
dirección si no hay, temporalmente,
equipos de un fabricante.
Notación alternativa
(tomada de Fundamentals of database Systems,
Elmasri/Navathe) (i) E (ii) E
a)
Tipo de entidad / Clases de
(i) (ii) (iii) A
Símbolos
Símbolos Atributos A A
Símbolos de Relación (i) R (ii) R (iii) R
b) (iii)
(i) (ii)
Nombre Ssn
. EMPLEADO EMPLEADO
Ssn Dirección EMPLEADO Nom
Ssn
bre
EMPLEADO . Ssn Nombre
Dire cció Nombre Dirección
n . Dirección .
. .
Hire_em
c) N d) . p
(i) 1 N ..
(i) . Fire_emp.
(ii) 1
N (ii) (0,n) (1,1)
(iii)
Notaciones Alternativas
1 (iii)
(1,1) (a) Símbolos para entradas
(0,n)
(iv) tipo/clase, atributos y
(iv)
(v)
0..n
relaciones.
(vi) * (v) 1..1
b) Mostrando Atributos
c) Mostrando relación de
Cardinalidad
d) Notaciones Varias (Min. Max)
Notación alternativa
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
Significado
Symbol Resumen de las notaciones
Entidad
para diagramas ER
Entidad Débil
Relación
Relación Identificada
Atributo
Atributo Llave
Atributo Multivaluado
...
Atributo Compuesto
Atributo Derivado
E1 R E2
Participación total de E2 en R
1 N
E1 R E2 Razón Cardinalidad 1:N para E1:E2 en R
(min, max) Restricción Estructural (min, max) de
R E Participación de E en R
Notación alternativa
(tomada de Fundamentals of database Systems,
Elmasri/Navathe)
EEMMPPLLE TRABAJA_SOBRE DEPARTAMENTO Notación de
4..* 1..1
EAADDOO
Nombre:
Nombre
Multiplicidad en OMT:
Nom b r e :
Nombre_dom
P n o m 1..1 0..1 Numero 1..1
Pnombre
N oMinit
mbre_dom Ingresar_empleado 0..*
b r e M i
ApellidApellido
o
Ssn numero_de_empleado 0..* 0..1
S s n
nit GESTIONA s cambio_director
Fe c h aNac:
F e c h a Na
Se x o : { M , F
Fecha Empezar_fecha ...
S e x o: 1..1
Di
c : re
Fechac c i
}D i e c
SaSalario
{M,la rF}io
1..*
ón a d
ción
ed 1..*
C a mbios_departame * CONTROLA
nto
ca m b io s _ d e p
C a m b i o s _
a r ta m e nto Supervisa
TRABAJA_SOBRE UBICACION
r o y e ct o
ca m bios_proyecto Horas Nombre
, ,, 1..* *
... Nombre_dependencia 0..1
Supervisor
PROYECTO 0..* 1..1
Nombre
Numero Agregar: Notación
DEPENDENCIA Ingresar_emplead en UML
o
S.e.x.o: {M, F} Ingresar_proyecto Entero Entero
Fecha_Nac: cambio_director
Fecha Parentesco ...
... La COMPAÑIA esquema conceptual, notación de
diagramas de clases en UML
Otros conceptos de diseño
extendido
Relaciones IS-A
● Indican relación clase-subclase
● Representadas mediante un triángulo
Nombr Empleado Cédula
e s
isa
Categori Profesore
a s
E-R Extendido
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
Pnombre Minit Apellido
EER diagrama, notación
para representar las
Nombre Ssn FechaNac Dirección
subclases y especialización
EMPLEADO
d d
Pago_escala
Velocidad_de_escritura Tgrado Fin_escritura EMPLEADO_POR_HORAS
Salario
SECRETARIA TECNICO INGENIERO ADMINISTRADOR
EMPLEADO_ASALARIADO
GESTIONA PERTENECE_A
Tres especificaciones para EMPLEADO:
{SECRETARIA, TECNICO, INGENIERO}
{ADMINISTRADOR}
{EMPLEADO_POR_ HORAS, PROYECTO FABRICA_UNION
EMPLEADO_ASALARIADO}
Especialización
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
Pnombre Minit Apellido
Ssn FechaNac Dirección Tipo_trabajo
Nombre
EMPLEADO
Tipo_trabajo
d
‘Secretaria’ ‘Ingeniero’
Velocidad_de_escritura Tgrado Fin_escritura
‘Técnico’
SECRETARIA TECNICO INGENIERO
EER diagrama, notación para un atributo – definido en tipo_trabajo
Generalización
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
No_de_pasajeros No_de_ejes
Max_velocidad
Tonelaje
CARRO Precio Precio CAMION
Id_vehiculo
Id_vehiculo
No_de_Licencia
No_de_Licencia
Precio
Id_vehiculo No_de_Licencia
VEHICULO
No_de_pasajeros No_de_ejes
Tonelaje
Max_velocidad
CARRO CAMION
Generalización.
(a) Dos tipos de entidades, CARRO y CAMION.
(b) Generalizando CARRO y CAMION en la
superclase VEHICULO.
Generalización/Especialización
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
Nombre Sexo Direccion
Fecha_Nacimiento
Ssn PERSONA
o
salario Enfasis_dpto
EMPLEADO GRADUADO ESTUDIANTE
Grados
Año Grado Énfasis
d o
Tiempo_porcentaje
STAFF FACULTAD ESTUDIANTE_ ESTUDIANTE_ ESTUDIANTE_NO_
ASISTENTE GRADUADO GRADUADO
Posicion Rank Programa_grado Clase
d
Proyecto Curso
ASISTENTE_DE_INVESTIGACION ASISTENTE_DE_DOCENCIA
Una especialización de una estructura con herencia múltiple para una Base de Datos de
una UNIVERSIDAD.
Generalización/Especialización UML
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
EPMEPRLSE Diagrama de clases UML
Nombre
O N A
SsnA D O correspondiente al modelo EER en la
FechaNac Figura 4.7, Ilustrando la notación UML
Sexo
Direccion para especialización/generalización
edad
...
EMPLEADO GRADUADOS GRADOS ESTUDIANTE
Año Enfasis_dept
Salario
Grado Cambio_enfasis
Alumnos_nuevos Énfasis
… …
ESTUDIANTE_ASIS
STAFF FACULTAD
TENTE
Posicion Categoria T.i.e.mpo_porcentaje
. Promote
… … .
…
ASISTENTE_DE_ ASISTENTE_DE_ ESTUDIANTE_GRADUADO ESTUDIANTE_NO_GRADUADO
INVESTIGACION DOCENCIA Class
Proyecto Curso Grado_programa
Cambio_proyecto Asignado_al_curs . Cambio_clasificacion
… …
o … …
Notación alternativa
(tomada de Fundamentals of database Systems, Elmasri/Navathe)
C C C
(i) (ii) (iii)
G
d o s
G G
S1 S2 S3 S1 S2 S3 S1 S2 S3
(iv) (v) C (vi) C
C
S1 S2 S3
S1 S2 S3 S1 S2 S3
Notaciones Alternativas
e) Notación para mostrar especialización/generalización