+ All Categories
Home > Documents > SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Date post: 10-Feb-2015
Category:
Upload: nacio-alviar
View: 3 times
Download: 0 times
Share this document with a friend
88
SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado
Transcript
Page 1: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

SICI-4030Base de Datos

Prof. Nelliud D. Torres

Data Modeling - Avanzado

Page 2: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

OBJETIVOS

• Normalización

• Relaciones recursivas M:M

• Roles

• Subtipos y supertipos

• Entity Clusters

• Relaciones excluyentes

• Modelando datos históricos

Page 3: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN

Volver a los

Objetivos

Page 4: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN• DEFINICIÓN - Es una herramienta para validar y

mejorar un diseño lógico de modo tal que satisfaga ciertas limitaciones (constraints). Debe evitar duplicación innecesaria de los datos.

• Es un proceso de descomponer relaciones con anomalías para producir relaciones pequeñas y bien estructuradas.

• Es un concepto de las bases de datos relacionales, pero estos principios se pueden aplicar al modelo conceptual de una base de datos.

• En otras palabras cuando se normaliza un ERD, se convierte en un diseño normalizado de una base de datos automáticamente. PAG. 211

Page 5: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - METAS (goals)

• Algunas metas que buscamos al normalizar son:

– Minimizar la redundancia de datos y por lo tanto, evitar las anomalías y conservar espacio de almacenamiento.

– Simplificar las limitaciones (constraints) que fuerzan la referencia de integridad.

– Que sea fácil mantener los datos (insertar, actualizar y eliminar).

– Proveer un mejor diseño el cual es una representación mejorada del mundo real y con bases sólidas para permitir un futuro crecimiento.

– Sin embargo la normalización crea lentitud al acceder los datos (véase Data Warehouse)

PAG. 211

Page 6: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - Relaciones Bien Estructuradas

• Son relaciones que contienen una redundancia de datos mínimos y permite a los usuarios insertar, eliminar y actualizar filas sin causar inconsistencia de los datos.

• La meta es evitar anomalías, las cuales son:– Insertion Anomaly – Añadir nuevas filas que

fuerzen al usuario a crear datos duplicados.– Deletion Anomaly – Eliminar filas que pudieran

causar una perdida de datos que fuesen necesários para otras filas futuras.

– Modification Anomaly – Cambiar datos en una fila que fuerze cambios en otras filas debido a duplicación.

Page 7: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Example–Figure 5-2b

Question–Is this a relation? Answer–Yes: Unique rows and no multivalued attributes

Question–What’s the primary key? Answer–Composite: Emp_ID, Course_Title

Examine Cuidadosamente Esta Tabla

PAG. 190

Page 8: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Anomalías de la tabla anterior• Insertion – No se puede entrar un nuevo empleado si

este no esta tomando una clase.• Deletion – Si eliminamos al empleado 140, perdemos

información sobre la existencia de un curso titulado: Tax Acc

• Modification – Al dársele un aumento de salario al empleado 100, nos fuerza a actualizar múltiples records.

Why do these anomalies exist? Because there are two themes (entity types) in this one relation. This results in data duplication and an unnecessary dependency between the entities

Page 9: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - REGLASLas primeras tres reglas de normalización son:

• 1NF (Primera forma normal) - Todos los atributos deben ser univalorados.

• 2NF (Segunda forma normal) - Un atributo debe depender del UID completo de la entidad en la cual está.

• 3NF (Tercera forma normal) - No puede haber un atributo que no sea UID dependiendo de otro atributo que tampoco sea UID.

Page 10: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - REGLAS - 2El libro menciona seis reglas de normalizacón las cuales son:

• 1NF (Primera forma normal) - Remover atributos multivalorados.

• 2NF (Segunda forma normal) - Remover dependencias parciales

• 3NF (Tercera forma normal) - Remover dependencias transitivas.

• (forma normal Boyce-Codd) - Remover anomalías sobrantes que resultan de los múltiples candidatos a key.

• 4NF (Cuarta forma normal) - Remover dependencias con multivalores.

• 5NF (Quinta forma normal) - Remover anomalías que hayan quedado.

Rara vez utilizamos más de las primeras 3 formas al normalizar.PAG. 211

Page 11: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 5.22 Steps in normalization

OJO El libro menciona por lo menos 6 formas de normalización

PAG. 212

Page 12: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - Primera forma normal

1NF • Regla: Todos los atributos deben ser univalorados (remover

atributos multivalorados).

• Debemos cotejar que cada atributo tenga un solo valor para cada instancia de la entidad.

• Además:– No deben existir grupos repetitivos (repeating groups) en la relación

(un single fact es la intersección de cada fila y columna de la tabla)– Un PK debe estar definido, el cual identifica únicamente cada fila en la

relación.

• Veamos los siguientes ejemplos:

PAG. 214

Page 13: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Table with multivalued attributes, not in 1st normal form

NORMALIZACIÓN-1NF - Ejemplo A

PAG. 215

Page 14: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Table with no multivalued attributes and unique rows, in 1st normal form

Note: this is relation, but not a well-structured one

PAG. 216

Repeating groups que deben ser eliminados para cumplir con la primera forma normal

Page 15: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Anomalías en esta Tabla• Insertion – Si un nuevo producto es ordenado para la orden

1007 de un cliente existente, los datos del cliente tienen que volverse a entrar, lo cual causa duplicación.

• Deletion – Si eliminamos el Dining Table de la orden 1006, perdemos información relacionada a ese ítem en términos de las terminaciones (finish) y del precio.

• Update – Cambiar el precio del producto con ID 4, requiere la actualización de varios récords.

Why do these anomalies exist? Because there are multiple themes (entity types) in one relation. This results in duplication and an unnecessary dependency between the entities

Page 16: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 1NF

¿Cumple la entidad CLIENTE con la 1NF?

¿Todos los atributos cumplen con la condición de no tener múltiples valores?

CLIENTE

#* código* nombre* dirección* fecha_contacto* teléfono_casa

Page 17: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 1NF (Cont.)• El atributo fecha_contacto puede tener más

de un valor ya que uno puede contactar a un cliente en más de una ocasión.

• Por lo tanto el atributo fecha_contacto tiene múltiples valores (aunque sólo puede almacenar la última fecha de contacto)

• Solución: Crear una entidad adicional llamada CONTACTO que permita almacenar todos los contactos que se tengan con el cliente.

Page 18: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 1NF (Cont.)

SOLUCIÓN

CLIENTE

#* código* nombre* dirección* teléfono_casa

CONTACTO

#* fecha de contactoo lugar* resultado

de

el sujeto de

Page 19: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - SOLUCIÓN - 1NF1NF

• SOLUCIÓN: Si un atributo tiene múltiples valores, cree una entidad adicional y relaciónela con la entidad original usando una relación M:1

Page 20: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - Segunda forma normal

2NF

• Regla: Un atributo debe depender del UID completo de la entidad en la cual está. (Remover dependencias parciales)

• Debemos cotejar que un atributo no dependa de solamente parte del UID de una entidad.

PAG. 217

Page 21: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - Second Normal Form

• Debe cumplir con la 1NF y además cada atributo que no sea UID debe ser completamente dependiente del primary key (UID).– Cada atributo que no es UID (non-key) debe estar

definido por el UID por completo, no solo parte del UID (cuando es compuesto).

– No debe haber dependencias funcionales parciales

Page 22: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Order_ID Order_Date, Customer_ID, Customer_Name, Customer_Address

Therefore, NOT in 2nd Normal Form

Customer_ID Customer_Name, Customer_Address

Product_ID Product_Description, Product_Finish, Unit_Price

Order_ID, Product_ID Order_Quantity

Figure 5-27 Functional dependency diagram for INVOICE

PAG. 216

NORMALIZACIÓN-2NF - Ejemplo A

Page 23: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Partial dependencies are removed, but there are still transitive dependencies

Getting it into Getting it into Second Normal Second Normal FormForm

Figure 5-28 Removing partial dependencies

PAG. 218

Page 24: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 2NF

¿Cumple esta relación con la 2NF?

CUENTA

#* número* balance* fecha apertura* dirección sucursal

SUCURSAL

#* número* nombre

manejadora de

manejada por

Page 25: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 2NF (Cont.)

• Debe cotejar cada atributo y ver si tiene una relación directa con el primary key (UID). Haga este cotejo en ambas entidades.

• En el caso del atributo dirección sucursal, nos percatamos de que pertenece a la entidad SUCURSAL y no a la entidad CUENTA

Page 26: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 2NF (Cont.)

SOLUCIÓN

Pasar el atributo fecha apertura a la entidad SUCURSAL.

CUENTA

#* número* balance* fecha apertura

SUCURSAL

#* número* nombre* dirección sucursalmanejadora de

manejada por

Page 27: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - SOLUCIÓN2NF

• SOLUCIÓN: Si un atributo no depende del UID completo de la entidad, está mal localizado y debe mudarse a otra entidad.

Page 28: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - Tercera forma normal

3NF

• Regla: No puede haber un atributo que no sea UID dependiendo de otro atributo que no pueda servir como UID alterno.

• Debemos cotejar que no haya un atributo que dependa de otro que no pueda ser UID alterno.

PAG. 218

Page 29: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - Third Normal Form

• Debe estar en 2NF y además no debe tener dependencias transitivas (dependencias funcionales o atributos que no son primary-key)

• Nota: Se llama transitivo debido a que el primary key es un determinante para otro atributo, el cual a su vez es un determinante de un tercero.

• Solución: un determinante Non-key con dependencias transitivas va a una nueva tabla. Los determinantes non-keys vienen a ser primary key en la nueva tabla y se quedan con foreign key en la vieja tabla.

Page 30: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Transitive dependencies are removed

Figure 5-28 Removing partial dependencies

Getting it into Getting it into Third Normal Third Normal FormForm

PAG. 219

PASOS:1. Por cada atributo non-key que es determinante en una relación, crear una nueva relación utilizando ese atributo como el primary key de la relación.2. Mover todos los atributos que son completamente dependientes de ese atributo a su nueva entidad.3. Dejar el atributo que sirve ahora como el PK de la nueva relación, como un foreign key de la relación anterior.

NORMALIZACIÓN-3NF - Ejemplo A

Page 31: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 3NF

¿Hay algún atributo que no sea UID dependiendo de otro que no pueda servir como UID alterno en la entidad ORDEN?

ORDEN

#* número* fecha* id_cliente* nombre_cliente* dirección_cliente

Page 32: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 3NF (Cont.)

• Los atributos nombre_cliente y dirección_cliente dependen del atributo id_cliente.

• id_cliente no es un UID alterno de la entidad ORDEN

• Por lo tanto, se debe crear una entidad aparte llamada CLIENTE en la cual se ubican los atributos relacionados al cliente.

Page 33: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - B - 3NF (Cont.)

SOLUCIÓN

Pasar los atributos del cliente a la entidad CLIENTE.

CLIENTE

#* id* nombre* direcciónoriginador de

paraORDEN

#* número* fecha

Page 34: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

NORMALIZACIÓN - SOLUCIÓN3NF

• SOLUCIÓN: Si un atributo no depende del UID completo de la entidad, está mal localizado y debe mudarse a otra entidad.

Page 35: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLOS DE NORMALIZACIÓN

• Los dos ejemplos a continuación le puede dar ideas al estudiante sobre los procesos de normalización.

• Fueron preparados por el profesor Alberto Prado de la Interamericana metro

• Estos ejemplos son solo para referencias del curso

Page 36: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 1 - A

Page 37: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 1 - B

Page 38: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 1 - C

Page 39: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 2 - A

Page 40: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 2 - B

Page 41: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 2 - C

Page 42: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 2 - D

Page 43: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 2 - E

Page 44: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 2 - F

Page 45: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO - 2 - G

Page 46: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES RECURSIVAS

Volver a los

Objetivos

Page 47: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES RECURSIVAS

• Una relación recursiva es una relación entre una entidad y ella misma.

bajo la jefatura de

jefe de

EMPLEADO

#* código* nombre* fecha contratado* salarioo comisión

Page 48: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO DE UNA RELACIÓN RECURSIVA M:M

• ¿Cómo podemos resolver esta relación recursiva M:M?

progenitor de

hijo de

PERSONA

#* seguro_social* nombre

Page 49: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

EJEMPLO DE UNA RELACIÓN RECURSIVA M:M - 2

SOLUCIÓN

PERSONA

#* seguro_social* nombre

PARENTESCO

progenitor de

hijo de con

con

Page 50: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES RECURSIVAS M:M (Cont.)

• Las relaciones recursivas M:M se tienen que resolver también.

COMPONENTE

#* id

compuesto de

parte de

• Por ejemplo, un abanico de una pc está compuesta de tornillos y a su vez la pc está compuesta de abanicos.

Page 51: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES RECURSIVAS M:M (Cont.-2)

Esta relación se puede resolver de la siguiente manera.

compuesto de

parte de

ENSAMBLAJE

o cantidad

COMPONENTE

#* id

para para

Page 52: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES RECURSIVAS M:M (Asig.)

Asignación

¿Cómo se puede mejorar este diseño utilizando relaciones recursivas?

AREA

#* codigo* nombre

VENDEDOR

#* id* nombre* cuota

MUNICIPIO

#* codigo* nombre

GERENTE

#* id* nombre

REGION

#* CODIGO* nombre

DIRECTOR

#* id* nombre

atendido por

a cargo de

compuesto por

en

en

compuesto por

atendido por

atendido por

a cargo de

a cargo de

Page 53: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES RECURSIVAS M:M (Asig. - Solución)

Page 54: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

ROLES

Volver a los

Objetivos

Page 55: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

ROLES

• Son entidades que representan papeles diferentes de una misma instancia.

• A continuación vamos a ver un ejemplo de entidades de un proceso de matrícula

• En este caso tanto la entidad ESTUDIANTE como la entidad INSTRUCTOR tienen los mismos atributos

• Este es un buen ejemplo de Roles ya que serían papeles diferentes (estudiante/profesor) como instancias de una sola entidad

Page 56: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

ROLES - Cont. - 1

MATRÍCULA

* fecha matriculadoo fecha completadoo nota

ESTUDIANTE

#* id* nombreo teléfono

CURSO

#* código* nombreo duracióno costo

INSTRUCTOR

#* id* nombreo teléfono

parte de

para

para

parte de

enseñado por

el maestro

de

atributos comunes con la entidad ESTUDIANTE

Page 57: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

ROLES - Cont. - 2

• En este caso las relaciones entre entidades permiten que una sola instancia de una entidad asuma más de un papel.

• La solución sería crear una nueva entidad tal vez llamada PERSONA que una las instancias de ESTUDIANTE y de PROFESOR

Page 58: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

ROLES - Cont. - 3 (Solución)MATRÍCULA

* fecha matriculadoo fecha completadoo nota

CURSO

#* código* nombreo duracióno costo

PERSONA

#* id* nombreo teléfono

parte de

para

para

parte de

enseñado por

el maestro

de

Page 59: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

SUBTIPOS y SUPERTIPOS

Volver a los

Objetivos

Page 60: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

SUBTIPOS y SUPERTIPOS

• Subtype: Es un subgrupo de entidades bajo un tipo de entidad que tiene atributos diferentes de los otros subgrupos. Son entidades mutuamente exclusivos, los cuales tienen atributos y relaciones comunes.

• Supertype: Un tipo de entidad genérico que tiene una relación con uno o mas subtipos (subtype).

• Attribute Inheritance:– Las entidades subtipo adquieren (inheritance) valores

de todos los atributos del supertipo.– Una instancia de un subtipo es también una instancia

del supertipo.

Page 61: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-1 Basic notation for supertype/subtype notation

a) EER notation

EJEMPLO DE LA NOTACIÓN DE LOS SUBTIPOS DEL LIBRO - 1

PAG. 141

Page 62: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Different modeling tools may have different notation for the same modeling constructs

b) Microsoft

Visio Notation

Figure 4-1 Basic notation for supertype/subtype notation (cont.)

EJEMPLO DE LA NOTACIÓN DE LOS SUBTIPOS DEL LIBRO - 2

PAG. 142

Page 63: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-2 Employee supertype with three subtypes

All employee subtypes will have emp nbr, name, address, and date-hired

Each employee subtype will also have its own attributes

EJEMPLO DE LA NOTACIÓN DE LOS SUBTIPOS DEL LIBRO - 3

PAG. 143

Page 64: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

MODELANDO SUBTIPOS (EJ. EN NUESTRA NOTACIÓN)

Una empresa ha definido dos tipos de empleados: exentos y no exentos. Para todos los empleados hay que guardar su número, nombre y departamento. En adición, los exentos necesitan almacenar el atributo salario y los no exentos la paga por hora (regular y extra) y si pertenece a una unión.

Page 65: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

MODELANDO SUBTIPOS (SOLUCIÓN)

EMPLEADO#* número* nombre

EXENTO* salario

NO_EXENTO* hora regular* hora extra

DEPARTAMENTO#* id* nombre

UNION#* id* nombre

compuesto por compuesto por

miembro deasignado a

Supertipo

SuptipoSuptipo

Page 66: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Relaciones y Subtipos

• Relaciones a nivel de supertype indica que todos los subtipos van a participar en la relación

• Las instancias de un subtype pueden participar en una relación única a ese subtipo. En esta situación, la relación se muestra a nivel de subtipo.

Page 67: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

SUBTIPOS DE SUBTIPOS

Un subtipo se puede descomponer en otros subtipos

AEROVEHÍCULO

AVIÓN PROPULSADO

HÉLICE

CHORROPLANEADOR

HELICÓPTERO GLOBO OTRO

Page 68: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Generalization and Specialization

• Generalization: El proceso de definir un tipo de entidad más general de un conjunto de tipos de entidades más especializados.

• Specialization: El proceso de definir uno o más subtipos del supertipo y formar una relación supertipo/subtipo TOP-DOWN.

Page 69: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-4 Example of generalization

a) Three entity types: CAR, TRUCK, and MOTORCYCLE

All these types of vehicles have common attributes

EJEMPLO DE TRES TIPOS DE ENTIDADES QUE TIENEN ATRIBUTOS COMUNES

PAG. 145

Page 70: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-4 Example of generalization (cont.)

So we put the shared attributes in a supertype

Note: no subtype for motorcycle, since it has no unique attributes

b) Generalization to VEHICLE supertype

COMO SE PODRÍAN REPRESENTAR ESOS TRES TIPOS DE ENTIDADES QUE TIENEN ATRIBUTOS COMUNES

PAG. 145

Page 71: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-5 Example of specialization

a) Entity type PART

Only applies to manufactured parts

Applies only to purchased parts

EJEMPLO DE ESPECIALIZACIÓN

PAG. 147

Page 72: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

b) Specialization to MANUFACTURED PART and PURCHASED PART

Note: multivalued attribute was replaced by an associative entity relationship to another entity

Created 2 subtypes

Figure 4-5 Example of specialization (cont.)

EJEMPLO DE ESPECIALIZACIÓN (Cont.)

PAG. 147

Page 73: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

ENTITY CLUSTER

Volver a los

Objetivos

Page 74: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Entity Clusters

• Los ERD son difíciles de leer cuando existen demasiadas entidades y relaciones.

• Solución: Agrupar entidades y relaciones en entity clusters

• Entity cluster: Conjunto de uno o más tipos de entidades y relaciones asociadas, agrupadas en un tipo sencillo de entidad abstracto

Page 75: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-13a Possible entity clusters for Pine Valley Furniture in Microsoft Visio

Related groups of entities could become clusters

ERD DIFÍCIL DE LEER

PAG. 156

Page 76: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-13b EER diagram of PVF entity clusters

More readable, isn’t it?

ERD CONVERTIDO EN CLUSTER

PAG. 159

Page 77: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Figure 4-14 Manufacturing entity cluster

Detail for a single cluster

CLUSTER DE LA PARTE DE MANUFACTURA

PAG. 159

Page 78: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

Packaged data models provide generic models that can be customized for a particular organization’s business rules

CLUSTER GENÉRICO

PAG. 162

Page 79: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES EXCLUYENTES

Volver a los

Objetivos

Page 80: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES EXCLUYENTES

• Ocurren cuando una entidad tiene relación con otras dos relaciones en donde tiene que seleccionar una sola de ellas para una instancia en particular

• Se representa con un arco que incluya ambas relaciones

• Los nombres de relaciones deben ser los mismos en ambas entidades excluyentes

• Diagrama con un ejemplo de relación excluyente

Page 81: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES EXCLUYENTES (cont.)

CUENTA_BANCARIA

PERSONA

COMPAÑÍA

dueña deposeída por

dueña de

poseída por

Page 82: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

RELACIONES EXCLUYENTES (cont.)

• Las relaciones en un arco tienen que ser todas mandatorias u opcionales

• Un arco pertenece a una sola entidad y solo debe incluir relaciones que se originen de esa entidad

• Una entidad puede tener múltiples arcos, pero una relación específica puede participar solamente en un solo arco.

Page 83: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

MODELANDO DATOS HISTÓRICOS

Volver a los

Objetivos

Page 84: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

MODELANDO DATOS HISTÓRICOS

• Añada entidades adicionales al diagrama ER para poder acomodar datos a través del tiempo

• Se debe preguntar al usuario:– ¿Se necesitan los datos históricos para los

auditores?– ¿Pueden cambiar los valores de los atributos

a través del tiempo? Por ejemplo el precio– ¿Se necesita sacar información de datos

pasados?

Page 85: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

MODELANDO DATOS HISTÓRICOS (cont.)

¿Cómo podemos alterar este diseño de modo que pueda almacenar un historial de empleo?

PERSONA

#* id* nombre

PUESTO

#* código* descripción

COMPAÑÍA

#* código* nombre

poseedora de

incluidoen

ocupadora de

ocupado por

empleadora de

empleado por

Page 86: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

MODELANDO DATOS HISTÓRICOS (cont.)

• Este diagrama muestra una relación de muchos a muchos entre tres entidades.• Esto se conoce como relaciones complejas.• Aunque se rompan las relaciones M:M, no se puede llevar un seguimiento de eventos por fechas.• Por ejemplo, no se puede saber en cuales fechas un empleado ha cambiado de posición o en cuales fechas el empleado ha cambiado de compañías.•La solución al diseño es:

Page 87: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

PERSONA

#* id* nombre

PUESTO

#* código* descripción

COMPAÑÍA

#* código* nombre

HISTORIAL_EMPLEO

#* fecha_desde* fecha_hasta

MODELANDO DATOS HISTÓRICOS SOLUCIÓN

incluidaen

para para

incluido enpara

incluidoen

Este formato es uno tipo estrella y es el que se utiliza para crear los Data Warehouses

Page 88: SICI-4030 Base de Datos Prof. Nelliud D. Torres Data Modeling - Avanzado.

REFERENCIAS• Modern Database Management 8th Edition,

Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden

• Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel

• Profesor Alberto Prado - Universidad Interamericana, Recintro Metro


Recommended