Está en la página 1de 45

Presentacin

Normalizacin

Centro de Investigacin y Tecnologa Educativa


Puebla, Mxico Agosto 2010

Desarrollada por: Efran Salomn Flores

2010 by ESF Pres. Normalizacin 1 / 34


Puntos a Tratar
El propsito de la Normalizacin
Redundancia de Datos y Anomalas
Dependencias funcionales
El proceso de Normalizacin
Bibliografa
Preguntas*

2010 by ESF Pres. Normalizacin 2 / 34


El propsito de la Normalizacin
Historia
Definicin
Propsito

2010 by ESF Pres. Normalizacin 3 / 34


El propsito de la Normalizacin
Historia
El proceso de normalizacin fue desarrollado por E. F. Codd en
1972

Inicialmente fueron tres las formas normales propuestas


1FN a la 3FN

Posteriormente R. Boyce y E. F. Codd introdujeron la forma


normal llamada Boyce-Codd

En 1977 se introduce la 4FN y en 1979 la 5FN, estas aplican


en situaciones poco comunes
Fuente: Database Systems 1, pg. 376
2010 by ESF Pres. Normalizacin 4 / 34
El propsito de la Normalizacin
Definicin
Es una tcnica para producir un conjunto de relaciones
con propiedades deseables, dados los requerimientos de
datos de una empresa.

Propsito
Eliminar la redundancia de datos y evitar las anomalas
de :
Insercin
Eliminacin
Actualizacin
Fuente: Database Systems 1, pag. 376
2010 by ESF Pres. Normalizacin 5 / 34
Redundancia de Datos y Anomalas
Definiciones
Ejemplos

2010 by ESF Pres. Normalizacin 6 / 34


Redundancia de Datos y Anomalas
Redundancia de Datos y Anomalas
La redundancia de los datos:
Repeticin de datos en un sistema.

Anomalas de insercin:
Imposibilidad de adicionar datos en la base de datos
debido a la ausencia de otros datos.

Data Base System pag.377


2010 by ESF Pres. Normalizacin 7 / 34
Redundancia de Datos y Anomalas
Redundancia de Datos y Anomalas
Anomalas de borrado:
Prdidas no intencionadas de datos debido a que se
han borrado otros datos.

Anomalas de actualizacin:
Inconsistencias de los datos como resultado de datos
redundantes y actualizaciones parciales.

Data Base System pag.377


2010 by ESF Pres. Normalizacin 8 / 34
Redundancia de Datos y Anomalas
Ejemplo:

2010 by ESF Fuente: Data Base System pag.377 Pres. Normalizacin 9 / 34


Redundancia de Datos y Anomalas
Ejemplos
Anomalas de Insercin
Para insertar la informacin de un nuevo miembro del staff dentro
de la tabla StaffBranch, es necesario reingresar la direccin de la
sucursal (branch).

Fuente: Database Systems 1, pag. 379


2010 by ESF Pres. Normalizacin 10 / 34
Redundancia de Datos y Anomalas
Ejemplos
Anomalas de Borrado
Si se elimina el registro con staffNo SA9, no slo se borrara la
informacin del empleado si no que adems la informacin de la
sucursal (branch) B007.

Fuente: Database Systems 1, pag. 379


2010 by ESF Pres. Normalizacin 11 / 34
Redundancia de Datos y Anomalas
Ejemplos
Anomalas de Actualizacin
Si se actualiza la direccin de la sucursal (branch), B003,
se tendrn diferencias con los otros registros.

Fuente: Database Systems 1, pag. 379


2010 by ESF Pres. Normalizacin 12 / 34
Dependencias funcionales
Definiciones
Ejemplo
Propsito

2010 by ESF Pres. Normalizacin 13 / 34


Dependencias funcionales
Definiciones
Dependencia Funcional:
Describe la relacin entre atributos en la relacin. Por
ejemplo, si A y B son atributos de la Relacin R, B es
funcionalmente dependiente de A (denotado A -> B),
si cada valor de A es asociado con exactamente un
valor de B. (A y B pueden cada uno consistir de uno
o ms atributos.)

Fuente: Database Systems 1, pag. 379


2010 by ESF Pres. Normalizacin 14 / 34
Dependencias funcionales
Definiciones
Determinante:
Se refiere a los atributos o grupos de atributos en la
parte izquierda de la flecha de una dependencia
funcional.

Fuente: Database Systems 1, pag. 380


2010 by ESF Pres. Normalizacin 15 / 34
Dependencias funcionales
Ejemplo:
Considerando los atributos de staffNo y position de la relacin staff
en la siguiente figura

Para un staffNo especfico, por ejemplo SL21, podemos determinar


la posicin de esos miembros del staff como Administradores.

2010 by ESF Fuente: Database Systems 1, pg. 380 Pres. Normalizacin 16 / 34


Dependencias funcionales
Ejemplo:
En otras palabras, el atributo position es funcionalmente
dependiente del staffNo como se muestra a continuacin:

2010 by ESF Fuente: Database Systems 1, pag. 381 Pres. Normalizacin 17 / 34


Dependencias funcionales
Ejemplo:
Sin embargo, lo opuesto no es verdad, un staffNo no es funcionalmente
dependiente de position. Un miembro del staff toma una posicion, sin
embargo, puede haber muchos miembros del staff con la misma posicin.

2010 by ESF Fuente: Database Systems 1, pag. 381 Pres. Normalizacin 18 / 34


Dependencias funcionales
Ejemplo:
Las relaciones entre staffNo y position es uno-a-uno (1:1):
para cada numero de staff existe una sola posicin.

Por otro lado las relaciones entre position y staffNo es de


uno-a-muchos (1:*): muchos nmeros de staff asociados
con la posicin dada.

En este ejemplo el staffNo es el determinante de esta


dependencia funcional.

2010 by ESF Fuente: Database Systems 1, pag. 381 Pres. Normalizacin 19 / 34


Dependencias funcionales
Propsito
El propsito principal de identificar un conjunto de
dependencias funcionales a partir de una relacin es
para especificar un conjunto de restricciones de
integridad que deben ser tomadas en una relacin.

Una importante restriccin de integridad a considerar


primero es la identificacin de llaves candidatas, una de
las cuales es seleccionada para ser llave primaria en la
relacin.

Fuente: Database Systems 1, pag. 376


2010 by ESF Pres. Normalizacin 20 / 34
El proceso de Normalizacin
Diagrama de las formas normales
Forma No Normalizada
Formas Normales
1FN
2FN
3FN

2010 by ESF Pres. Normalizacin 21 / 34


El proceso de Normalizacin
Diagrama de las formas normales

Fuente: Database Systems 1, pag. 387


2010 by ESF Pres. Normalizacin 22 / 34
El proceso de Normalizacin
Forma No Normalizada
Es una tabla que contiene uno o mas grupos repetidos

Fuente: Database Systems 1, pag. 387


2010 by ESF Pres. Normalizacin 23 / 34
El proceso de Normalizacin
Primera Forma Normal:
Definicin: Una relacin en la cual la interseccin de cada
rengln y columna contiene un solo y nico valor.

Fuente: Database Systems 1, pag. 387


2010 by ESF Pres. Normalizacin 24 / 34
El proceso de Normalizacin
Primera Forma Normal:
Ejemplo: Se tienen una serie de formatos para la renta de
propiedades, se asume que cada cliente renta una propiedad
por vez.

2010 by ESF Fuente: Database Systems 1, pag. 387 Pres. Normalizacin 25 / 34


El proceso de Normalizacin
Forma No Normalizada
Grupos con repeticiones:
propertyNo, pAddress, rentStart, rentFinish, rent, ownerNo,
oName

2010 by ESF Fuente: Database Systems 1, pag. 387 Pres. Normalizacin 26 / 34


El proceso de Normalizacin
Primera Forma Normal:
Primera aproximacin

2010 by ESF Fuente: Database Systems 1, pag. 387 Pres. Normalizacin 27 / 34


El proceso de Normalizacin
Primera Forma Normal:
Qu atributos dependen de que atributos?

ClientRental (clientNo, propertyNo, cName, pAddress,


rentStart, rentFinish, rent, ownerNo, oName)

ClientRental (clientNo, propertyNo, cName, pAddress,


rentStart, rentFinish, rent, ownerNo, oName)

2010 by ESF Fuente: Database Systems 1, pag. 387 Pres. Normalizacin 28 / 34


El proceso de Normalizacin
Segunda Aproximacin

2010 by ESF Fuente: Database Systems 1, pag. 387 Pres. Normalizacin 29 / 34


El proceso de Normalizacin
Segunda Forma Normal:
Definicin: Una relacin que est en la primera forma normal y
cada atributo que no es llave primaria es funcionalmente
dependiente de la llave primaria.

Nota: La segunda forma normal se basa en el concepto de:


Dependencia funcional Completa (Full functional
dependency)

Fuente: Database Systems 1, pag. 392


2010 by ESF Pres. Normalizacin 30 / 34
El proceso de Normalizacin
Segunda Forma Normal:
Dependencia funcional Completa:
Indica que si A y B son atributos de una relacin, B es
funcionalmente dependiente de A y B es funcionalmente
dependiente de A, pero no alguna propiedad subconjunto de
A.

Una dependencia funcional A -> B es Completamente


dependiente cuando al remover algn atributo de A se pierde
la dependencia. Una dependencia funcional A -> B es
Parcialmente dependiente si existe algn atributo que pueda
ser removido de A sin afectar a la dependencia.

Fuente: Database Systems 1, pag. 391


2010 by ESF Pres. Normalizacin 31 / 34
El proceso de Normalizacin
Segunda Forma Normal:
Dependencia funcional Completa:
Como ejemplo, consideremos la siguiente dependencia
funcional:
staffNo, sName -> branchNo

Es correcto decir que cada valor de (staffNo, sName) est


asociado con un solo valor de branchNo

No es una dependencia funcional completa ya que


branchNo es funcionalmente dependiente en un
subconjunto de (staffNo, sName), llamado staffNo.
Fuente: Database Systems 1, pag. 391
2010 by ESF Pres. Normalizacin 32 / 34
El proceso de Normalizacin
Segunda Forma Normal:
Objetivo:
La normalizacin de una relacin 1FN a una 2FN
consiste en remover todas las dependencias
parciales.

Fuente: Database Systems 1, pag. 391


2010 by ESF Pres. Normalizacin 33 / 34
El proceso de Normalizacin
Segunda Forma Normal:
Dependencias funcionales para la relacin ClientRental con (client
No, PropertyNo) como llave primaria.

2010 by ESF Fuente: Database Systems 1, pag. 392 Pres. Normalizacin 34 / 34


El proceso de Normalizacin
Segunda Forma Normal:
Dependencias funcionales para la relacin ClientRental con
(client No, PropertyNo) como llave primaria.

2010 by ESF Fuente: Database Systems 1, pag. 393 Pres. Normalizacin 35 / 34


El proceso de Normalizacin
Segunda Forma Normal:
Lo anterior da origen a las siguientes tablas:

2010 by ESF Fuente: Database Systems 1, pag. 393 Pres. Normalizacin 36 / 34


El proceso de Normalizacin
Tercera Forma Normal:
Definicin: Una relacin que ya se encuentra en la 1FN y en
2FN y en la cual ningn atributo no llave no es transitivamente
dependiente de la llave primaria.

Nota: La tercera forma normal se basa en el concepto de:


Dependencia Transitiva (Transitive Dependency)

Fuente: Database Systems 1, pag. 394


2010 by ESF Pres. Normalizacin 37 / 34
El proceso de Normalizacin
Tercera Forma Normal
Dependencia Transitiva:
Una condicin donde A, B y C son atributos de una
relacin la cual menciona que si A B y B C,
entonces C es transitivamente dependiente de A a
travs B.

Fuente: Database Systems 1, pag. 394


2010 by ESF Pres. Normalizacin 38 / 34
El proceso de Normalizacin
Tercera Forma Normal
Anlisis de las tablas en 2FN

2010 by ESF Fuente: Database Systems 1, pag. 395 Pres. Normalizacin 39 / 34


El proceso de Normalizacin
Tercera Forma Normal
Transformacin de 2FN a 3FN

2010 by ESF Fuente: Database Systems 1, pag. 395 Pres. Normalizacin 40 / 34


El proceso de Normalizacin
Tercera Forma Normal
Tablas resultantes en 3FN

2010 by ESF Fuente: Database Systems 1, pag. 395 Pres. Normalizacin 41 / 34


El proceso de Normalizacin
Tablas Resultantes

2010 by ESF Fuente: Database Systems 1, pag. 396 Pres. Normalizacin 42 / 34


El proceso de Normalizacin
Resumen

2010 by ESF Fuente: Database Systems 1, pag. 396 Pres. Normalizacin 43 / 34


Bibliografa
Database Systems (1, Rojo)
A Practical Approach to Design, Implementation, and Management
Thomas Connolly, Carolyn Begg
Addison Wesley Third Edition

2010 by ESF Pres. Normalizacin 44 / 34


Preguntas?

Fin

2010 by ESF Pres. Normalizacin 45 / 34

También podría gustarte