Sunteți pe pagina 1din 9

Introduccin a las Bases de Datos

20.01.15

Normalizacin

NORMALIZACION

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

UPC - Ingeniera de Sistemas

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

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)

Introduccin a las Bases de Datos

20.01.15

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

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.

RELACIN = Tabla
R.x

R.y

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


o
R.y depende funcionalmente de R.x.

Dependencia Funcional

Dependencia Funcional

Ejemplo: Relacin Matrcula

Ejemplo:
CoAlumno

NoAlumno

CoPostal

NoEspecialidad

CoAlumno CoProfesor

CoCurso

QtNota

0301

Jos Prez

Noalumno

SI03

15.00

201500101

Salazar

L14

Industrial

3456

201540126

Jimnez

L27

Electrnica

1256

2005

Mara Antnez

SI20

16.50

201512536

Bernales

L01

Sistemas

0101

0312

Lourdes Snchez

SI03

17.00

201540016

Cordova

L20

Sistemas

3456

2002

Jos Prez

SI20

13.50

201520010

Alvarez

L27

Civil

1234

0304

Pilar Garca

SI03

18.00

CoAlumno
CoAlumno
CoAlumno
CoAlumno

UPC - Ingeniera de Sistemas

NoAlumno
CoPostal
NoEspecialidad
(NoAlumno, CoPostal, NoEspecialidad)

CoAlumno
CoAlumno, Cocurso
CoAlumno, Cocurso

Noalumno
CoProfesor
QtNota

CoAlumno, Cocurso

(CoProfesor, QtNota)

Introduccin a las Bases de Datos

20.01.15

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

NoAlumno

CoAlumno

Sin embargo, el atributo CoAlumno no es clave candidata de


la relacin Evaluacin

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
p20

16

10025

p85

15

25036

p49

14

CoPedido
QtPedida
CoProducto
(CoPedido, Coproducto)

UPC - Ingeniera de Sistemas

QtPedida

10025

QtPedida

Introduccin a las Bases de Datos

20.01.15

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

No
QtHoras
Proyecto trabajadas

QtHoras_Trabajadas

CoProyecto
(CoConsultor, CoProyecto)

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

QtHoras_Trabajadas

Dependencia Transitiva
Ejemplo:

Dependencia Transitiva
Ejemplo: Relacin P

COMPROBANTE
NuComprobante

CoCliente

NoCliente

FeVenta

0040

C01

Juan

20/05/02

0050

C01

Juan

0010

C02

0020

C02

NuComprobante

UPC - Ingeniera de Sistemas

Dependencia Transitiva

CoEmpleado NoEmpleado

SsSalario

Co
FeProyectoProyecto Trmino

E1

Juan

3,500

P1

31/10/09

E2

Pedro

3,000

P1

31/10/09

18/04/02

E3

Mara

3,800

P2

15/11/09

Mara

15/04/02

E4

Andrs

3,000

P2

15/11/09

Mara

15/04/02

E5

Ana

2,800

P1

31/10/09

CoCliente, FeVenta,
NoCliente

CoEmpleado

CoProyecto,
FeProyecto-Trmino

Introduccin a las Bases de Datos

20.01.15

Normalizacin
Datos sin normalizar

1ra. Forma Normal

1FN: Las relaciones no deben


contener grupos repetitivos
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.

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 los valores de cualquier columna son del
mismo tipo
No hay grupos ni arreglos repetidos como
valores

UPC - Ingeniera de Sistemas

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)


Relacin: VtaDiaria
CoCliente

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

SsPrecio
Unitario

CoProducto Qtpedida

FeVenta

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

Introduccin a las Bases de Datos

20.01.15

Primera Forma Normal (1FN)

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).

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

Los defectos se pueden eliminar con el siguiente


procedimiento
n

Quitar de la relacin 1FN todos los atributos no-clave


que no estn en DFC de la PK.
Guardar esos atributos no-clave en relaciones nuevas y
adecuadas.

Segunda Forma Normal (2FN)


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

UPC - Ingeniera de Sistemas

SsPrecio
Unitario

CoProducto Qtpedida

FeVenta

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

Introduccin a las Bases de Datos

Normalizacin 2 FN
Producto:
(CoProducto, SsPrecio Unitario)

Cliente:
(CoCliente, NoCliente, NoCiudad, SsFlete)

20.01.15

Segunda Normal (2FN)


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

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

Normalizacin y Verificacin
de la 2FN

Normalizacin - 2FN

Los defectos de almacenamiento de una


relacin 2FN son causados por la dependencia
transitiva (DT) de atributos no-clave con la
clave primaria

Cliente:

Se puede normalizar como sigue:

(CoCliente, NoCliente, NoCiudad, SsFlete)

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

UPC - Ingeniera de Sistemas

Introduccin a las Bases de Datos

Tercera Forma Normal (3FN)

20.01.15

Esquema Venta Diaria


Producto:

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

(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

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

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

UPC - Ingeniera de Sistemas

Introduccin a las Bases de Datos

20.01.15

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

UPC - Ingeniera de Sistemas

S-ar putea să vă placă și