Professional Documents
Culture Documents
OBJETIVOS
Normalizacin Relaciones recursivas M:M Roles Subtipos y supertipos Entity Clusters Relaciones excluyentes Modelando datos histricos
NORMALIZACIN
NORMALIZACIN
DEFINICIN - Es una herramienta para validar y mejorar un diseo lgico de modo tal que satisfaga ciertas limitaciones (constraints). Debe evitar duplicacin innecesaria de los datos. Es un proceso de descomponer relaciones con anomalas para producir relaciones pequeas 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 diseo normalizado de una base de PAG. 211 datos automticamente.
Son relaciones que contienen una redundancia de datos mnimos y permite a los usuarios insertar, eliminar y actualizar filas sin causar inconsistencia de los datos. La meta es evitar anomalas, las cuales son:
Insertion Anomaly Aadir nuevas filas que fuerzen al usuario a crear datos duplicados. Deletion Anomaly Eliminar filas que pudieran causar una perdida de datos que fuesen necesrios para otras filas futuras. Modification Anomaly Cambiar datos en una fila que fuerze cambios en otras filas debido a duplicacin.
ExampleFigure 5-2b
PAG. 190
NORMALIZACIN - REGLAS
Las primeras tres reglas de normalizacin 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.
NORMALIZACIN - REGLAS - 2
El libro menciona seis reglas de normalizacn 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 anomalas sobrantes que resultan de los mltiples candidatos a key. 4NF (Cuarta forma normal) - Remover dependencias con multivalores. 5NF (Quinta forma normal) - Remover anomalas que hayan quedado.
PAG. 211
PAG. 212
NORMALIZACIN-1NF - Ejemplo A
Table with no multivalued attributes and unique rows, in 1st normal form
Repeating groups que deben ser eliminados para cumplir con la primera forma normal
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
EJEMPLO - B - 1NF
Cumple la entidad CLIENTE con la 1NF?
CLIENTE #* cdigo * nombre * direccin * fecha_contacto * telfono_casa
CLIENTE
#* cdigo * nombre * direccin * telfono_casa
de
CONTACTO
#* fecha de contacto o lugar * resultado
el sujeto de
Debemos cotejar que un atributo no dependa de solamente parte del UID de una entidad.
PAG. 217
NORMALIZACIN-2NF - Ejemplo A
Figure 5-27 Functional dependency diagram for INVOICE
Order_ID Order_Date, Customer_ID, Customer_Name, Customer_Address Customer_ID Customer_Name, Customer_Address Product_ID Product_Description, Product_Finish, Unit_Price Order_ID, Product_ID Order_Quantity
Partial dependencies are removed, but there are still transitive dependencies
PAG. 218
EJEMPLO - B - 2NF
Cumple esta relacin con la 2NF?
CUENTA
#* nmero * balance * fecha apertura * direccin sucursal
manejada por
SUCURSAL
#* nmero * nombre
manejadora de
CUENTA
#* nmero * balance * fecha apertura
manejada por
SUCURSAL
#* nmero * nombre * direccin sucursal
manejadora de
NORMALIZACIN - SOLUCIN
2NF SOLUCIN: Si un atributo no depende del UID completo de la entidad, est mal localizado y debe mudarse a otra entidad.
PAG. 218
PASOS: Transitive dependencies are removed 1. Por cada atributo non-key que es determinante en una relacin, crear una nueva relacin utilizando ese atributo como el primary key de la relacin. 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 relacin, como un foreign key de la relacin anterior. PAG. 219
EJEMPLO - B - 3NF
Hay algn atributo que no sea UID dependiendo de otro que no pueda servir como UID alterno en la entidad ORDEN?
ORDEN
CLIENTE
#* id * nombre * direccin
originador de
NORMALIZACIN - SOLUCIN
3NF SOLUCIN: Si un atributo no depende del UID completo de la entidad, est mal localizado y debe mudarse a otra entidad.
EJEMPLOS DE NORMALIZACIN
Los dos ejemplos a continuacin le puede dar ideas al estudiante sobre los procesos de normalizacin. Fueron preparados por el profesor Alberto Prado de la Interamericana metro Estos ejemplos son solo para referencias del curso
EJEMPLO - 1 - A
EJEMPLO - 1 - B
EJEMPLO - 1 - C
EJEMPLO - 2 - A
EJEMPLO - 2 - B
EJEMPLO - 2 - C
EJEMPLO - 2 - D
EJEMPLO - 2 - E
EJEMPLO - 2 - F
EJEMPLO - 2 - G
RELACIONES RECURSIVAS
RELACIONES RECURSIVAS
Una relacin recursiva es una relacin entre una entidad y ella misma.
EMPLEADO #* cdigo * nombre * fecha contratado * salario o comisin
jefe de
bajo la jefatura de
PERSONA
progenitor de
#* seguro_social * nombre
hijo de
PARENTESCO
parte de
compuesto de
Por ejemplo, un abanico de una pc est compuesta de tornillos y a su vez la pc est compuesta de abanicos.
para para
compuesto de
#* id
parte de
COMPONENTE
#* codigo * nombre
a cargo de
#* id * nombre * cuota
en compuesto por
MUNICIPIO #* codigo * nombre
GERENTE #* id * nombre
en compuesto por
REGION #* CODIGO * nombre
DIRECTOR #* id * nombre
ROLES
ROLES
Son entidades que representan papeles diferentes de una misma instancia. A continuacin vamos a ver un ejemplo de entidades de un proceso de matrcula En este caso tanto la entidad ESTUDIANTE como la entidad INSTRUCTOR tienen los mismos atributos Este es un buen ejemplo de Roles ya que seran papeles diferentes (estudiante/profesor) como instancias de una sola entidad
ROLES - Cont. - 1
MATRCULA * fecha matriculado o fecha completado o nota
para parte de
parte de
ESTUDIANTE #* id * nombre o telfono
ROLES - Cont. - 2
En este caso las relaciones entre entidades permiten que una sola instancia de una entidad asuma ms de un papel. La solucin sera crear una nueva entidad tal vez llamada PERSONA que una las instancias de ESTUDIANTE y de PROFESOR
para
parte de
#* id * nombre o telfono
SUBTIPOS y SUPERTIPOS
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.
Attribute Inheritance:
Las entidades subtipo adquieren (inheritance) valores de todos los atributos del supertipo. Una instancia de un subtipo es tambin una instancia del supertipo.
PAG. 141
Different modeling tools may have different notation for the same modeling constructs
PAG. 143
Supertipo
Suptipo
asignado a
Suptipo
compuesto por
UNION #* id * nombre
Relaciones y Subtipos
Relaciones a nivel de supertype indica que todos los subtipos van a participar en la relacin Las instancias de un subtype pueden participar en una relacin nica a ese subtipo. En esta situacin, la relacin se muestra a nivel de subtipo.
SUBTIPOS DE SUBTIPOS
Un subtipo se puede descomponer en otros subtipos
AEROVEHCULO AVIN PROPULSADO HLICE PLANEADOR CHORRO
HELICPTERO
GLOBO
OTRO
EJEMPLO DE TRES TIPOS DE ENTIDADES QUE TIENEN ATRIBUTOS COMUNES a) Three entity types: CAR, TRUCK, and MOTORCYCLE
All these types of vehicles have common attributes Figure 4-4 Example of generalization
PAG. 145
COMO SE PODRAN REPRESENTAR ESOS TRES TIPOS DE ENTIDADES QUE TIENEN ATRIBUTOS COMUNES b) Generalization to VEHICLE supertype
Note: no subtype for motorcycle, since it has no unique attributes PAG. 145 Figure 4-4 Example of generalization (cont.)
EJEMPLO DE ESPECIALIZACIN
Created 2 subtypes
Note: multivalued attribute was replaced by an associative entity relationship to another entity
PAG. 147
ENTITY CLUSTER
Entity Clusters
Los ERD son difciles de leer cuando existen demasiadas entidades y relaciones. Solucin: Agrupar entidades y relaciones en entity clusters Entity cluster: Conjunto de uno o ms tipos de entidades y relaciones asociadas, agrupadas en un tipo sencillo de entidad abstracto
Figure 4-13a
Possible entity clusters for Pine Valley Furniture in Microsoft Visio
PAG. 156
ERD CONVERTIDO EN CLUSTER Figure 4-13b EER diagram of PVF entity clusters
PAG. 159
CLUSTER GENRICO
Packaged data models provide generic models that can be customized for a particular organizations business rules
PAG. 162
RELACIONES EXCLUYENTES
RELACIONES EXCLUYENTES
Ocurren cuando una entidad tiene relacin 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 relacin excluyente
CUENTA_BANCARIA
duea de
poseda por
COMPAA
empleado por
incluido en
empleadora de COMPAA
#* cdigo * nombre
poseedora de
para incluido en
para incluido en
PERSONA #* id * nombre
incluida en COMPAA
#* cdigo * nombre
Este formato es uno tipo estrella y es el que se utiliza para crear los Data Warehouses
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