Está en la página 1de 33

NORMALIZACION

Normalizacin
Proceso de Normalizacin
Dependencias
Funcional,
Funcional Completa y Transitiva
Primera, Segunda y Tercera
Formas Normales

El Proceso de Normalizacin
La teora de la normalizacin permite
reconocer propiedades indeseables en las
relaciones y convertirlas
Se dice que una relacin est en una
determinada forma normal si satisface un
cierto conjunto de restricciones
El proceso de normalizacin es reversible
y no se pierde informacin

Formas Normales
Universo de las relaciones (normalizadas y no
normalizadas)
Relaciones 1FN (relaciones normalizadas)
Relaciones 2 FN
Relaciones 3 FN
Relaciones FNBC
Relaciones 4FN
Relaciones FN/PJ (5FN)

Normalizacin - Definiciones
DEPENDENCIA FUNCIONAL
Relacin semntica entre dos ms
atributos:
El valor de un atributo xdetermina el
valor de otro atributo y

RELACIN = Tabla

Dependencia Funcional
Dada una Relacin R, el atributo y de
R, depende funcionalmente (DF) del
atributo x de R, si el valor de y
est determinado por el valor de x.

R.x

R.y

Se lee: R.x determina funcionalmente a R.y


o
R.y depende funcionalmente de R.x.

Dependencia Funcional
Ejemplo:
CoAlumno

NoAlumno

CoPostal

NoEspecialidad

201500101

Salazar

L14

Industrial

201540126

Jimnez

L27

Electrnica

201512536

Bernales

L01

Sistemas

201540016

Cordova

L20

Sistemas

201520010

Alvarez

L27

Civil

CoAlumno
CoAlumno
CoAlumno
CoAlumno
NoEspecialidad)

NoAlumno
CoPostal
NoEspecialidad
(NoAlumno, CoPostal,

Dependencia Funcional
Ejemplo: Relacin Matrcula
CoAlumno CoProfesor

Noalumno

CoCurso

QtNota

3456

0301

Jos Prez

SI03

15.00

1256

2005

Mara Antnez

SI20

16.50

0101

0312

Lourdes Snchez

SI03

17.00

3456

2002

Jos Prez

SI20

13.50

1234

0304

Pilar Garca

SI03

18.00

CoAlumno
CoAlumno, Cocurso
CoProfesor
CoAlumno, Cocurso
Cocurso
CoAlumno,

Noalumno

QtNota
(CoProfesor,
QtNota)

Dependencia Funcional
Dada una relacin R, el atributo y depende funcionalmente
del atributo x si y slo si, siempre que dos tuplas
concuerden en el valor de x, deben por fuerza concordar
tambin en el valor de y.
Si una restriccin de R establece que no puede haber ms de
una tupla con un valor x (es clave candidata de R), eso
implica que para cualquier subconjunto de atributos R.y de R
se cumple que:
R.x R.y
Sin embargo, la definicin de Dependencia Funcional (DF) no
requiere que el determinante x sea una clave candidata de R:
no es obligatorio que un valor dado de x aparezca en una sola
tupla de R.

Dependencia Funcional
Relacin
Evaluacin

CoAlumno

NoAlumno

CoCurso

QtNota

201510025

Jimnez

S03

15.00

201510025

Jimnez

S20

16.50

201510025

Jimnez

S25

13.25

201540026

La Madrid

SI03

17.00

201540026

La Madrid

HU2

14.00

NoAlumn
o
Sin embargo, el atributo CoAlumno no es clave
candidata de la relacin Evaluacin
CoAlumno

Dependencia Funcional Completa


Dada una Relacin R, el atributo z de R,
est en dependencia funcional completa
(DFC) de la clave primaria PK de R, si el valor
de z depende funcionalmente de toda la
clave PK y no de un subconjunto de la misma

R.(x,y)
Donde PK=(x,y)

R.z

Dependencia Funcional Completa


Ejemplo:
PEDIDO
CoPedido

Coproducto

QtPedida

10025

p20

16

10025

p85

15

25036

p49

14

CoPedido
QtPedida
CoProducto
(CoPedido, Coproducto)

QtPedida

Dependencia Funcional Completa


Ejemplo: Relacin A
Co
Consultor

Co
Proyecto

No
Consultor

C1

P1

Juan

Auditoria

25

C1

P2

Juan

DW

80

C2

P1

Pedro

Auditoria

35

C3

P3

Mara

CRM

20

C3

P4

Mara

ERP

50

CoConsultor
QtHoras_Trabajadas
CoProyecto
(CoConsultor, CoProyecto)

No
QtHoras
Proyecto trabajadas

QtHoras_Trabajad

Dependencia Transitiva
Dada una Relacin R, el atributo z de R, est
en dependencia transitiva (DT) de la clave
primaria PK de R, si el valor de z depende
funcionalmente de otro atributo no clave y.

R.x

R.y, R.z
Donde PK=x

Se lee R.z es funcionalmente dependiente de


R.y y transitivamente dependiente de R.x

Dependencia Transitiva
Ejemplo:
COMPROBANTE
NuComprobante

CoCliente

NoCliente

FeVenta

0040

C01

Juan

20/05/02

0050

C01

Juan

18/04/02

0010

C02

Mara

15/04/02

0020

C02

Mara

15/04/02

NuComprobante

CoCliente, FeVenta,
NoCliente

Dependencia Transitiva
Ejemplo: Relacin P
CoEmpleado NoEmpleado

SsSalario

Co
FeProyectoProyecto
Trmino

E1

Juan

3,500

P1

31/10/09

E2

Pedro

3,000

P1

31/10/09

E3

Mara

3,800

P2

15/11/09

E4

Andrs

3,000

P2

15/11/09

E5

Ana

2,800

P1

31/10/09

CoEmpleado

CoProyecto,
FeProyecto-

Normalizacin
Datos sin normalizar

1FN: Las relaciones no deben


contener grupos repetitivos

1ra. Forma Normal

2FN: Cada atributo no clave


debe depender de toda la clave
2da. Forma Normal

3ra. Forma Normal

3FN: Cada atributo no clave


debe depender de toda la
clave de esa relacin y no de
otros atributos.

Anomalas
Se presentan cuando tratamos de almacenar
informacin en tablas no normalizadas:
De actualizacin: inconsistencia de los datos como
consecuencia de actualizaciones parciales y datos
redundantes
De insercin: imposibilidad de adicionar datos en la
BD por la ausencia de otros
De borrado: prdida no intencionada de datos
debido a la eliminacin de otros

Primera Forma Normal (1FN)


Una relacin est en primera forma normal

o (1FN) si todos los atributos de cada tupla


contienen un solo valor tomado de sus
dominios respectivos (valores atmicos)

Todos los atributos de una relacin tienen


valores simples
Todos losvalores de cualquier columna
son del mismo tipo
No hay grupos ni arreglos repetidos como
valores

Primera Forma Normal (1FN)


Relacin: VtaDiaria
NoCliente

NoCiudad

SsFlete

C1

JUAN

LIMA

0.75

8.20

I3

5/6/09

C1

JUAN

LIMA

0.75

8.20

I3

12/10/09

C2

MARIA

TUMBES

1.95

4.00

I2

15/05/09

C2

MARIA

TUMBES

1.95

8.20

I3

15/05/09

C2

MARIA

TUMBES

1.95

2.00

I1

15/05/09

C3

PEDRO

LIMA

0.75

4.00

I2

10/08/09

C3

PEDRO

LIMA

0.75

2.00

I1

10/10/09

C4

ANA

ICA

1.05

10.50

I4

5/05/09

CoCliente

SsPrecio
Unitario

CoProducto Qtpedida

FeVenta

Primera Forma Normal (1FN)


Cul es el
problema?
Por
qu
habra
que
modificar este
esquema?

Normalizacin y Verificacin de 1FN


Las fallas en el almacenamiento de una
relacin en 1FN, se deben a la presencia de
uno o ms atributos no-clave que no son
DFC con la clave primaria (PK).
Los defectos se pueden eliminar con el
siguiente procedimiento

Quitar de la relacin 1FN todos los atributos noclave que no estn en DFC de la PK.

Guardar esos atributos no-clave en relaciones


nuevas y adecuadas.

CoCliente

NoCliente

NoCiudad

SsFlete

C1

JUAN

LIMA

0.75

8.20

I3

5/6/03

C1

JUAN

LIMA

0.75

8.20

I3

12/10/03

C2

MARIA

TUMBES

1.95

4.00

I2

15/05/03

C2

MARIA

TUMBES

1.95

8.20

I3

15/05/03

C2

MARIA

TUMBES

1.95

2.00

I1

15/05/03

C3

PEDRO

LIMA

0.75

4.00

I2

10/08/03

C3

PEDRO

LIMA

0.75

2.00

I1

10/10/03

C4

ANA

ICA

1.05

10.50

I4

5/05/03

SsPrecio
Unitario

CoProducto Qtpedida

FeVenta

Segunda Forma Normal (2FN)


Una

relacin
est
en
segunda forma normal o
(2FN) si es 1FN y cada
atributo no clave de la
relacin
es
total
y
funcionalmente
dependiente (DFC) de su
clave primaria

Normalizacin 2 FN
Producto:
(CoProducto, SsPrecio Unitario)

Cliente:
(CoCliente, NoCliente, NoCiudad, SsFlete)

Pedido 1:
(CoCliente, CoProducto, FeVenta, QtPedida)

Segunda Normal (2FN)


Cul es el
problema?
Por
qu
habra
que
modificar
este
esquema?

Normalizacin y Verificacin
de la 2FN
Los defectos de almacenamiento de una
relacin 2FN son causados por la
dependencia transitiva (DT) de atributos
no-clave con la clave primaria
Se puede normalizar como sigue:

Examinar cada atributo no-clave para


ver si est en DF con otro atributo
diferente de la PK

Crear
una
nueva
relacin
para
almacenar la no-clave transitivamente
dependiente

Normalizacin - 2FN
Cliente:
(CoCliente, NoCliente, NoCiudad, SsFlete)

Tercera Forma Normal (3FN)


Una relacin est en tercera
forma normal o
(3FN) si es
2FN y ningn atributo no-clave
en la relacin esta en DF con
algn otro atributo no-clave
I.E. Si est en 2FN y no tiene
dependencias transitivas

Esquema Venta
Producto:
Diaria
(CoProducto, SsPrecio Unitario)
Cliente 1:

Ciudad:

(CoCliente, NoCliente, NoCiudad)

(NoCiudad, SsFlete)

Pedido 1:
(CoCliente, CoProducto, FeVenta, QtPedida)

Cmo habra que cambiar el esquema si:


Necesitamos registrar el nombre del producto?
Queremos registrar la fecha de despacho a cada cliente,
cuando:
Todos los productos vendidos en el mismo da se
despachan juntos?
Puede haber despachos separados por productos?

Resumen de 1FN, 2FN y 3FN


Primera Forma Normal
Una relacin est en primera forma normal o
(1FN) si todos los atributos de cada tupla
contienen un solo valor tomado de sus
dominios respectivos (valores atmicos)

Segunda Forma Normal


Una relacin est en segunda forma normal o
(2FN) si es 1FN y cada atributo no clave de la
relacin es total y funcionalmente dependiente
(DFC) de su clave primaria

Resumen de 1FN, 2FN y 3FN


Tercera Forma Normal
Una relacin est en tercera forma
normal o (3FN) si es 2FN y ningn
atributo no-clave en la relacin esta en
DF con algn otro atributo no-clave

Objetivos Generales
Eliminar ciertos tipos de redundancia
Evitar ciertas anomalas en la actualizacin
de datos
Producir un diseo que sea una buena
representacin del mundo real: que sea
fcil
de
entender
intuitivamente
y
constituya una buena base para un
crecimiento futuro
Facilitar la recuperacin de la informacin

También podría gustarte