diseño conceptual de una base de datos: modelo entidad/relación extendido (elmasri-korth)

57
Unidad II Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Upload: guillermo-robles-arroyo

Post on 25-Jan-2016

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Unidad II

Diseño Conceptual de una Base de Datos:

Modelo Entidad/Relación Extendido(Elmasri-Korth)

Page 2: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

OBTENCION Y ANALISIS DE REQUERIMIENTOS

ANALISIS FUNCIONAL

DISEÑO FISICO

Independiente del SGBD

Específico para cada SGBD

IMPLEMENTACION DE LA APLICACIÓN

Minimundo

Minimundo

DISEÑO CONCEPTUALModelo Entidad

Relación Extendido

Implementación tablas “físicas”:

clustering, indices, hashing, etc

Especificación tablas “lógicas”: atributos,

claves primarias, foráneas

Diagrama ERE

Especificación de Requerimientos

Proceso de Construcción de una base de datos

DISEÑO LOGICO

Page 3: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Modelar una base de datos utilizando el enfoque Entidad/Relación Extendido

Mapear el diagrama obtenido (DER) al modelo relacional

Diseño Conceptual: Modelo Entidad/Relación Extendido

Page 4: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Permite percibir del mundo a través de 2 tipos de objetos básicos

Modelo Entidad / Relación Extendido

entidades relacioneso vinculaciones

Page 5: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Entidad objeto que existe y es distinguible entre otros objetos

concreta abstracta

conjunto de atributos

Modelo Entidad / Relación Extendido:

Entidades

Page 6: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Juan Av. Libertador 1112 Oeste 25 años Soltero

Entidad Persona

Modelo Entidad / Relación Extendido:

Entidades

Page 7: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Tipos de Atributos

Simples - Compuestos

Almacenados - Derivados

Monovaluados – Multivaluados

Modelo Entidad / Relación Extendido:

Atributos

Page 8: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Simbología Simples - Monovaluados

Multivaluados

Compuestos

Derivados

Modelo Entidad / Relación Extendido:

Atributos

Page 9: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Conjunto de Entidades

conjunto de entidades del mismo tipo

disjuntos no disjuntos

Modelo Entidad / Relación Extendido:

Entidades

Page 10: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Alumnos

Guadalupe

Carlos

Susana

Alejandra

AnaJoaquín

MarianoLorena

Carlos

AbelAnalía

AnaGermán

Mariano

Docentes

Conjuntos de entidades no disjuntos

Modelo Entidad / Relación Extendido:

Entidades

Paula

Page 11: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Conjuntos de entidades disjuntos

HombresGuadalupe Paula

Susana

Alejandra

Lorena

Ana

CarlosAbel

MarianoMiguel

Germán

Joaquín

Mujeres

Modelo Entidad / Relación Extendido:

Entidades

Analía

Page 12: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Simbología

dni

nombre

dir

telefonos

edad

Persona

Modelo Entidad / Relación Extendido:

Entidades

fecha_nac

Page 13: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Toda entidad posee un atributo o conjunto de atributos que la identifican unívocamente

Modelo Entidad / Relación Extendido:

Claves primarias (entidades)

Clave simple Clave compuesta

Page 14: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Representación:

Modelo Entidad / Relación Extendido:

Claves primarias (entidades)

dni

nombre

dir

telefonos

edad

Persona

fecha_nac

Page 15: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Modelo Entidad / Relación Extendido:

Relaciones o Vinculaciones

Relación Asociación o Vinculación entre entidades

Médico atiende a paciente Profesor dicta curso

Page 16: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Formalmente, es una relación matemática de n conjuntos de entidades (n>1):

Sean E1, E2, ..., En conjunto de entidades, entonces R formada por {(e1, e2, ...,en)/ e1 E1, e2 E2, en En} es una relación

Nota: Los Ei no son necesariamente distintos. Ejemplos:

Materia es correlativa Materia

Empleado es jefe de Empleado

Modelo Entidad / Relación Extendido:

Relaciones o Vinculaciones

Page 17: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Conjunto de Relaciones

conjunto de relaciones o

vinculaciones del mismo tipo

Modelo Entidad / Relación Extendido:

Relaciones o Vinculaciones

Page 18: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

dicta

dni

nombre

dir

estado_civil

edad

Persona Curso

codigo

nombre

duracion

posee

nroCliente

nombre

tel

Persona Factura

nroFactura

fecha

importeTotal

Modelo Entidad / Relación Extendido:

Relaciones o Vinculaciones

Page 19: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

dicta

dni

nombre

dir

estado_civil

edad

Persona Curso

codigo

nombre

duracion

Libro

isbn

nombre

Modelo Entidad / Relación Extendido:

Relaciones o Vinculaciones

editorial

Page 20: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Multiplicidad / Cardinalidad 1 - 1

Factura RemitotieneAsociada

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Page 21: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Multiplicidad / Cardinalidad 1 - n

Factura RemitotieneAsociada

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

Page 22: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Multiplicidad / Cardinalidad n - 1

Factura RemitotieneAsociada

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

Page 23: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Multiplicidad / Cardinalidad n - m

Factura RemitotieneAsociada

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

Page 24: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Atributos- entidades

- relaciones

Modelo Entidad / Relación Extendido:

Atributos

Ejemplos de entidades con sus

atributos?

Ejemplos de relaciones con

atributos?

silvina
ejemplode relacion con atributo propio
Page 25: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Supongamos que debemos representar entidades Persona, específicamente su dni, nombre, dirección, y la localidad correspondiente:

Podríamos pensar en dos soluciones:

Modelo Entidad / Relación Extendido:

Atributos vs Entidades

¿Podríamos confundir un atributo con una entidad?

Page 26: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

localidad

1) Considerar localidad como un atributo:

dni

nombre

Persona

Modelo Entidad / Relación Extendido:

Atributos vs Entidades

Page 27: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

2) Considerar localidad como una entidad:

dni

nombre

Persona Localidadhabita

Codigo_postal

nombre

Modelo Entidad / Relación Extendido:

Atributos vs Entidades

Page 28: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

¿Cuál es la principal diferencia entre las dos representaciones presentadas?

En el caso 1 cada localidad no tiene atributos propios

En el caso 2 cada localidad podría tener atributos propios

Modelo Entidad / Relación Extendido:

Atributos vs Entidades

Page 29: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Entonces, ¿qué constituye un atributo y qué un conjunto de entidades?

Depende Realidad que modele

Semántica asociada

Modelo Entidad / Relación Extendido:

Atributos vs Entidades

?

Page 30: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Hasta el momento hemos definido los conceptos propios del Modelo Entidad/Relación

Otros conceptos incorporados

Agregación

Entidades Débiles

Modelo Entidad / Relación Extendido

Generalización-Especialización

Page 31: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Una entidad es débil cuando sus atributos no son suficientes para poder identificarla unívocamente

Modelo Entidad / Relación Extendido:

Entidades fuertes y débiles

clave de entidad fuerte de la cual depende

+

discriminador de la entidad débil (distingue las entidades débiles que dependen de dicha

entidad fuerte)

clave entidad débil

Page 32: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Hotel Habitaciónposee

cuit

nombre

direccion

nroHab

piso

telefono

ciudad

tipo

Clave Hotel = cuit Clave Habitación = cuit + nroHab

Modelo Entidad / Relación Extendido:

Entidades fuertes y débiles

Page 33: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Si la existencia de la entidad x depende de la existencia de la entidad y

• y es una entidad dominante

• x es una entidad subordinada

si se suprime y se suprime x operativamente

Modelo Entidad / Relación Extendido:

Entidades: Dependencias de existencias

Page 34: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Toda entidad débil tiene dependencia de existencia sobre la entidad fuerte relacionada

Una entidad débil, además de estar relacionada con la entidad fuerte de la que depende, puede estar relacionada con otra entidad

Modelo Entidad / Relación Extendido:

Entidades: Dependencias de existencias

Page 35: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Modelo Entidad / Relación Extendido:

Entidades fuertes y débiles

Hotel Habitaciónposee

cuit

nombre

direccion

nroHab

piso

telefono

ciudad

tipo

Persona

ocupa

Page 36: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

La agregación considera una relación como una entidad

Modelo Entidad / Relación Extendido:

Agregación

Permite vincular relaciones

Page 37: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Modelo Entidad / Relación Extendido:

Agregación

nombre

laboratorio

Medicamento Presentacióntiene

descripción

Farmacia

posee

cuit

nombre

Page 38: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Modelo Entidad / Relación Extendido:

Agregación

nombre

continente

Pais Ciudadtiene

nombre

AtraccionTurística

posee

nombre

precio

Page 39: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Modelo Entidad / Relación Extendido:

Generalización - Especialización

patente

marca

Vehículo

modelo

Automóvil Camión Colectivo

cantPuertas pesoMax personasMax

relacionA relacionB

Page 40: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Modelo Entidad / Relación Extendido

El Modelo Entidad/Relación Extendido

nos permite construir el modelo conceptual de la realidad

Base para el modelo lógico

Base para el modelo físico

Reglas de transformación

Page 41: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Una empresa que posee sucursales en diferentes ciudades del país, necesita generar una pequeña base de datos que mantenga información de los empleados que trabajan en ella.

En cuanto a las sucursales, se necesita registrar número, nombre, teléfonos y ciudad donde se ubica.

De los empleados, DNI, nombre, fecha de nacimiento, trabajo que desempeña, comisión (en caso de que corresponda), y la sucursal en la que trabaja. Además es necesario conocer el gerente de cada sucursal (es un empleado más).

Ejercicio

Page 42: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Diseño LógicoConversión del Modelo ERE a tablas

Page 43: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Cada entidad del esquema conceptual se transforma en una tabla base. ◦ Atributos:

Los atributos (simples) de la entidad se convierten en los atributos de la tabla.

Cada componente de un atributo compuesto se convierte en un atributo de la tabla.

◦ Clave: La clave primaria de la tabla es la identificada para

la entidad.

Entidades

Page 44: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Los atributos multivaluados generan una tabla adicional.◦ Atributos:

El atributo multivaluado La clave de la entidad

◦ Clave: La clave de esta tabla será (en general) la unión de

ambos atributos

Entidades

Page 45: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Se pueden implementar alguna de las siguientes opciones, según corresponda:

1. Una tabla por cada entidad (superclase y subclases):

◦ Sirve para cualquier tipo de jerarquía.

2. Una tabla por cada subclase:◦ Sólo sirve para jerarquías totales y exclusivas.

3. Integrar todas las entidades en una tabla:◦ Genera Nulos◦ Se debe agregar un atributo que indique el tipo de entidad.

Entidades vinculadas con una Relación Generalización - Especialización

Page 46: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Opción 1: Es la mas general. Sirve para cualquier tipo de jerarquía.

◦ Tabla de la superclase: La tabla contendra todas las instancias. Atributos:

Todos los atributos de la superclase Clave:

El atributo clave de la superclase

◦ Tablas de cada subclase: Cada tabla contendra solo las instancias de la subclase correspondiente. Atributos:

El atributo clave de la superclase Todos los atributos de la subclase

Clave: El atributo clave de la superclase

Entidades vinculadas con una Relación Generalización - Especialización

Page 47: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Opción 2: Sólo sirve para jerarquías totales y exclusivas.

◦ Una tabla por cada subclase: Cada tabla contendra las instancias de la subclase correspondiente. Atributos:

Todos los atributos de la superclase Todos los atributos de la subclase

Clave: El atributo clave de la superclase

Entidades vinculadas con una Relación Generalización - Especialización

Page 48: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Opción 3: Integrar todas las entidades en una tabla: La tabla contendrá las todas las instancias

Atributos: Todos los atributos de la superclase Todos los atributos de la subclase Un atributo que indique el tipo correspondiente a la subclase a la que

pertenece Clave:

El atributo clave de la superclase

OBSERVACIONES:◦ Genera Nulos ◦ Se debe agregar un atributo que indique el tipo de entidad.

Entidades vinculadas con una Relación Generalización - Especialización

Page 49: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Entidades Debiles

Al igual que una entidad (fuerte) se transforma en una tabla base. ◦ Atributos:

Los atributos (simples) de la entidad se convierten en los atributos de la tabla.

Se agrega como atributo, la clave de la entidad fuerte a la que esta vinculada

◦ Clave: La clave primaria de la entidad fuerte a la que se

vincula

+ La clave primaria de la tabla correspondiente a la

entidad debil (discriminador)

Page 50: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Relaciones binarias 1-n◦ No generan tabla◦ A la tabla correspondiente a la entidad del lado n

de la vinculación, se le agrega la clave de la entidad del lado 1 de la relación.

◦ Si la relación tiene atributos, esos atributos se colocaran en la tabla a la que se le agrego la clave.

Relaciones o Vinculaciones

Page 51: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Relaciones binarias 1- 1◦ No generan tabla◦ Se agrega el atributo clave en alguna de las dos tablas

de las entidades vinculadas◦ Si tiene atributos, se coloca en la tabla a la que se le

agrego la clave

NOTA: Las 2 entidades vinculadas podría reunirlas en una sola tabla

.

Relaciones o Vinculaciones

Page 52: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Relaciones binarias m-n◦ Generan tabla◦ La tabla contendrá las claves de las entidades

vinculadas, mas los atributos propios (si los tuviera): Atributos:

Las claves de las entidades vinculadas Los atributos propios de la relacion, si los tuviera

Clave: En caso de no tener atributos propios: La unión de las dos

claves de las entidades vinculadas En caso de tener atributos propios: Idem anterior, pero además

puede necesitar agregar algun/nos de los atributos de la relación

Relaciones o Vinculaciones

Page 53: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

La relacion m-n agregada genera tabla tal como se menciono en el caso de cualquier relacion m-n

La relacion vinculada a la agregacion se implementa según corresponda al tipo de vinculacion (1-1, 1-n, m-n).

Tener cuidado con la clave!!! Justamente en el caso de tener atributos que formen parte de la clave en la agregacion

Agregación

Page 54: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Estas reglas de conversión son generales Debieran ser aplicadas con criterio critico a

la luz de las consultas y la evolución probable de la realidad que se esta modelando.

Diseño Logico

Page 55: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Este debe realizarse en base a las formas de almacenamiento y técnicas de acceso provistas por el motor especifico en el que se implementara la base de datos (como muestra el grafico)

Por ello, no se describe en forma especifica en la materia. En la unidad del Nivel Interno se ven en forma general algunos aspectos generales que debieran tenerse en cuenta en esta etapa de la construcción de una base de datos.

Diseño Fisico

Page 56: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

Diseño Conceptual y Logico

OBTENCION Y ANALISIS DE REQUERIMIENTOS

ANALISIS FUNCIONAL

DISEÑO FISICO

Independiente del SGBD

Específico para cada SGBD

IMPLEMENTACION DE LA APLICACIÓN

Minimundo

Minimundo

DISEÑO CONCEPTUALModelo Entidad

Relación Extendido

Implementación tablas “físicas”:

clustering, indices, hashing, etc

Especificación tablas “lógicas”: atributos,

claves primarias, foráneas

Diagrama ERE

Especificación de Requerimientos

DISEÑO LOGICO

Page 57: Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido (Elmasri-Korth)

FIN

Proceso de Construcción de una base de datos