Está en la página 1de 38

Normalización

de base de datos
Relacional
Problemas en Diseño Relacional
El diseño lógico de una base de datos relacional puede
abordarse de dos formas:

 Obteniendo el esquema  Realizando proceso de


relacional directamente: diseño por fases:
Objetos y reglas captadas del Diseño conceptual de la BD
análisis del mundo real, (modelo E/R) y
representadas por un conjunto de Transformándolo a esquema
esquemas de relación, sus relacional
atributos y restricciones de
integridad.

En ambos enfoques puede encontrarse problemas de


diseño que se deben resolver

2
Problemas en Diseño Relacional
Analicemos el siguiente esquema de relación

PEDIDO (Articulo, Cliente, cantidad, precio, ciudad, distancia)

 Articulo: es el articulo pedido por el cliente


 Cliente: es cliente que realizó el pedido del articulo
 Precio: es el precio del articulo
 Ciudad: es el nombre del lugar donde se ubica el cliente
 Distancia: es el área en kilómetros de la ciudad

3
Problemas en Diseño Relacional
Veamos el estado de la relación en un momento
determinado
PEDIDO
Articulo Cliente cantidad precio ciudad distancia
A1 C1 12 100 Madrid 400
A1 C2 30 100 Valencia 200
A1 C3 15 100 Alicante 80
A2 C1 35 250 Madrid 400
A2 C2 20 250 Valencia 200
A2 C4 10 250 Madrid 400
A3 C3 25 175 Alicante 80

4
Problemas en Diseño Relacional
Se observa los siguientes problemas de diseño
inadecuado:
Redundancia de Anomalía de Anomalía de Anomalía de
información Inserción modificación borrado

 El nombre de la  ¿Podemos  ¡Podemos tener  Si eliminamos el


ciudad se repite registrar nuevo el mismo articulo artículo A3, se
en todas las filas articulo? con dos precios pierde dato de
donde esta el  ¿Nuevo cliente? distintos la cantidad
mismo cliente  ¿Nueva ciudad?  Igual , una misma  De igual forma, si
 De igual forma la ciudad con dos se elimina al
distancia de una distancias cliente C4
ciudad y
 El precio de un Problemas de Pérdida de
articulo inconsistencias información.

5
Problemas en Diseño Relacional
Principio básico de diseño:
"hechos distintos se deben almacenar en objetos distintos"

6
Normalización

Es una técnica formal de análisis y organización de


datos que trata de evitar la redundancia y
anomalías de inserción, modificación y borrado

El proceso de normalización consiste en aplicar


una serie de reglas a las relaciones obtenidas tras
el paso del MER al MR o por el enfoque directo

Formaliza el diseño lógico de base de datos


relacional con los criterios matemáticos de Formas
Normales

7
Formas Normales

Un esquema de relación está en una determinada forma


normal si satisface un determinado conjunto específico de
restricciones (dependencia funcional) definidas sobre los
atributos del esquema.

8
Dependencia Funcional
PEDIDO
Articulo Cliente cantidad precio ciudad distancia
A1 C1 12 100 Madrid 400
A1 C2 30 100 Valencia 200
A1 C3 15 100 Alicante 80
A2 C1 35 250 Madrid 400
A2 C2 20 250 Valencia 200
A2 C4 10 250 Madrid 400
A3 C3 25 175 Alicante 80

Todas las filas de un mismo articulo tienen el mismo valor de precio,


el atributo precio depende funcionalmente de articulo.
Articulo  Precio

Ciudad depende funcionalmente de Cliente


Distancia depende funcionalmente de Ciudad

9
Dependencia funcional
 Definición 1:
 Sean A y B atributos de una relación R.
 Se dice que B es funcionalmente dependiente de A (A  B)
si todo posible valor de A tiene asociado un único valor de B,
 A y B pueden ser atributos simples o compuestos.

 Definición 2:
 Sean X e Y subconjuntos de A (A, conjunto de atributos de la
relación R).
 Decimos que X determina o implica a Y en R
(= Y depende funcionalmente de X) si para dos tuplas
cualesquiera de r (R) (extensión de R) que tengan iguales
valores en X, también son iguales los valores en Y.
 Se representa por X  Y

10
Dependencia Funcional
PEDIDO Un ejemplo
Articulo Cliente cantidad precio ciudad distancia
A1 C1 12 100 Madrid 400
A1 C2 30 100 Valencia 200
A1 C3 15 100 Alicante 80
A2 C1 35
artículo 250
 precio, Madrid 400
A2 C2 20 250 Valencia 200
A2 C4 10 250 Madrid 400
A3 C3 25 175 Alicante 80

R : PEDIDOS (artículo, cliente, cantidad, precio, ciudad, distancia).


DF : (artículo, cliente)  {cantidad,precio}
artículo  precio,
cliente  ciudad,
ciudad  distancia

11
Dependencia funcional 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 ningún subconjunto del mismo

 Ejemplo:
 (artículo, cliente)  cantidad es una DF completa

 (artículo, cliente)  precio no es una DF completa, por que


también artículo  precio.

12
Dependencia funcional transitiva

 Si XY, Y-/X, YZ


 Entonces, Z depende transitivamente de X ( X--Z ).

 Ejemplo:
 cliente  ciudad,
 ciudad -/ cliente (no determina funcionalmente), y
 ciudad  distancia,
 Entonces, cliente --- distancia
(cliente determina “transitivamente” a distancia).

13
Formas Normales

 1ª FN (Codd, 1970)
 Concepto de relación normalizada.
 2ª, 3ª FN (Codd, 1970), FNBC (Boyce/Codd, 1974)
 Basadas en análisis de dependencias funcionales.
 4ª FN. Fagin, 1977
 Basada en análisis de dependencias multivaluadas.
 5ª FN. Fagin, 1979
 Basada en análisis de dependencias de proyección /
combinación.

14
Primera Forma Normal (1ªFN)
 Un esquema o relación está en 1ª FN:
 Si el dominio asociado a cada atributo contiene únicamente
valores atómicos; es decir, no tiene atributos
multivalorados (repetidos)

Nom_Pieza Proveedores Cantidad


PIEZA
Tornillo 5 mm Ferretería Ruiz 1518
Almacenes López
Tuerca 5 mm Ferretería Ruiz 3210

Nom_empleado dependientes grado sueldo


EMPLEADO
Juan Pérez Lucia Gonzáles Esposa 2 500
Javier Pérez Hijo
María Pérez Hijo
Aníbal Campos Carmen Soto 3210

15
Segunda Forma Normal (2ªFN)
 Un esquema o relación R (A,DF) está en 2ª FN, si y sólo si
 Está en 1ª FN (es decir, si la relación está normalizada) y
 Sus atributos no primarios dependen completamente de la
clave primaria de R.

(artículo, cliente)  precio no es una DF completa,


porque artículo  precio.

16
Tercera Forma Normal (3ªFN)
 Un esquema o relación R(A,DF) está en 3ª FN, si y sólo si
 Está en 2ª FN y
 Ninguno de sus atributos no primarios depende
transitivamente de la clave primaria de R.
 Es decir no hay dependencias funcionales transitivas.

cliente  ciudad,
ciudad  distancia,
Entonces, cliente --- distancia

17
Proceso de normalización

18
Proceso de normalización
FERRETERIA Fecha:
“Las Lomas “
Av. Abancay Nro. 362 - 02/09/2004
Lima
FACTURA
Cliente: 335 Nro. 00273
Nombre: Roberto Antonio CHAVEZ

Cant. Cod_Pro Descripción Precio Unitario Importe

12 P2 Pernos 6“ 2.00 24.00

24 P3 Tuercas acero inoxidable 1.50 36.00

02 P4 Clavos de 2” 0.50 1.00

TOTAL 61.00

19
Proceso de normalización
A partir de la Relación Universal
Cada tupla representa un objeto especifico del micromundo a modelar.
En el ejemplo mostrado este micromundo son los documentos, por lo
que la llave debe ser un(os) dato(s) que identifique a cada documento.

FACCOD FACFEC CLICOD CLINOM PROCOD PRODES PROCAN PREUNI

273 2/09/04 335 Chavez P2 Pernos 12 2.0


P3 Tuercas 24 1.5
P4 Clavos 2 2 0.5

20
Proceso de normalización
 Procedimiento para pasar a Primera Formal Normal

SI
Relación Hay grupos Separar
Universal repetitivos relaciones

NO
Existe
SI unicidad
de llave
1FN
NO

Necesita llave de
anterior
Proceso de normalización
 Pasando a Primera Formal Normal

Columnas cuyos datos Columnas que representan


representan sólo un valor datos con más de un valor

FACCOD FACFEC CLICOD CLINOM PROCOD PRODES PROCAN PREUNI


273 2/ 09/ 04 335 Chavez P2 Pernos 12 2.0
P3 Tuercas 24 1.5
P4 Clavos 2 2 0.5
274 3/ 09/ 04 875 Borja P3 Tuercas 12 1.5
P5 Terokal 3 4.0

22
Proceso de normalización
 Pasando a Primera Formal Normal

FACTURA
FACCOD FACFEC CLICOD CLINOM
273 2/ 09/ 04 335 Chavez
274 3/ 09/ 04 875 Borja

DETALLE DE FACTURA
Necesito llave FACCOD PROCOD PRODES PROCAN PREUNI
anterior 273 P2 Pernos 12 2.0
273 P3 Tuercas 24 1.5
273 P4 Clavos 2 2 0.5
274 P3 Tuercas 12 1.5
274 P5 Terokal 3 4.0

23
Proceso de normalización
 Procedimiento para pasar a Segunda Formal Normal

SI
1FN Tiene Llave
Compuesta

Hay Atributos
dependientes
NO NO parcialmente
de la llave

2FN
SI

Separar la llave parcial


y sus atributos en relaciones
separadas

24
Proceso de normalización
 Pasando a Segunda Formal Normal

FACTURA
FACCOD FACFEC CLICOD CLINOM
273 2/ 09/ 04 335 Chavez
274 3/ 09/ 04 875 Borja

DETALLE DE FACTURA
FACCOD PROCOD PRODES PROCAN PREUNI
273 P2 Pernos 12 2.0
273 P3 Tuercas 24 1.5
273 P4 Clavos 2 2 0.5
274 P3 Tuercas 12 1.5
274 P5 Terokal 3 4.0

25
Proceso de normalización
 Pasando a Segunda Formal Normal

DETALLE DE FACTURA
FACCOD PROCOD PROCAN
273 P2 12
273 P3 24
PRODUCTO
273 P4 2
274 P3 12 PROCOD PRODES PREUNI
274 P5 3 P2 Pernos 2.0
P3 Tuercas 1.5
P4 Clavos 2 0.5
P5 Terokal 4.0

26
Proceso de normalización
 Procedimiento para pasar a Tercera Formal Normal

Atributos
NO
dependientes
2FN directamente
de la llave

Abrir en
SI relaciones
separadas

3FN

SI
Atributos
dependientes no
directamente
de la nueva
llave

27
Proceso de normalización
 Pasando a Tercera Formal Normal

FACTURA
FACCOD FACFEC CLICOD CLINOM
273 2/ 09/ 04 335 Chavez
274 3/ 09/ 04 875 Borja
DETALLE DE FACTURA
FACCOD PROCOD PROCAN PRODUCTO
273 P2 12 PROCOD PRODES PREUNI
273 P3 24 P2 Pernos 2.0
273 P4 2 P3 Tuercas 1.5
274 P3 12 P4 Clavos 2 0.5
274 P5 3 P5 Terokal 4.0
Proceso de normalización

 Pasando a Tercera Formal Normal

FACTURA
FACCOD FACFEC CLICOD CLINOM
273 2/ 09/ 04 335 Chavez
274 3/ 09/ 04 875 Borja
275 3/ 09/ 04 335 Chavez

FACTURA
FACCOD FACFEC CLICOD
273 2/ 09/ 04 335 CLIENTE
274 3/ 09/ 04 875 CLICOD CLINOM
275 3/ 09/ 04 335 335 Chavez
875 Borja

29
Proceso de normalización
 Esquema Final Normalizado

FACTURA
CLIENTE
FACCOD FACFEC CLICOD
CLICOD CLINOM
273 2/ 09/ 04 335
335 Chavez
274 3/ 09/ 04 875 875 Borja

DETALLE DE FACTURA
PRODUCTO
FACCOD PROCOD PROCAN
PROCOD PRODES PREUNI
273 P2 12
P2 Pernos 2.0
273 P3 24
P3 Tuercas 1.5
273 P4 2
P4 Clavos 2 0.5
274 P3 12
P5 Terokal 4.0
274 P5 3

30
Proceso de normalización
 Otra forma de describir normalización

 1ª FN:
 Una relación esta en 1 FN si esta definido sobre atributos atómicos.
 2ª FN:
 R (A, B, C, D ) donde AB  D y B  C
 Se descompone en:
 R1 (A, B, D) donde AB  D
 R2 (B, C) donde B  C
 3ª FN:
 R (A, B, C, D) donde AB  C, AB  D y C  D
 Se descompone en :
 R1 (A, B, C) donde AB  C
 R2 (C, D) donde C  D

31
Proceso de normalización
 Ejemplo

PEDIDO (artículo, cliente, cantidad, precio, ciudad, distancia).


 Donde: (artículo, cliente)  {cantidad, precio}, artículo  precio,
cliente  {ciudad, distancia} y ciudad  distancia

¿ Esta en 1 FN ?
¿ Esta en 2 FN ?
¿ esta en 3 FN ?

32
Proceso de normalización
 Otro ejemplo

 1ª FN
 Esta en 1FN

 2ª FN,
 PEDIDO no esta en 2FN, lo descomponemos en

PEDIDOS1 (artículo, cliente, cantidad),


donde (artículo, cliente)  cantidad)
ARTICULOS (artículo, precio), donde artículo  precio
CLIENTES (cliente, ciudad, distancia),
donde {cliente  ciudad, ciudad  distancia})
 3ª FN.
 CLIENTES no esta en 3 FN, lo descomponemos en

CLIENTES1 (cliente, ciudad), donde cliente  ciudad


CIUDADES (ciudad, distancia, donde ciudad  distancia

33
Proceso de normalización

34
Proceso de normalización

35
Proceso de normalización
 Ejercicio 1:

Pieza Almacén Cantidad DirAlmacén


42 Boston 2000 Main St
333 Boston 1000 Main St
390 New York 3000 Broad St

 ¿ Esta en 1 FN ?
 ¿ Esta en 2 FN ?
 ¿ esta en 3 FN ?

36
Proceso de normalización
 Ejercicio 2:

Empleado Departamento UbicaciónDepart


234 Finanzas Boston
223 Finanzas Boston
399 Operaciones washington

 ¿ Esta en 1 FN ?
 ¿ Esta en 2 FN ?
 ¿ esta en 3 FN ?

37
Normalización

38

También podría gustarte