Modelo Entidad Relación

Anuncio
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Gestion y Modelación de Datos
Diseño de BD - Modelo Entidad Relación
Marı́a Constanza Pabón
Julio de 2011
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Contenido
1
Diseño de Bases de Datos
2
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Diseño de Bases de Datos
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Diseño Conceptual
Describe el contenido (información) de la base de datos, no
las estructuras de almacenamiento
Tiene como propósito comprender el dominio del problema y
facilitar la comunicación entre las personas interesadas
(desarrolladores, usuarios, ...)
Son completos y expresivos, y las descripciones que con ellos
se construyen son simples, precisas y fáciles de usar
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Modelos de Datos
Definición
”Los modelos de datos están integrados por una serie de conceptos
para describir datos, sus relaciones y restricciones, y son útiles para
representar, de manera abstracta, el mundo real” [?]
Un modelo de datos tiene 3 componentes [?]
Un conjunto de tipos de estructuras de datos
Un conjunto de reglas u operadores para manipular datos
Un conjunto de reglas de integridad
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Estructuras del Modelo Entidad-Relación (MER) I
En el Modelo Entidad-Relación se describe el mundo real a través
de entidades, relaciones entre las entidades y atributos
Tiene una notación esquemática: El Diagrama Entidad Relación
Entidad
Una entidad es una cosa u objeto en el mundo real que es
distinguible de todos los demás objetos.
Ejemplo: una persona
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Estructuras del Modelo Entidad-Relación (MER) II
Atributo
Las propiedades de una entidad se describen mediante un conjunto
de atributos. La entidad tiene un valor para cada uno de sus
atributos.
Ejemplo, el número de cédula es un atributo de una persona, y su
valor podrı́a ser 29.092.939
El dominio de un atributo es el conjunto de valores permitidos para
ese atributo.
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Estructuras del Modelo Entidad-Relación (MER) III
Conjunto de entidades (o Tipo de Entidad)
Es un conjunto de entidades del mismo tipo que comparten las
mismas propiedades, o atributos.
Ejemplo: el conjunto de todas las personas que son clientes de un
banco.
Las entidades individuales son la extensión del conjunto de
entidades.
El tipo de entidad define la intensión de la entidad
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Estructuras del Modelo Entidad-Relación (MER) IV
Relación
Es una asociación entre dos o más entidades.
Ejemplo: si se tienen las entidades ”estudiante Perez” y ”curso
Bases de Datos” se puede definir una relación que asocie al
estudiante con el curso.
Una relación también puede tener atributos.
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Estructuras del Modelo Entidad-Relación (MER) V
Conjunto de Relaciones
Es un conjunto de relaciones del mismo tipo.
El Tipo de Relación define las propiedades comunes de un
conjunto de relaciones (intensión / extensión).
Al número de tipos de entidad que participan en un tipo de
relación se le denomina grado. Ejemplo: relación binaria (grado 2),
ternaria (grado 3).
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Ejemplos de Entidad
Sujeto: Cliente, Proveedor, Empleado
Objeto: Producto, Factura
Evento: Solicitud de Pedido, Ajuste, Venta
Lugar: Ciudad, Paı́s, Bodega
Abstracción: Tipo de cliente, Unidad de medida
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Diagrama Entidad Relación
La estructura de una base de datos puede ser expresada
gráficamente con un Diagrama Entidad-Relación
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Ejemplo
Marı́a Constanza Pabón
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Tipos de Atributo I
Simple / Compuesto
Simple: no se divide en subpartes
Compuesto: se divide en subpartes. Se representa con ovalos
conectados. Ej. NombreEstudiante
Monovaluado / Multivaluado
Monovaluado: tiene un solo valor para una entidad especı́fica
Multivaluado: tiene un conjunto de valores para una entidad
especı́fica. Se representa con un doble ovalo. Ej. DirecciónCorreo
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Tipos de Atributo II
Almacenado / Derivado
Almacenado: se guarda en la base de datos
Derivado: Su valor se obtiene a partir del valor de otros atributos o
entidades relacionados. Se representa con un ovalo punteado. Ej.
Edad (se deriva del año de nacimiento)
Valor Nulo
Un atributo toma un valor nulo cuando una entidad no tiene un
valor para el. El valor nulo puede indicar que el valor no existe para
la entidad (”no aplica”) o que es desconocido. Ejemplo:
SegundoNombre
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Ejemplo
Marı́a Constanza Pabón
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Entidades
Regulares
Una entidad regular existe por si misma. Ejemplo: Empleado
Débiles
La existencia de una entidad débil depende de la existencia de una
entidad regular. Se representa con dos rectángulos concéntricos.
Ejemplo: Hijos (del empleado), si se elimina el empleado, se
eliminan también sus hijos.
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Restricciones del MER
Restricciones Inherentes
Limita los tipos de estructura que es posible representar en el
modelo de datos
Los tipos de relación solo se pueden definir entre tipos de
entidades
Clave primaria (Llave)
Restricciones Semánticas
Restringen los valores que pueden tomar los atributos o imponen
limitaciones a las caracterı́sticas de las relaciones
Cardinalidad de la relación
Participación de las entidades en las relaciones
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Atributos Clave
Un conjunto de atributos suficiente para distinguir de manera
unı́voca las entidades y las relaciones.
La Clave Primaria (Llave) es una clave elegida por el diseñador
como elemento principal para identificar las entidades. Es elegida
de un conjunto de Claves Candidatas.
Se representa subrayando el nombre de los atributos.
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Cardinalidad
Expresa el número de entidades a las que otra entidad puede estar
asociada vı́a un conjunto de relaciones
Para un conjunto de relaciones binarias R entre los conjuntos de
entidades A y B, la cardinalidad es:
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Restricciones de Participación
Participación Total
La participación de un conjunto de entidades E en un conjunto de
relaciones R es total si cada entidad en E participa al menos en
una relación en R.
La participación es obligatoria. Se representa con doble linea.
Participación Parcial
La participación de un conjunto de entidades E en un conjunto de
relaciones R es parcial si solo algunas entidades en E participan en
relaciones en R.
La participación es opcional.
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Dependencias
Dependencia en Existencia
Cuando la entidad débil no puede existir sin la existencia de la
entidad regular de la cual depende
Dependencia en Identificación
Cuando, además de la dependencia en existencia, la entidad débil
no se puede identificar con sus propios atributos, y debe incluir en
su clave la clave de la entidad regular
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
MER Extendido
Especialización / Generalización (IS-A)
Herencia de atributos
Restricciones sobre la generalización
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Especialización / Generalización
Especialización
El proceso de designación de subgrupos dentro de un conjunto de
entidades. Ejemplo: la especialización de persona en empleado y
cliente
La especialización se hace por una o más caracterı́sticas distintivas
(atributos o participación en relaciones)
Generalización
Se puede dar cuando dos conjuntos de entidades tienen similitudes
(atributos y relaciones en común). Ejemplo: las entidades
empleado y cliente se generalizan en persona
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Especialización / Generalización
La especialización se da en un proceso de diseño descendente
La generalización en un proceso de diseño ascendente
También se puede llamar relación superclase-subclase. Se
representa con un triangulo etiquetado con ”ES” (IS-A)
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Herencia de Atributos
Los conjuntos de entidades de nivel más bajo (subclases) heredan
los atributos y la participación en las relaciones de los conjuntos de
entidades de nivel más alto (superclase)
Jerarquı́a
En una jerarquı́a un conjunto de entidades dado puede estar
implicado como un conjunto de entidades de nivel más bajo sólo
en una única relación ES
Herencia Múltiple
Si un conjunto de entidades es un conjunto de entidades de nivel
más bajo en más de una relación ES, entonces el conjunto de
entidades tiene herencia múltiple
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Restricciones sobre la generalización I
Pueden generar requisitos a cumplir durante la inserción,
actualización o eliminación de datos.
Definido por condición
Una entidad es miembro de un conjunto de entidades de nivel más
bajo si satisface una condición establecida. Ejemplo: si tipo-cuenta
= “Ahorro”, la Cuenta es una Cuenta-de-Ahorro
Definido por usuario
Si la asignación a un conjunto de entidades de nivel más bajo no se
establece por una condición
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Restricciones sobre la generalización II
Disjunto
Requiere que una entidad no pertenezca a más de un conjunto de
entidades de nivel más bajo. Ejemplo: Cuenta-de-Ahorro y
Cuenta-Corriente en la generalización Cuenta
Se representa añadiendo la etiqueta ”Disjunto” al triangulo.
Solapado
La misma entidad puede pertenecer a más de un conjunto de
entidades de nivel más bajo. Ejemplo: Empleado y Cliente en la
generalización Persona
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Restricciones sobre la generalización III
Generalización o especialización total
Cada entidad de nivel más alto debe pertenecer a un conjunto de
entidades de nivel más bajo. Ejemplo: la generalización Cuenta
Se representa uniendo con lı́nea doble la entidad de nivel más alto
con el simbolo del triangulo.
Generalización o especialización parcial
Algunas entidades de nivel más alto pueden no pertenecer a algún
conjunto de entidades de nivel más bajo. Ej. grupos de trabajo a
los que pertenece un empleado
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Notaciones
Marı́a Constanza Pabón
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Aspectos de diseño [?, ?] I
Entidad o atributo?: al tratar algo como entidad se modela
mejor una situación en la que se almacena información extra,
es una definición más general
Entidad o relación?: Prestamo se puede modelar como
entidad o como relaciones. Generalmente se usan las
relaciones para modelar una acción
Atributo o relación?
Entidades fuerte o débil?: una entidad fuerte con sus
entidades débiles se puede considerar un solo objeto
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Aspectos de diseño [?, ?] II
Clave primaria: atributos del mundo real o surrogates?
tener en cuenta que la clave primaria:
No acepta valores nulos: siempre debe estar disponible cuando
se crea la entidad o relación
Es única en el conjunto de entidades o relaciones
Es mı́nima: es irreducible, no incluye atributos que no son
requeridos para garantizar su unicidad
Es estable: su valor no cambia
Marı́a Constanza Pabón
Diseño de Bases de Datos
Modelo Entidad-Relación (MER)
Estructuras
Diagrama Entidad Relación
Tipos de Atributo
Entidades
Restricciones del MER
MER Extendido
Notaciones
Aspectos de diseño
Aspectos de diseño [?, ?] III
Algunos errores:
Usar la clave primaria de una entidad como un atributo de otra
entidad, en lugar de usar una relación
Designar a los atributos de la clave primaria de entidades
relacionadas como atributos del conjunto de relaciones
Relaciones redundantes
Situaciones poco comunes:
Entidades sin relaciones
Relaciones en las que varias entidades tienen participación
obligatoria (problema huevo-gallina: quien primero?)
Marı́a Constanza Pabón
Bibliografı́a I
Descargar