Vous êtes sur la page 1sur 29

NORMALIZACIN DE DATOS

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Diseo Relacional
El diseo de una BD Relacional puede
abordarse de dos formas distintas:
Obteniendo el esquema relacional
directamente:
Objetos y reglas captadas del anlisis del
mundo real, representadas por un conjunto
de esquemas de relacin, sus atributos y
restricciones de integridad.
Realizando el diseo del esquema
"conceptual" de la BD (modelo E/R) y
transformndolo a esquema relacional.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Ejemplo de diseo inadecuado

Redundancia
de
informacin:
ciudad,
distancia
(ciudad); precio (artculo).
Anomalas de modificacin: !podemos tener el mismo
artculo con dos precios! (igual argumento para ciudad y
distancia). inconsistencias
Anomalas de insercin:
Podemos registrar nuevo
artculo?, Nuevo cliente?, Nueva ciudad, distancia?
Anomalas de borrado: Si eliminamos tupla de pedido de
artculo A3 o cliente C4 prdida de informacin.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Ejemplo de diseo inadecuado


Redundancia de informacin:
datos repetidos
desperdicio de espacio, actualizacin complicada

Mal diseo:
anomalas, redundancia e inconsistencias de la
informacin
imposibilidad para representar cierta informacin
prdida de informacin

Normalizacin
conversin de una relacin con ciertos problemas a
dos o ms relaciones que no tienen tales
problemas

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Principio bsico de diseo:

"hechos distintos
almacenar
en
distintos"

se

deben
objetos

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Teora de Normalizacin
Tcnica formal de anlisis y organizacin de
datos; trata de evitar la redundancia y
anomalas de actualizacin.
Introduce formalizacin en el diseo lgico de las
Bases de Datos Relacionales.
Adems permite mecanizar parte del proceso al
disponer de instrumentos algortmicos de ayuda
al diseo.
Proceso de normalizacin: disminuye las
anomalas de actualizacin, pero penaliza las
consultas (combinacin consume muchos
recursos).

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Formas normales
Un esquema de relacin est en una determinada forma normal si
satisface
un
determinado
conjunto
especfico
de
restricciones definidas sobre los atributos del esquema
(dependencias).

1 FN (Codd, 1970)
Concepto de relacin normalizada.

2, 3 FN (Codd, 1970), FNBC (Boyce/Codd, 1974)


Basadas en anlisis de dependencias funcionales.

4 FN. Fagin, 1977


Basada en anlisis de dependencias multivaluadas.

5 FN. Fagin, 1979


Basada en anlisis de dependencias de proyeccin /
combinacin.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Formas normales
Relaciones en 2FN
Relaciones en 3FN
Relaciones en FNBC
Relaciones en 4FN
Relaciones en 5FN

Relaciones normalizadas

Relaciones
2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Dependencias
Restricciones de integridad impuestas por el
usuario.
Propiedades inherentes al contenido semntico de los
datos.
Se han de cumplir para cualquier extensin del
esquema de una relacin.
No se pueden demostrar, pero s afirmar por
observacin del mini mundo a representar.
Del anlisis de la extensin de un esquema relacional
slo podremos deducir que no existe una determinada
dependencia.
Si una dependencia es cierta para un determinado
esquema de relacin, una extensin no ser vlida si
no la cumple.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

Dependencia funcional
Sean A y B atributos de una misma
tabla o relacin R. Se dice que B es
funcionalmente dependiente de A y se
denota A B si todo posible valor de A
tiene asociado un nico valor de B,
o lo que es lo mismo, en todas las tuplas
de r(R) en las que el atributo A toma el
mismo valor v1, el atributo B toma
tambin un mismo valor v2.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

10

Dependencia funcional
Definicin
Sean X e Y subconjuntos de A (A,
conjunto de atributos de R).
Decimos que X determina o implica
a Y en R
(equivale
a
Y
depende
funcionalmente de X)
si para dos tuplas cualesquiera de r(R)
que tengan iguales valores en X,
tambin son iguales los valores en Y.
Se representa por X Y

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

11

Diagrama de dependencias
funcionales
Ejemplo: R ( A, DF ).
R: pedidos
A: {artculo, cliente, cantidad, precio, ciudad, distancia}.
DF: ({artculo,cliente} {cantidad,precio,ciudad, distancia},
artculo precio,
cliente {ciudad, distancia},
ciudad distancia )

Diagrama de
Dependencias
Funcionales

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

12

Dependencia funcional plena o


completa
Sea X (conjunto de atributos). Se dice que Y tiene
dependencia funcional plena o completa de X,
si depende funcionalmente de X
pero no depende de ningn subconjunto del
mismo
X Y sii X' X | X' Y (X determina
completamente "" a Y si y solo si no existe un
subconjunto X' de X tal que ese subconjunto X'
determine funcionalmente a Y)
P.e. (artculo, cliente) cantidad es una DF
completa, pero
(artculo, cliente) precio no es una DF
completa puesto que artculo precio;

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

13

Dependencia funcional transitiva


Si XY, Y-/X, YZ entonces Z
depende transitivamente de X (X--Z)
Por ejemplo:
Cliente ciudad,
ciudad
-/
cliente
(no
determina
funcionalmente), y
cliente distancia,
por tanto, ciudad --- distancia
(cliente determina transitivamente a
distancia).

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

14

Normalizacin de un esquema
de BD Relacional

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

15

Segunda Forma Normal (2FN).


Un esquema de relacin R(A,DF) est en 2 FN si y
slo si
est en 1 FN (es decir, si la relacin est normalizada)
y sus atributos no primarios dependen completamente de
la clave primaria de R.
(atributos no primarios: que no formen parte de la clave
primaria).

Si una relacin R no est en 2 FN, se puede


normalizar descomponiendo esa relacin en:
Una relacin con los atributos de clave primaria, ms los
atributos con dependencia completa de ella.
Una relacin para cada "parte" de la clave primaria, ms los
atributos que dependan funcionalmente de esa parte.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

16

Descomposicin a 2 FN
(informal)
Ejemplo: PEDIDOS se descompone en:
PEDIDOS'({artculo,cliente, cantidad},
{[artculo,cliente] cantidad})
ARTICULOS ({artculo, precio}, {artculo precio} )
CLIENTES({cliente,ciudad,distancia},
{clienteciudad,ciudaddistancia})

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

17

Tercera Forma Normal (3FN)


Un esquema de relacin R(A,DF) est en 3 FN si y
slo si
est en 2 FN y
ninguno de sus atributos no primarios depende
transitivamente de la clave primaria de R.
Es decir no hay DF transitivas.
Descomposicin informal: Si una relacin no est
en 3 FN, y tenemos los conjuntos de atributos X,Y,Z
tales que XY, YZ (por tanto X --- Z ):
Una relacin formada por la clave primaria (X) ms
los atributos que dependen directamente de ella.
Una relacin para los atributos de Y y Z.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

18

Descomposicin a 3 FN
(informal)
Ejemplo: CLIENTES se descompone en:
CLIENTES' ({cliente, ciudad}, {cliente ciudad})
CIUDADES ({ciudad, distancia}, {ciudad distancia})

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

19

Implicacin lgica de DFs.


Dado un esquema relacional R, una dependencia
funcional df de R est implicada lgicamente por
un conjunto de dependencias DF de R si cada
ejemplar de la relacin r(R) que satisface DF
tambin satisface df.
R({ABCGHI}, {AB, AC, CGH, CGI, BH}
AH ?
Si t1[A]=t2[A], AB t1[B]=t2[B], BH t1[H]=t2[H] AH

Cierre (clausura) de DF: Dado un conjunto de


dependencias funcionales DF, llamaremos cierre de
DF, y lo representaremos por DF+, al conjunto de
todas las dependencias funcionales posibles que
implicadas lgicamente en DF.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

20

Reglas de inferencia de DFs

Dado un conjunto DF de dependencias funcionales, podemos probar


que se cumplen otras ciertas dependencias funcionales inferidas de
DF.
"Axiomas" de Armstrong:
Sea R (A:D); X ,Y, Z, W subconjuntos de A.
Se verifica:

1) Reflexividad. Si X, conjunto de atributos, Y X, entonces se


verifica que X Y.
2) Aumentatividad. Si X Y, Z conjunto de atributos, entonces se
verifica que XZ YZ.
(XY es lo mismo que X Y, unin)
3) Transitividad. Si X Y e Y Z, entonces se verifica que X Z.
Estas reglas forman un sistema completo de reglas de inferencia,
porque dado DF permiten calcular DF+
Son correctas (seguras) puesto que no generan dependencias
funcionales incorrectas.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

21

Tcnicas principales para el


Diseo Relacional

Diseo del esquema conceptual en un


modelo de datos de alto nivel (como
el ER) y su posterior transformacin
en un conjunto de relaciones.
En esta tcnica podemos aplicar
informalmente los principios de
normalizacin comentados (evitar
dependencias parciales o transitivas), tanto
durante la fase de diseo conceptual, como
posteriormente al conjunto de relaciones
obtenidas mediante el proceso de
transformacin.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

22

Tcnicas principales para el


Diseo Relacional
Considerar el diseo de la BD relacional estrictamente en
trminos de dependencias (funcionales y de otros tipos que
veremos) entre los atributos de la BD.
Este proceso es denominado algunas veces como sntesis
relacional, puesto que los esquemas de relacin son
sintetizados mediante el adecuado agrupamiento de atributos.
Cada esquema de relacin representara a un grupo de atributos
lgicamente coherente y poseera las ventajas asociadas con la
normalizacin (no redundancia, no anomalas, ...).
Durante el proceso de normalizacin descompondremos un
determinado esquema de relacin que no est en una
determinada forma normal en mltiples esquemas de
relacin hasta un diseo final con relaciones en las que se
hubiese alcanzado la forma normal deseada.
Caso extremo (descomposicin estricta):
comenzamos sintetizando un nico esquema de relacin (relacin
universal), que incluye todos los atributos de la BD.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

23

Objetivos de la normalizacin.
Dado un conjunto A de atributos y el conjunto DF de
dependencias existentes entre ellos, R(A, DF), se
trata de transformar este esquema origen en un
conjunto de n esquemas de relacin {R i (Ai, DFi)},
1 i n [esquemas resultantes], equivalentes y
mejores que R:
a) Conservacin de la informacin.
b) Conservacin de dependencias.

c) Mnima redundancia de los datos (mayor


grado de normalizacin).

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

24

a. Conservacin de la informacin:
a.1. Conservacin de atributos: el conjunto de
atributos de los esquemas resultantes ha de
ser igual al conjunto de atributos del esquema
origen.
a.2. Conservacin del contenido (tuplas): para
toda extensin r de R, la reunin natural
(natural join, * ) de las relaciones resultantes
tiene que producir la relacin origen.
(nota: * operador de reunin natural, operador
de proyeccin)

UA

= A

i 1

i= 1

Ri

(r) r

Si

la descomposicin no cumple esta propiedad, e.d. no es una


descomposicin y reunin sin prdidas (de informacin),
cuando se aplica la operacin de reunin natural a las
relaciones resultantes, aparecen tuplas espreas en la relacin
resultado

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

25

Descomposicin y Reunin
con prdida

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

26

Tercera Forma Normal (3 FN).


Definiciones generales,
atributo primo: atributo que forma parte de una clave
candidata.
Un esquema de relacin R est en 2 FN si est en 1 FN
y todo atributo no primo A de R depende funcionalmente
de manera completa de toda clave candidata de R.
Un esquema de relacin R est en 3 FN si est en 2 FN
y ningn atributo no primo depende transitivamente de
alguna clave candidata de R.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

27

Tercera Forma Normal (3 FN).


Redefinicin de 3 FN: Un esquema de relacin R(A,DF)
est en 3 FN si X Y DF+ se verifica alguna de las
siguientes condiciones:

X Y trivial.
FNBC
X es superclave de R.
X no es superclave y cada atributo A (Y - X) est contenido en
una clave candidata de R.

Un diseo de BD est en 3 FN si cada esquema de


relacin de la BD est en 3 FN.

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

28

Ejemplo: 3 FN y FNBC
imparte (estudiante, curso, profesor)
DF: (1) estudiante, curso profesor;
(2) profesor curso
K: { (estudiante, curso), (estudiante, profesor)}
No en FNBC pues antecedentes de (2) no es superclave,
pero si en 3 FN pues los consecuentes son atributos
primos.

E
C

Descomposicin a FNBC por profesor curso:

2006Universidad de Las Amricas - Escuela de Ingeniera - Bases de Datos - Erik Sacre

29

Vous aimerez peut-être aussi