Professional Documents
Culture Documents
de base de datos
Relacional
Problemas en Diseo Relacional
El diseo lgico de una base de datos relacional puede
abordarse de dos formas:
2
Problemas en Diseo Relacional
Analicemos el siguiente esquema de relacin
3
Problemas en Diseo Relacional
Veamos el estado de la relacin 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 Diseo Relacional
Se observa los siguientes problemas de diseo
inadecuado:
Redundancia de Anomala de Anomala de Anomala de
informacin Insercin modificacin borrado
5
Problemas en Diseo Relacional
Principio bsico de diseo:
"hechos distintos se deben almacenar en objetos distintos"
6
Normalizacin
7
Formas Normales
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
9
Dependencia funcional
Definicin 1:
Sean A y B atributos de una relacin 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.
Definicin 2:
Sean X e Y subconjuntos de A (A, conjunto de atributos de la
relacin R).
Decimos que X determina o implica a Y en R
(= Y depende funcionalmente de X) si para dos tuplas
cualesquiera de r (R) (extensin de R) que tengan iguales
valores en X, tambin 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
artculo 250
precio, Madrid 400
A2 C2 20 250 Valencia 200
A2 C4 10 250 Madrid 400
A3 C3 25 175 Alicante 80
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 ningn subconjunto del mismo
Ejemplo:
(artculo, cliente) cantidad es una DF completa
12
Dependencia funcional transitiva
Si XY, Y-/X, YZ
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 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.
14
Primera Forma Normal (1FN)
Un esquema o relacin est en 1 FN:
Si el dominio asociado a cada atributo contiene nicamente
valores atmicos; es decir, no tiene atributos
multivalorados (repetidos)
15
Segunda Forma Normal (2FN)
Un esquema o 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.
16
Tercera Forma Normal (3FN)
Un esquema o 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 dependencias funcionales transitivas.
cliente ciudad,
ciudad distancia,
Entonces, cliente --- distancia
17
Proceso de normalizacin
18
Proceso de normalizacin
FERRETERIA Fecha:
Las Lomas
Av. Abancay Nro. 362 - 02/09/2004
Lima
FACTURA
Cliente: 335 Nro. 00273
Nombre: Roberto Antonio CHAVEZ
TOTAL 61.00
19
Proceso de normalizacin
A partir de la Relacin 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.
20
Proceso de normalizacin
Procedimiento para pasar a Primera Formal Normal
SI
Relacin Hay grupos Separar
Universal repetitivos relaciones
NO
Existe
SI unicidad
de llave
1FN
NO
Necesita llave de
anterior
Proceso de normalizacin
Pasando a Primera Formal Normal
22
Proceso de normalizacin
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 normalizacin
Procedimiento para pasar a Segunda Formal Normal
SI
1FN Tiene Llave
Compuesta
Hay Atributos
dependientes
NO NO parcialmente
de la llave
2FN
SI
24
Proceso de normalizacin
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 normalizacin
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 normalizacin
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 normalizacin
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 normalizacin
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 normalizacin
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 normalizacin
Otra forma de describir normalizacin
1 FN:
Una relacin esta en 1 FN si esta definido sobre atributos atmicos.
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 normalizacin
Ejemplo
Esta en 1 FN ?
Esta en 2 FN ?
esta en 3 FN ?
32
Proceso de normalizacin
Otro ejemplo
1 FN
Esta en 1FN
2 FN,
PEDIDO no esta en 2FN, lo descomponemos en
33
Proceso de normalizacin
34
Proceso de normalizacin
35
Proceso de normalizacin
Ejercicio 1:
Esta en 1 FN ?
Esta en 2 FN ?
esta en 3 FN ?
36
Proceso de normalizacin
Ejercicio 2:
Esta en 1 FN ?
Esta en 2 FN ?
esta en 3 FN ?
37
Normalizacin
38