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

Post on 25-Jan-2016

228 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Unidad II

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

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

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

Modelo Entidad / Relación Extendido

entidades relacioneso vinculaciones

Entidad objeto que existe y es distinguible entre otros objetos

concreta abstracta

conjunto de atributos

Modelo Entidad / Relación Extendido:

Entidades

Juan Av. Libertador 1112 Oeste 25 años Soltero

Entidad Persona

Modelo Entidad / Relación Extendido:

Entidades

Tipos de Atributos

Simples - Compuestos

Almacenados - Derivados

Monovaluados – Multivaluados

Modelo Entidad / Relación Extendido:

Atributos

Simbología Simples - Monovaluados

Multivaluados

Compuestos

Derivados

Modelo Entidad / Relación Extendido:

Atributos

Conjunto de Entidades

conjunto de entidades del mismo tipo

disjuntos no disjuntos

Modelo Entidad / Relación Extendido:

Entidades

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

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

Simbología

dni

nombre

dir

telefonos

edad

Persona

Modelo Entidad / Relación Extendido:

Entidades

fecha_nac

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

Representación:

Modelo Entidad / Relación Extendido:

Claves primarias (entidades)

dni

nombre

dir

telefonos

edad

Persona

fecha_nac

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

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

Conjunto de Relaciones

conjunto de relaciones o

vinculaciones del mismo tipo

Modelo Entidad / Relación Extendido:

Relaciones o Vinculaciones

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

dicta

dni

nombre

dir

estado_civil

edad

Persona Curso

codigo

nombre

duracion

Libro

isbn

nombre

Modelo Entidad / Relación Extendido:

Relaciones o Vinculaciones

editorial

Multiplicidad / Cardinalidad 1 - 1

Factura RemitotieneAsociada

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Multiplicidad / Cardinalidad 1 - n

Factura RemitotieneAsociada

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

Multiplicidad / Cardinalidad n - 1

Factura RemitotieneAsociada

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

Multiplicidad / Cardinalidad n - m

Factura RemitotieneAsociada

nroFactura

fecha

importeTotal

nroRemito

fechaEntrega

Modelo Entidad / Relación Extendido:

Multiplicidad Relaciones Binarias

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

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?

localidad

1) Considerar localidad como un atributo:

dni

nombre

Persona

Modelo Entidad / Relación Extendido:

Atributos vs Entidades

2) Considerar localidad como una entidad:

dni

nombre

Persona Localidadhabita

Codigo_postal

nombre

Modelo Entidad / Relación Extendido:

Atributos vs Entidades

¿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

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

?

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

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

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

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

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

Modelo Entidad / Relación Extendido:

Entidades fuertes y débiles

Hotel Habitaciónposee

cuit

nombre

direccion

nroHab

piso

telefono

ciudad

tipo

Persona

ocupa

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

Modelo Entidad / Relación Extendido:

Agregación

Permite vincular relaciones

Modelo Entidad / Relación Extendido:

Agregación

nombre

laboratorio

Medicamento Presentacióntiene

descripción

Farmacia

posee

cuit

nombre

Modelo Entidad / Relación Extendido:

Agregación

nombre

continente

Pais Ciudadtiene

nombre

AtraccionTurística

posee

nombre

precio

Modelo Entidad / Relación Extendido:

Generalización - Especialización

patente

marca

Vehículo

modelo

Automóvil Camión Colectivo

cantPuertas pesoMax personasMax

relacionA relacionB

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

FIN

Proceso de Construcción de una base de datos

top related