Normalización de Modelos Relacionales

Documentos relacionados
Introducción a las Bases de Datos y al Modelo Relacional

Diseño de Base de Datos

DISEÑO LÓGICO DE UNA BASE DE DATOS EN EL MODELO RELACIONAL (Teoría de la Normalización)

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Normalización. CC20A 1 Computación II Auxiliar 10 Iván Bustamante. Clase Auxiliar 10 1

Tema 5: Normalización en Bases de Datos

IV. MODELO RELACIONAL

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

Bases de Datos. Tema 7 (parte 2) Teoría de la Normalización. Francisco Ruiz may UCLM-ESI (F.Ruiz)

Formas Normales. Normalización. Introducción

Modelos de Datos. Modelo Entidad-Relación

4. FUNDAMENTOS DEL MODELO RELACIONAL

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

Modelos y Bases de Datos

Modelo Relacional. Normalización

- Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación DER

Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla

Tema 5: Normalización en Bases da Datos

Ing. Yim Isaias Apestegui Florentino

1.Introducción al Modelo Relacional.

TEMA 5: DISEÑO EN EL MODELO RELACIONAL. TEORÍA DE LA NORMALIZACIÓN

MODELO RELACIONAL BASE DE DATOS RELACIONALES

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

8. Teoría de la Normalización

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

Bases de Datos OTROS ASPECTOS MODELO E-R

NORMAS DE DISEÑO DE BASE DE DATOS

Modelo relacional. El modelo relacional

Normalización. Tema 16

3.Dependencias funcionales.

Modelo Entidad Relación.MER.

NORMALIZACIÓN DE BASES DE DATOS

El Modelo Relacional. Carlos A. Olarte BDI

NORMALIZACION. Definición.

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

Normalización. Universidad Nacional de Colombia Facultad de Ingeniería

EL MODELO RELACIONAL

TEORÍA DE GRAFOS Ingeniería de Sistemas

CONSULTA Y MANIPULACIÓN DE LOS DATOS

Temario. Índices simples Árboles B Hashing

Temario Curso Bases de Datos

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Unidad 5: MODELO DE COMPORTAMIENTO - ESQUEMA DE DATOS CARACTERÍSTICAS DEL ESQUEMA DE DATOS DIAGRAMA ENTIDAD RELACIÓN (D.E.R.)

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad

Álgebra Lineal VII: Independencia Lineal.

Optimización de Descomposiciones de Esquemas Normalizados en el Modelo Relacional

7 Diseño de Bases de Datos Relacionales: Normalización

Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

ING. YIM ISAIAS APESTEGUI FLORENTINO

Modelo Relacional: Dependencias Funcionales y Normalización

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION

Administración de Bases de Datos (Ingeniería Técnica en Informática de Gestión)

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

Bases de datos. Diseño y gestión

TEMA 11. VECTORES EN EL ESPACIO

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

Capítulo 6. Relaciones. Continuar

Modelo relacional. Modelo relacional

Conjuntos y relaciones

Diagramas De Casos De Uso

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

Una relación esta en 4FN si esta en la BCFN y no contiene dependencias multivaluadas.

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1

Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)

Transformación ER Relacional para el diseño de bases de datos relacionales

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 7. Modelos de Bases de Datos

Diseño Lógico de Bases de Datos Relacionales

Bases de Datos Tema 4 Modelo Entidad/Interrelación (ERM de Chen)

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

BASES DE DATOS TEMA 2 MODELOS DE DATOS

Tema 2: Espacios Vectoriales

Restricciones de Integridad

Análisis y Diseño de Sistemas

Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalización

TEMA 4: EL MODELO RELACIONAL. ESTÁTICA

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

PRODUCTO CARTESIANO RELACIONES BINARIAS

Intro. Diseño BDR. Normalizar hasta 3FN. introducción. dependencia funcional. formas normales. Ejemplos. FN de Boyce- Codd. Ejercicios BD

BASES DE DATOS. Apuntes de Cátedra

Un ejemplo simple de normalización de bases de datos relacionales (hasta 3FN)

4.2 ACTIVIDAD DE APRENDIZAJE 4.2: Diseñar el modelo relacional de la base de datos del sistema Descripción de la AA4.2:

Capítulo 16. Diagrama de Clases UML

Formulación del problema de la ruta más corta en programación lineal

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

Probabilidad y Estadística

Práctica Consultas SQL DML

Transcripción:

Normalización de Modelos Relacionales Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2012 Objetivos de este tema Conocer las problemas que presentan los no normalizados. Entender el concepto de dependencia funcional. Entender las tres primeras formas normales del modelo relacional. Ser capaz de reconocer si un modelo relacional está o no en 3FN. Entender porqué un buen modelo conceptual se transforma en un modelo relacional en 3FN. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 1 IISSI 1

Calidad de los La calidad de un modelo relacional depende, entre otros factores, de las anomalías de que presente. La forma de asegurar la calidad de un modelo relacional frente a las anomalías de es comprobar que está al menos en tercera forma normal (3FN). class Catálogo de productos L aboratorio cif dirección? almac enaproduc tosen * Almac én dirección Catálogo public a fecha * * L ínead ecatálogo preciomenosdecien preciomásdecien MC MR Produc to ref erenc ia código * 1 descripción Modelo conceptual Modelo Relacional noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 2 Anomalías de Supongamos una relación que contiene los datos de los inmuebles de una agencia de alquiler. Cada inmueble tiene un código, una dirección, un precio de alquiler, una lista de propietarios con el porcentaje de propiedad del inmueble, y el código, y cargo del empleado que lo gestiona. ID_INMUEB dirección precio propietarios ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González, 70% D. Páez, 30% 2230A Calle Tarifa, 15 500 E. Martos, 100% 3387B Los Bermejales, 8 700 R. Vidal, 50% P. González, 50% 7891A Avda. de las Ciencias, 10 650 M. Gallego, 40% M. Sánchez, 60% 0023B Calle Telémaco, 14 800 R. Borrego, 70% J. Trajano, 30% noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 3 IISSI 2

Qué problemas presenta la relación? Datos redundantes: el y el cargo de cada empleado se repita tantas veces como inmuebles gestione, malgastando espacio. Riesgos de incoherencia: la redundancia de datos implica el riesgo de que se vuelvan incoherentes si no se actualizan todas las ocurrencias a la vez. ID_INMUEB dirección precio propietarios ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González, 70% D. Páez, 30% 2230A Calle Tarifa, 15 500 E. Martos, 100% 3387B Los Bermejales, 8 700 R. Vidal, 50% P. González, 50% 7891A Avda. de las Ciencias, 10 650 M. Gallego, 40% M. Sánchez, 60% 0023B Calle Telémaco, 14 800 R. Borrego, 70% J. Trajano, 30% noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 4 Qué problemas presenta la relación? Anomalías de inserción: hasta que un empleado no gestione un inmueble no se puede registrar en el sistema de información. Anomalías de actualización: si un empleado cambia de cargo hay que actualizarlo múltiples veces en lugar de hacerlo una sola vez. ID_INMUEB dirección precio propietarios ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González, 70% D. Páez, 30% 2230A Calle Tarifa, 15 500 E. Martos, 100% 3387B Los Bermejales, 8 700 R. Vidal, 50% P. González, 50% 7891A Avda. de las Ciencias, 10 650 M. Gallego, 40% M. Sánchez, 60% 0023B Calle Telémaco, 14 800 R. Borrego, 70% J. Trajano, 30% noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 5 IISSI 3

Qué problemas presenta la relación? Anomalías de eliminación: si un empleado deja de gestionar inmuebles, sus datos desaparecen del sistema de información. Problemas de consulta: cómo se podrían conocer todos los inmuebles de un determinado propietario? ID_INMUEB dirección precio propietarios ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González, 70% D. Páez, 30% 2230A Calle Tarifa, 15 500 E. Martos, 100% 3387B Los Bermejales, 8 700 R. Vidal, 50% P. González, 50% 7891A Avda. de las Ciencias, 10 650 M. Gallego, 40% M. Sánchez, 60% 0023B Calle Telémaco, 14 800 R. Borrego, 70% J. Trajano, 30% noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 6 Qué problemas presenta la relación? Cuántos problemas de los anteriores se evitan con el nuevo modelo relacional de dos relaciones? Qué modelo relacional es mejor? Puede mejorarse más? ID_INMUEB dirección precio propietarios ID_EMP 0010A Avda. Reina mercedes, 15 600 P. González, 70% D. Páez, 30% 3 2230A Calle Tarifa, 15 500 E. Martos, 100% 3 3387B Los Bermejales, 8 700 7891A Avda. de las Ciencias, 10 650 R. Vidal, 50% P. González, 50% M. Gallego, 40% M. Sánchez, 60% 5 8 Empleados ID_EMP cargo 0023B Calle Telémaco, 14 800 R. Borrego, 70% J. Trajano, 30% 8 noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 7 IISSI 4

Qué es una dependencia funcional? Si R es una relación y X e Y son dos subconjuntos de los atributos de R, se dice que: X determina funcionalmente a Y Y depende funcionalmente de X X Y Si y sólo si Siempre que dos tuplas tienen los mismos valores de X, tienen los mismos valores de Y. t 1, t 2 extensión R (t 1. X = t 2. X) (t 1. Y = t 2. Y) En otras palabras Nunca dos tuplas con los mismos valores de X pueden tener distintos valores de Y. t 1, t 2 extensión R (t 1. X = t 2. X) (t 1. Y t 2. Y) noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 8 Cómo se identifican las dependencias? Las dependencias no pueden deducirse de los datos de la extensión de una relación. Sólo podría descartarse su existencia si los datos de la extensión las contradijeran. Por lo tanto Las dependencias dependen de la semántica de los atributos de las relaciones en el modelo conceptual y, por extensión, en el dominio del problema. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 9 IISSI 5

En el ejemplo anterior ID_INMUEB dirección ID_INMUEB {dirección, precio, propietarios } ID_INMUEB { ID_EMP,, cargo } { ID_INMUEB, precio } ID_EMP ID_EMP {, cargo } { ID_EMP, } cargo ID_INMUEB dirección precio propietarios ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González, 70% D. Páez, 30% 2230A Calle Tarifa, 15 500 E. Martos, 100% 3387B Los Bermejales, 8 700 R. Vidal, 50% P. González, 50% 7891A Avda. de las Ciencias, 10 650 M. Gallego, 40% M. Sánchez, 60% 0023B Calle Telémaco, 14 800 R. Borrego, 70% J. Trajano, 30% noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 10 Definiciones Descriptor: cualquier subconjunto de los atributos de una relación. Equivalencia: dos descriptores son equivalentes si dependen funcionalmente uno del otro. X Y X Y Y X Ejemplo: NIF NSS Dependencia completa: dependencia funcional en la que el conjunto de atributos del determinante es mínimo. completa X A X X X Y Ejemplo: {ID_INMUEB, dirección} precio no es completa, ya que ID_INMUEB precio (dirección sería un atributo extraño). noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 11 IISSI 6

Axiomas de Armstrong Reflexividad: Y X X Y Todo conjunto de atributos determina a cualquier subconjunto de sí mismo. La dependencia funcional de un atributo sobre si mismo se denomina trivial. Aumentatividad: X Y X Z Y Se puede aumentar el determinante con tantos atributos como se desee. Ejemplos: nif { nif, dirección } noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 12 Axiomas de Armstrong Transitividad: X Y (Y Z) X Z Ejemplos: (ID_INMUEB ID_EMP) (ID_EMP ) ID_INMUEB Teoremas de Armstrong* Aditividad: X Y X Z X Y Z Proyectividad: X Y Z X Y Pseudotransitividad: X Y Y W Z (X W) Z * Se deducen de los axiomas de Armstrong. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 13 IISSI 7

Grafo de dependencias Forma gráfica de representar las dependencias de un modelo relacional. Los nodos son atributos o conjuntos de atributos. Los arcos son las dependencias. Normalmente sólo se representan dependencias que determinan a un solo atributo. precio propietarios dirección ID_INMUEB ID_EMP cargo noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 14 Formas normales Son condiciones, basadas en las dependencias, que debe cumplir un modelo relacional para estar exento de anomalías de. Originalmente, Codd propuso tres formas normales: 1FN, 2FN y 3FN. Posteriormente, se han propuesto otras tres: Boyce-Codd FN, 4FN y 5FN. Cada FN incluye a la anterior, por lo que un modelo relacional en 3FN está también en 2FN y en 1FN. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 15 IISSI 8

Primera forma normal (1FN) Una relación está en 1FN si en cada tupla se le asigna a cada atributo un solo valor del dominio sobre el que está definido. Esto implica la ausencia de grupos repetidos. Ejemplo 1FN: Pasar de un solo teléfono por cliente a varios.* ID_CLI teléfono 1 Abel Abad 666111222 2 Braulio Brío 666222333 3 Carlos Cepa 666333444.. ID_CLI teléfono 1 Abel Abad 666111222 2 Braulio Brío 666222333 666555666 954456789 3 Carlos Cepa 666333444 954123123.. * Fuente: artículo sobre la primera forma normal en Wikipedia. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 16 Ejemplo 1FN: Pasar de un teléfono por cliente a varios.* ID_CLI teléfono 1 Abel Abad 666111222 2 Braulio Brío 666222333 3 Carlos Cepa 666333444.. ID_CLI teléfono1 teléfono2 teléfono3 1 Abel Abad 666111222 null null 2 Braulio Brío 666222333 666555666 954456789 3 Carlos Cepa 666333444 954123123 null.. * Fuente: artículo sobre la primera forma normal en Wikipedia. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 17 IISSI 9

Ejemplo 1FN: Pasar de un teléfono por cliente a varios.* ID_CLI teléfono 1 Abel Abad 666111222 2 Braulio Brío 666222333 3 Carlos Cepa 666333444.. ID_CLI ID_CLI teléfono 1 Abel Abad 2 Braulio Brío 3 Carlos Cepa.. 1 666111222 2 666222333 2 666555666 2 954456789 3 666333444 3 954123123.. * Fuente: artículo sobre la primera forma normal en Wikipedia. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 18 Ejemplo 1FN: Relación de inmuebles para alquilar ID_INMUEB dirección precio propietarios ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González, 70% D. Páez, 30% 2230A Calle Tarifa, 15 500 E. Martos, 100% 3387B Los Bermejales, 8 700 R. Vidal, 50% P. González, 50% ID_INMUEB dirección precio propietario porcentaje ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González 70% 0010A Avda. Reina mercedes, 15 600 D. Páez 30% 2230A Calle Tarifa, 15 500 E. Martos 100% 3387B Los Bermejales, 8 700 R. Vidal 50% 3387B Los Bermejales, 8 700 P. González 50% noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 19 IISSI 10

Segunda forma normal (2FN) Una relación está en 2FN si está en 1FN y todos los atributos no primos son completamente dependientes de las claves candidatas de la relación. Los atributos no primos son los que no forman parte de ninguna clave candidata. Justificación de la 2FN Normalmente una relación no está en 2FN porque está representando varias entidades y asociaciones a la vez. Siempre se puede transformar un modelo relacional que no esté en 2FN en otro que sí lo esté sin pérdidas de información ni dependencias. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 20 Ejemplo 2FN: ID_INMUEB dirección precio propietario porcentaje ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 P. González 70% 0010A Avda. Reina mercedes, 15 600 D. Páez 30% 2230A Calle Tarifa, 15 500 E. Martos 100% 3387B Los Bermejales, 8 700 R. Vidal 50% 3387B Los Bermejales, 8 700 P. González 50% PK( ID_INMUEB, propietario ) porcentaje precio ID_INMUEB propietario dirección ID_EMP cargo noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 21 IISSI 11

Ejemplo 2FN: ID_INMUEB dirección precio ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 2230A Calle Tarifa, 15 500 3387B Los Bermejales, 8 700 precio ID_INMUEB ID_EMP cargo dirección PK(ID_INMUEB) Propietarios ID_INMUEB propietario porcentaje 0010A P. González 70% PK(ID_INMUEB, propietario) FK(ID_INMUEB / ) 0010A D. Páez 30% 2230A E. Martos 100% 3387B R. Vidal 50% 3387B P. González 50% ID_INMUEB propietario porcentaje noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 22 Regla general para la 2FN Si en la relación R(K 1, K 2, X, Y) se tienen: los conjuntos de atributos primos: K 1 y K 2 los conjuntos de atributos no primos: X e Y las dependencias : K 1 X y K 1, K 2 Entonces: Y R no está en 2FN porque X no depende completamente de las claves candidatas, pero... La siguiente descomposición sí está en 2FN: R 1 K 1, X con K 1 X R 2 K 1, K 2, Y con {K 1, K 2 } Y noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 23 IISSI 12

Tercera forma normal (3FN) Una relación está en 3FN si está en 2FN y ningún atributo no primo depende transitivamente de ninguna clave candidata. Justificación de la 3FN Todos los atributos no primos deben representar un hecho sobre la clave, toda la clave y nada más que la clave.* Normalmente una relación no está en 3FN porque está representando varias entidades asociadas a la vez. * Fuente: artículo sobre la tercera forma normal en Wikipedia. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 24 Ejemplo 3FN: ID_INMUEB dirección precio ID_EMP cargo 0010A Avda. Reina mercedes, 15 600 2230A Calle Tarifa, 15 500 3387B Los Bermejales, 8 700 PK(ID_INMUEB) precio ID_INMUEB dirección ID_EMP cargo noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 25 IISSI 13

Ejemplo 3FN: ID_INMUEB dirección precio ID_EMP 0010A Avda. Reina mercedes, 15 600 3 2230A Calle Tarifa, 15 500 3 3387B Los Bermejales, 8 700 5 PK(ID_INMUEB) FK(ID_EMP / Empleados) ID_INMUEB precio ID_EMP dirección Empleados ID_EMP cargo PK(ID_EMP) ID_EMP puesto noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 26 Transformación MC MR y 3FN Si todos los atributos de una entidad son realmente propiedades de dicha entidad, al transformar el MC, el MR resultante estará en 3FN. Comprobación de la 3FN Para cada relación resultado de la transformación, comprobar que: Todos los atributos no primos dependen completamente de todas las claves candidatas (2FN). No existen dependencias transitivas de ningún atributo no primo con ninguna clave candidata. noviembre 2012 Introducción a la Ingeniería del Software y a los Sistemas de Información 27 IISSI 14