Normalización. Bases de Datos



Documentos relacionados
Normalización 1NF 2NF 3NF BCNF 4NF

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

NORMALIZACIÓN DE BASES DE DATOS

RESTRICCIONES DE INTEGRIDAD Y DEPENDENCIAS FUNCIONALES Bases de Datos Universidad de Talca, II Semestre Jorge Pérez R.

Normalización de Bases de Datos Relacionales

Normalización de bases de datos

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

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

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

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

Bases de Datos Relacionales

CERTAMEN 2 90 minutos 20 puntos

Dependencias Funcionales. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalización

Normalización de una Base de Datos. Normalización de la BD (precio fijo)

Conceptos generales sobre bases de datos relacionales y MS-Access

NORMALIZACION. Definición.

Tema 6: Teoría de la Normalización

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

Dep. Multivaluadas y Cuarta F.N.

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION

Listas de vectores y conjuntos de vectores

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Antes de entrar a definir la forma normal de Boyce-Codd, necesitamos conocer qué se entiende por determinante.

Unidad 3. NORMALIZACIÓN.

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos


Modelo Entidad-Relación

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

Este es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

Normalización. El diseño que hemos recibido está compuesto de estas dos relaciones:

Que es normalización? Normalización de una base de datos Grados de normalización: Primera Forma Grados de normalización: Segunda Forma Grados de

La Lección de hoy es sobre determinar el Dominio y el Rango. El cuál es la expectativa para el aprendizaje del estudiante LF.3.A1.

Entender y aprender el concepto de Índice en Visual FoxPro así como crear los índices necesarios para la aplicación que se está desarrollando.

Diseño de bases de datos Diapositiva 1

Modelo Relacional. Normalización

Tema 3. Espacios vectoriales

DISEÑO DE BASES DE DATOS RELACIONALES

Base de Datos.

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Base de Datos. Profesores: Franklin Johnson P. José Miguel Rubio L.

Normalización. Carlos A. Olarte Bases de Datos I

Módulo 9 Sistema matemático y operaciones binarias


Registro: Es un conjunto de campos. También se llama Fila o Tupla. Son varios datos

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

5/27/2013. Contenidos. Las Bases de Datos y los Sistemas (SBD) El Modelo Entidad-Relación (E-R) El Modelo Relacional Integridad de los Datos MS Access

Diseño de Bases Relacionales Normalización

Tema 2: Modelo Entidad-Relación(ER)

Normalización n de Bases de Datos Relacionales. Bases de Datos. Malos Diseños. Índice. Muchos Problemas. Definición

Manual Administrador. Descripción Portal de Administración Servicio Correo Electrónico

Eduardo Mora y Marta Zorrilla Pág

DISEÑO DE BASES DE DATOS RELACIONALES Normalización Parte 2 FNBC, 3FN

Espacios generados, dependencia lineal y bases

Unidad 5. Modelo de objetos del dominio del problema. Trimestre 10-I. Universidad Autonomía Metropolitana. Unidad 5

4 Integridad de datos relacional: llaves candidatas y temas relacionados.

Sistemas de ecuaciones lineales

El modelo relacional

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

Modelos y Bases de Datos

Práctico 6 Diseño Relacional

M III ABSTRACCIÓN Y CLASIFICACIÓN

Relaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d

Cualquier número de cualquier base se puede representar mediante la siguiente ecuación polinómica:

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Relaciones entre Tablas en una Base de Datos Access

Curso Excel Básico - Intermedio

El modelo relacional y el álgebra relacional

Sistemas de Numeración

MATERIAL INSTRUCCIONAL DE APOYO

UNIVERSIDAD SAN PEDRO FILIAL - CAJAMARCA

Capítulo VI. Diagramas de Entidad Relación

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Algebra Relacional Jos e Ram on Param a Gab ıa

Divisibilidad y números primos

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Temario. Índices simples Árboles B Hashing

Control Estadístico del Proceso. Ing. Claudia Salguero Ing. Alvaro Díaz

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

I. RELACIONES Y FUNCIONES 1.1. PRODUCTO CARTESIANO { }

Proceso de normalización

Guía Práctica para el Uso del Servicio de Software Zoho CRM

Subespacios vectoriales en R n

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales:

ANÁLISIS DE DATOS NO NUMERICOS

Análisis de los datos

Diferenciabilidad. Definición 1 (Función diferenciable). Cálculo. Segundo parcial. Curso

RED NUCLEAR Probar Chamilo Nota.-

2. Aritmética modular Ejercicios resueltos

Modelos y Bases de Datos

MODELO RELACIONAL Y PASAJE MER A RELACIONAL

GUÍAS CLÁSICAS DE BASES DE DATOS

CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS

Transcripción:

Normalización Bases de Datos

Primera Forma Normal El dominio de todo atributo de cualquier relación debe incluir sólo valores atómicos. El valor de cualquier tupla debe ser un elemento simple del dominio. No puede ser que para una tupla r y un atributo A el valor de r[a] sea un conjunto de valores atómicos.

Ejemplo si r(r) es la relación que viola 1NF, N el atributo que produce el problema y K la clave primaria de r(r).

Solución 1 Crear una nueva relación r'(r ) a partir de remover el atributo N de r(r) Crear una nueva relación t(k, N ) donde K es la clave primaria de r(r) de tal manera que las tuplas cumplan: t[n ] r[n] t[k] = r[k] Esta última relación tiene clave primaria (K, N ) Eliminar la relación r(r) del esquema de la Base de Datos.

Solución 2 Crear una nueva relación r (R ) a partir de remover el atributo N de r(r) y agregar un nuevo atributo N de tal manera que las tuplas cumplan: r [N ] r[n] r [K] = r[k] La clave primaria de r (R ) es (K, N ) Eliminar la relación r(r) del esquema de la Base de Datos.

Segunda Forma Normal Está basada en el concepto de dependencia funcional total: sean X, Y y B conjuntos de atributos de cierta relación Si X Y y para todo B X se cumple que B ~ Y, entonces se dice que Y es totalmente funcionalmente dependiente de X (para definir Y se necesita X completo). Si no, se dice que Y es parcialmente funcionalmente dependiente de X * Sea A un subconjunto de B tal que A B. Entonces se dice que A es un subconjunto propio de B, y se denota por A B.

Formulación-2NF Para entender la idea de 2NF veremos inicialmente un caso particular simple en donde queda claro su aplicación. Supondremos que todas las relaciones tienen una única llave candidata lo que quiere decir que las llaves primarias se encuentran definidas. Un esquema de Base de Datos con la anterior característica se encuentra en 2NF si está en 1NF y toda relación r(r) con llave primaria K cumple que para cualquier atributo A que no sea parte de la llave primaria, A es totalmente funcionalmente dependiente de K. K A es una dependencia funcional total si la llave primaria de una relación está compuesta por sólo un atributo, la propiedad se cumple siempre.

Claramente la única clave candidata es (rut, cod_proy) y podemos decir que: rut, cod_proy horas es una dependencia funcional total. rut, cod_proy nom_emp es una dependencia funcional parcial ya que se cumple rut nom_emp. rut, cod_proy nom_proy, lugar_proy es una dependencia funcional parcial ya que cod_proy nom_proy, lugar_proy. No se encuentra en 2NF ya que nom_emp, nom_proy y lugar_proy dependen funcionalmente en forma parcial de la llave primaria.

Solución Primero convertir en 1NF. Sea r(r) una relación que viola 2NF, y K la llave primaria de r(r) Identificar un conjunto de atributos A que depende funcionalmente en forma parcial de K, y el subconjunto K K del que depende funcionalmente en forma total. Crear una nueva relación r (R ) que resulta de r(r) al eliminar el conjunto de atributos A. Crear una nueva relación t(k, A) de tal manera que las tuplas cumplan: t[a] = r[a] t[k ] = r[k ] La llave primaria de t(k, A) es K. Eliminar la relación r(r) del esquema.

Solución A pesar de que t(k, A) está en 2NF, r (R ) posiblemente aún no se encuentra en 2NF, por lo que se debe repetir el proceso hasta que el esquema esté en 2NF.

Ejemplo 2 Claves candidatas: cod propiedad municipio, numero lote Más la siguiente dependencia funcional: municipio impuesto

Ejercicios Normalizar hasta 2FN R: A, B, C, D, E. A --> B A --> D C --> E

Ejercicios Normalizar hasta 2FN R: A, B, C, D, E, F, G. F --> B E --> D A --> C G --> E B --> F

Fin Por ahora...

Tercera Forma Normal Está basada en el concepto de dependencia funcional transitiva: sean X,Y y Z conjuntos de atributos de cierta relación. Si X Y y existe un conjunto Z~= X, tal que X Z y Z Y se dice que Y depende funcionalmente en forma transitiva de X a través de Z.

Ejemplo Supongamos que tenemos el siguiente esquema de relación empleado-departamento. nom_emp llave candidata única (llave primaria) cod_dept nom_dept, fech_creac En el ejemplo nom_dept y fech_creac dependen funcionalmente en forma transitiva de nom_emp nom emp cod dept y cod dept nom dept, fech creac.

3NF Formulación Supondremos que todas las relaciones tienen una única llave candidata lo que quiere decir que las llaves primarias se encuentran definidas (cómo lo hicimos con 2NF). Un esquema de Base de Datos se encuentra en 3NF si está en 2NF y toda relación r(r) con llave primaria K cumple que para cualquier atributo A que no sea parte de la llave primaria en R, A no depende funcionalmente en forma transitiva de K B tal que K B y B A

3NF?

3NF Solución Primero convertir en 2NF. Sea r(r) la relación que viola 3NF, y K la clave primaria de r(r) Identificar un conjunto de atributos A (A ~ K) que depende funcionalmente en forma transitiva de K, y el conjunto B que define la transitividad Crear una nueva relación r (R ) que resulta de r(r) al eliminar el conjunto de atributos A

3NF Solución Crear una nueva relación t(b, A) tal que: t[a] = r[a] t[b] = r[b] La clave primaria de t(b, A) es B, se debe establecer B como llave foránea en r (R ). Eliminar la relación r(r) del esquema. r (R ) posiblemente aún no se encuentra en 3NF, por lo que se debe repetir el proceso hasta que el esquema esté en 3NF.

3NF Solución (For Dummies)

3NF Formulación (cont.) En la anterior formulación supusimos que las relaciones tenían una única llave candidata y por lo tanto la llave primaria estaba fija. En general este supuesto puede no ser cierto y entonces 3NF cambian en parte su formulación: Un esquema está en 3NF si para cada relación r(r), si un atributo A no es parte de una llave candidata en R, entonces A no depende en forma transitiva de ninguna llave candidata de R. Es simplemente una generalización del caso anterior pero ahora tomando en cuenta todas las llaves candidatas (no sólo la primaria).

3NF Formulación (cont.) Para cada dependencia funcional no trivial X A (o sea tal que A ~ X) que existe en r(r) se cumple que: X es una clave candidata de R. A es parte de una clave candidata de R. La solución es similar a la anterior salvo que se toman en cuenta en total las llaves candidatas, no sólo las llaves primarias.

3NF Ejemplo (municipio, número lote) es también llave candidata y tenemos la dependencia funcional: municipio impuesto. Agregamos la dependencia funcional área precio

3NF Ejemplo No se encuentra en 3NF ya que precio depende en forma transitiva de una llave candidata: cod_propiedad area precio. Equivalentemente, area precio es una dependencia funcional no trivial, area no es una llave candidata y precio no es parte de ninguna llave candidata, luego el esquema no se encuentra en 3NF.

Solución

BCNF Forma Normal de Boyce-Codd Propuesta inicialmente como una forma simplificada de 3NF. Es muy simple de formular, pero resultó ser más estricta que 3NF. Si un esquema está en BCNF entonces está en 3NF, pero no necesariamente al revés. Un esquema está en BCNF si cada una de sus relaciones r(r) cumple: Para toda dependencia funcional no trivial X Y en R, X es una llave candidata.

BCNF Forma Normal de Boyce-Codd La única diferencia es que ahora los atributos que son parte de una llave candidata sólo pueden depender de otras llaves candidatas. restricciones: Supongamos que tenemos muchos lotes pero sólo los municipios de Curicó y Talca. Las superficies de los lotes de Curicó son 0.5, 0.6, 0.7, 0.8 y 0.9, y de los lotes de Talca son 1.0, 1.1, 1.2, 1.3. Obtenemos la nueva dependencia area municipio.

BCNF Forma Normal de Boyce-Codd El esquema sigue estando en 3NF, ya que municipio es parte de una llave candidata (no existen dependencias transitivas de atributos no parte de llaves candidatas). Sin embargo el esquema no está en BCNF ya que el atributo area no es una llave candidata.

BCNF Forma Normal de Boyce-Codd

BCNF Forma Normal de Boyce-Codd En general la forma de llevar un esquema a uno equivalente en 3NF es bastante simple, informalmente: Identificar la relación R y la dependencia funcional X A tal que X no es llave en R. Crear una nueva relación con atributos X y A, tomando X como llave primaria. Dejar X en R como llave foránea (eliminar los atributos correspondientes de R).

Normalización Comparaciones 1NF atributos atómicos. 2NF atributos no parte de llaves candidatas dependen en forma total de todas las llaves candidatas. 3NF atributos no parte de llaves candidatas no dependen en forma transitiva de ninguna llave candidata. BCNF todas las dependencias funcionales son desde llaves (si X Y entonces X es llave).

Ejercicios Normalizar hasta BCNF 1. R: A, B, C, D, E. A --> B A --> D C --> E 2. R: A, B, C, D, E, F, G. F --> B E --> D A --> C G --> E B --> F

Ejercicios Normalizar hasta BCNF 3. R: A, B, C, D, E, F, G. C --> E A --> C D --> B,F B --> D,G 4. R: A,B,C,D,E,F BD --> E CD --> A E --> C B --> D

Fin Por ahora...