Professional Documents
Culture Documents
CONTENIDO
1. Definicin Normalizacin
2. Proceso de normalizacin
3. DEFINICIONES BSICAS
a. Dependencia Funcional (d.f.)
b. Definicin de Dependencia Funcional Completa
c. Teorema de descomposicin
4. Formas normales
a. Definicin de la primera forma normal (1nf)
b. Definicin de la Segunda Forma Normal (2NF)
c. Definicin de la Tercera Forma Normal (3NF)
d. Forma Normal de Boyce-Codd
5. Introduccin a la teora relacional de bases de datos
a. Cerraduras y coberturas mnimas
b. Axiomas de inferencia de armstrong:
c. Saturacin:
d. Cobertura mnima
NORMALIZACIN
La normalizacin es una tcnica para disear la estructura lgica de los datos de un
sistema de informacin en el modelo relacional, desarrollada por E. F. Codd en 1972. Esta es
una etapa posterior a la correspondencia entre el esquema conceptual y el esquema lgico, que
elimina las dependencias entre atributos no deseadas. Las ventajas de la normalizacin son las
siguientes:
Evita anomalas en inserciones, modificaciones y borrados.
Mejora la independencia de datos.
No establece restricciones artificiales en la estructura de los datos.
El diseo de bases de datos conceptual proporciona el esquema de relaciones y sus
restricciones de integridad que sirve como punto inicial para el proceso de implementacin de
la base de datos.
El proceso de normalizacin es un estndar que consiste, bsicamente, en un proceso de
conversin de las relaciones, evitando:
La redundancia de los datos: repeticin de datos en un sistema.
Anomalas de actualizacin: inconsistencias de los datos como resultado de datos
redundantes y actualizaciones parciales.
Anomalas de borrado: prdidas no intencionadas de datos debido a que se han borrado
otros datos.
Anomalas de insercin: imposibilidad de adicionar datos en la base de datos debido a la
ausencia de otros datos.
Ejemplo: Analicemos la siguiente relacin: ESCRIBE
Bases de Datos
AUTOR
Date, C.
Date, C.
Date, C.
Codd,E.
Gardarin
Gardarin
Valduriez
Kim,W.
Lochovsky
NACIONALIDAD
Norteamericana
Norteamericana
Norteamericana
Norteamericana
Francesa
Francesa
Francesa
Norteamericana
Canadiense
TITULO
Database
SQL Stan
Guide for
Relational
Basi Dati
Comp BD
Comp BD
BD OO
BD OO
EDITORIAL
Addison
Addison, W.
Addison, W.
Addison,W.
Paraninfo
Eyrolles
Eyrolles
ACM
ACM
AO
1990
1986
1988
1990
1986
1984
1984
1989
1989
En los casos anteriores, se deja en manos del usuario manejar la integridad de la base
de datos. Lo anterior sucede pues no se cumple un hecho bsico de todo diseo:
Bases de Datos
base de datos, por lo que una determinada consulta puede llevar consigo el acceso a varias
tablas, lo que aumenta el costo de sta.
Proceso de normalizacin
El proceso de normalizacin va reduciendo un conjunto de relaciones dado, a una forma
ms deseable. En este contexto deseable significa ms sencilla, ms simple. Otra manera de
definirla es ir descomponiendo relaciones en otras relaciones mejores en trminos de las
operaciones que se ejecutan sobre ellas".
Existen varias formas normales para las relaciones 1NF, 2NF, 3NF, BCNF, 4NF y 5NF
(PJNF). Se dice que una relacin est en una determinada forma normal si satisface un cierto
conjunto de restricciones.
Para empezar a estudiar las tres primeras formas normales, adems de la de BoyceCodd, se debe introducir un concepto llamado dependencia funcional.
DEFINICIONES BSICAS
Dependencia Funcional (d.f.)
Intuitivamente, la redundancia surge cuando un esquema relacional es forzado a una
asociacin entre atributos que no es natural. Las dependencias funcionales pueden ser usadas
para identificar tales situaciones y sugerir refinamientos en el esquema. La idea esencial es
que muchos problemas que provienen de la redundancia se pueden solucionar reemplazando una
relacin por una coleccin de relaciones ms pequeas.
Formalmente podemos decir que: Dada una relacin R, el atributo Y de R depende
funcionalmente del atributo X de R si para una tupla dada el valor en X de R determina el valor
en Y de R, es decir, si
R(X)
R(Y)
Nombre
Juan Mora
Juan Mora
Mara Salas
Carlos Mata
Direccin
Valencia
Caracas
Valencia
Barquisimeto
Fecha-ingreso
12/06/91
10/12/87
10/12/87
12/11/86
#Placa
123456
103626
123456
67896
Para cada cdula existe un nico nombre asociado, es decir, se verifica la dependencia
funcional cdula -> nombre.
Bases de Datos
Puesto que un camin puede ser conducido por mas de un chofer no se verifica la d.f.
#placa -> cdula, esto se representa por #placa /-> cdula.
Se tiene nombre /-> #placa, puesto que dos personas distintas pueden tener el mismo
nombre, sin embargo {nombre, fecha-ingreso} -> #placa se verifica siempre que se est
seguro que dos personas con el mismo nombre no fueron contratadas el mismo da.
Es importante mencionar que la d.f. es un concepto que deriva del significado de los datos y no
del comportamiento de una relacin dada. As, por ejemplo en el esquema de la relacin
CHOFER, se tiene que la d.f. fecha-ingreso, direccin -> cdula, no se verifica debido a que dos
personas diferentes pudieron entrar el mismo da y vivir en la misma ciudad.
Ejemplo 2: Supongamos que tenemos un conjunto de relaciones:
Pieza (p#,nombre-p,color-p,peso-p,ciudad-alm)
Vendedor (v#,nombre-v,estatus,ciudad)
Venta (v#,p#,cantidad)
En estas relaciones se dan ciertas dependencias funcionales, tales como:
Pieza (p#)
Pieza(nombre-p)
Pieza (p#)
Pieza(color-p)
Pieza (p#)
Pieza(peso-p)
Pieza (p#)
Pieza(ciudad-alm)
Vendedor (v#)
Vendedor(nombre-v)
Vendedor (v#)
Vendedor(estatus)
Vendedor (v#)
Vendedor(ciudad)
Venta (s#,p#)
Venta(cantidad)
No necesariamente, la dependencia funcional de Y respecto de X viene dada porque el hecho de
que X es una clave candidata. De manera que una definicin que abarque ese punto se puede
escribir como:
Definicin de Dependencia Funcional
Dada una relacin R, el atributo Y de R depende funcionalmente del atributo X de R sii
siempre que dos tuplas de R concuerden en su valor de X, deben por fuerza, concordar en su
valor de Y.
Ejemplo: Supongamos que existiese una relacin
Venta(v#,p#,cantidad, ciudad)
Venta(ciudad)
Por esa misma razn ciudad no depende completamente de la clave primaria (v#,p#)
Bases de Datos
DE DESCOMPOSICIN:
Sea un esquema de relacin R(X, Y, Z), con X, Y y Z conjuntos de atributos de R, tal que la
dependencia funcional X Y se verifica en R. Entonces, la relacin R se descompone en las
relaciones R1 = R[X,Y] y R2 = R[X,Z], es decir, R = R1 x R2
Bases de Datos
DEFINICIN
DE LA
Una relacin est en 1NF sii todos los dominios simples subyacentes contienen slo
valores atmicos
Ejemplo de relacin No Normalizada
V#
01
02
DEFINICIN
Pedido
p#
cantidad
p1
100
p2
150
p3
200
DE LA
v#
01
01
02
p#
p1
p2
p3
cantidad
100
150
200
Una relacin est en 2NF sii est en 1NF y todos los atributos no clave (o que no
formen parte de la clave) dependen por completo de la clave primaria.
Supongamos que existiese la relacin M:
V#
estatus
ciudad
p#
cantidad
01
01
02
03
03
04
10
10
20
30
30
10
ccs
ccs
vcia
b/to
b/to
ccs
p1
p2
p3
p4
p5
p4
100
150
200
50
100
50
M(estatus)
M(v#)
M(v#)
M(ciudad)
M(estatus)
M(ciudad)
V#
cantidad
p#
estatus
ciudad
Bases de Datos
V(v#,p#,cantidad)
estatus
v#
V#
Ciudad
cantidad
p#
Ambas relaciones estn en 2NF (Ver cmo se eliminaron los problemas de actualizacin)
En general, el problema real de la relacin M era que se estaba mezclando informacin de
diferente tipo.
CONCEPTOS PRELIMINARES
Sea la relacin R donde X,Y y Z son un subconjunto de atributos de R, se dice que Z es
transitivamente dependiente de X si existe Y tal que:
R(X)
Entonces R(X)
R(Y)
R(Y)
R(Z)
R(Z)
Atributos No Claves: Cualquier atributo que no es clave o que no forma parte de la clave.
Atributos Independientes: Son atributos que no dependen funcionalmente de otros atributos.
Por ejemplo en la relacin Pieza, colo-p y peso-p son atributos independientes (entre s).
Bases de Datos
DEFINICIN
DE LA
Una relacin R est en 3NF sii est en 2NF y todos los atributos no clave dependen de
manera no transitiva de la clave primaria.
Ejemplo: L(v#, estatus,ciudad)
estatus
v#
ciudad
Qu problemas ocurren en La raz de la dependencia transitiva?
a.-Insertar: no se puede insertar el estatus de una ciudad mientras no halla un vendedor en esa
ciudad.
b.-Eliminar: si se elimina la nica tupla que contenga informacin del estatus de una ciudad, se
pierde esa informacin y no se puede volver a cargar como se dijo en "a".
c.-Actualizar: si se efecta un cambio de estatus para una ciudad dada hay que actualizar
varias veces segn hallan vendedores asociados a esa ciudad.
Solucin: Se descompone la relacin L en dos relaciones, a saber:
VC(v#,ciudad) y CS(ciudad,estatus)
FORMA NORMAL
DE
BOYCE-CODD
v#
vnombre
cantidad
p#
Bases de Datos
y
O bien,
y
SP(vnombre,p#,cantidad)
SP(v#,p#,cantidad)
Y COBERTURAS MNIMAS.
Bases de Datos
Bases de Datos