Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
de
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 kilmetros de la ciudad
A2 A2
A2 A3
C1 C2
C4 C3
35 20
10 25
250 250
250 175
Madrid Valencia
Madrid Alicante
400 200
400 80
El nombre de la ciudad se repite en todas las filas donde esta el mismo cliente De igual forma la distancia de una ciudad y El precio de un articulo
Podemos
Podemos tener el mismo articulo con dos precios distintos Igual , una misma ciudad con dos distancias Problemas de inconsistencias
Si eliminamos el artculo A3, se pierde dato de la cantidad De igual forma, si se elimina al cliente C4 Prdida de informacin.
Normalizacin
Es una tcnica formal de anlisis y organizacin de datos que trata de evitar la redundancia y anomalas de insercin, modificacin y borrado El proceso de normalizacin 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 diseo lgico de base de datos relacional con los criterios matemticos de Formas Normales
Formas Normales
Un esquema de relacin est en una determinada forma normal si satisface un determinado conjunto especfico de restricciones (dependencia funcional) definidas sobre los atributos del esquema.
Dependencia Funcional
PEDIDO
Articulo
A1
Cliente
C1
cantidad
12
precio
100
ciudad
Madrid
distancia
400
A1
A1
C2
C3
30
15
100
100
Valencia
Alicante
200
80
A2
A2 A2 A3
C1
C2 C4 C3
35
20 10 25
250
250 250 175
Madrid
Valencia Madrid Alicante
400
200 400 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
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
Articulo A1 A1 A1 A2 A2 A2 A3 Cliente C1 C2 C3 C1 C2 C4 C3
Un ejemplo
cantidad 12 30 15 20 10 25 precio 100 100 100 250 250 175 ciudad Madrid Valencia Alicante Madrid Valencia Madrid Alicante distancia 400 200 80 400 200 400 80
R : PEDIDOS (artculo, cliente, cantidad, precio, ciudad, distancia). DF : (artculo, cliente) {cantidad,precio} artculo precio, cliente ciudad, ciudad distancia
11
Ejemplo: (artculo, cliente) cantidad es una DF completa (artculo, cliente) precio no es una DF completa, por que tambin artculo precio.
12
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)
14
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)
PIEZA
Nom_Pieza Tornillo 5 mm Tuerca 5 mm Proveedores Ferretera Ruiz Almacenes Lpez Ferretera Ruiz 3210 Cantidad 1518
EMPLEADO
grado Esposa
Hijo Hijo
sueldo 2 500
Anbal Campos
Carmen Soto
3210
15
Est en 1 FN (es decir, si la relacin est normalizada) y Sus atributos no primarios dependen completamente de la clave primaria de R.
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.
17
Proceso de normalizacin
18
Proceso de normalizacin
FERRETERIA
Las Lomas Av. Abancay Nro. 362 Lima
Fecha: 02/09/2004
FACTURA Nro. 00273
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.
FACCOD
FACFEC
CLICOD
CLINOM
PROCOD
PRODES
PROCAN
PREUNI
273
2/09/04
335
Chavez
P2 P3 P4
12 24 2
20
Proceso de normalizacin
Relacin Universal
SI
Separar relaciones
SI
1FN
Proceso de normalizacin
FACFEC
2/ 09/ 04
CLICOD
335
CLINOM
Chavez
PRODES
Pernos Tuercas Clavos 2 Tuercas Terokal
PROCAN
12 24 2 12 3
PREUNI
2.0 1.5 0.5 1.5 4.0
274
3/ 09/ 04
875
Borja
22
Proceso de normalizacin
CLICOD
CLINOM
273 274
335 875
PROCOD P2 P3 P4
PROCAN 12 24 2
274
274
P3
P5
Tuercas
Terokal
12
3
1.5
4.0
23
Proceso de normalizacin
1FN
SI
NO
NO
24
Proceso de normalizacin
CLICOD
CLINOM
273 274
335 875
Chavez Borja
DETALLE DE FACTURA
FACCOD 273 273 273 274 274 PROCOD P2 P3 P4 P3 P5 PRODES Pernos Tuercas Clavos 2 Tuercas Terokal PROCAN 12 24 2 12 3 PREUNI 2.0 1.5 0.5 1.5 4.0
25
Proceso de normalizacin
DETALLE DE FACTURA
FACCOD 273 273 273 274 274 PROCOD P2 P3 P4 P3 P5 PROCAN 12 24 2 12 3
PRODUCTO
PROCOD P2 P3 P4 P5 PRODES Pernos Tuercas Clavos 2 Terokal PREUNI 2.0 1.5 0.5 4.0
26
Proceso de normalizacin
2FN
NO
3FN
SI
no
27
Proceso de normalizacin
FACTURA
FACCOD FACFEC
2/ 09/ 04 3/ 09/ 04
CLICOD
CLINOM
335 875
Chavez Borja
PRODUCTO
PROCOD P2 P3 PRODES Pernos Tuercas PREUNI 2.0 1.5
P4
P5
Clavos 2
Terokal
0.5
4.0
Proceso de normalizacin
CLICOD
CLINOM
FACTURA
FACCOD FACFEC
2/ 09/ 04 3/ 09/ 04 3/ 09/ 04
CLICOD
CLIENTE
CLICOD CLINOM
335 875
Chavez Borja
29
Proceso de normalizacin
FACTURA
FACCOD FACFEC
2/ 09/ 04 3/ 09/ 04
CLICOD
CLIENTE
CLICOD CLINOM
273 274
335 875
Chavez Borja
DETALLE DE FACTURA
FACCOD 273 273 273 274 274 PROCOD P2 P3 P4 P3 P5 PROCAN 12 24 2 12 3
PROCOD P2 P3 P4 P5
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
32
Proceso de normalizacin
Otro ejemplo
1 FN
Esta en 1FN
2 FN, PEDIDO no esta en 2FN, lo descomponemos en PEDIDOS1 (artculo, cliente, cantidad), donde (artculo, cliente) cantidad) ARTICULOS (artculo, precio), donde artculo 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 normalizacin
34
Proceso de normalizacin
35
Proceso de normalizacin
Ejercicio 1:
Pieza 42 333 390 Almacn Boston Boston New York Cantidad DirAlmacn 2000 1000 3000 Main St Main St Broad St
36
Proceso de normalizacin
Ejercicio 2: Empleado
234 223 399
Departamento
Finanzas Finanzas Operaciones
UbicacinDepart
Boston Boston washington
37
Cada departamento tiene un nmero identificador, es manejado por un solo jefe, tiene un presupuesto asignado y tiene oficinas asignadas. De cada oficina se sabe su numero, sus telfonos y su tamao. Cada departamento maneja una serie de proyectos. Por cada proyecto se sabe su cdigo, su presupuesto y los empleados que trabajan en l. Por cada empleado, la empresa conoce su DNI, en que proyecto esta laborando y a que departamento pertenece, as como su telfono y su historia salarial, consistente en los salarios y puestos que ha desempeado en la empresa en diferentes fechas.
Podra UD. plantear un esquema de bases de datos relacional para esta informacin?
38
Por cada cliente maneja su limite de crdito, su balance y las direcciones del mismo. Por cada orden de compra, el nmero del orden, la fecha, la direccin de envo. Por cada lnea de detalle en la orden de compra maneja igualmente la cantidad de producto y el nmero del producto. Por cada producto la descripcin del mismo y las plantas donde se produce y Por cada planta los productos que produce y el nivel de inventario de cada producto.
Podra UD. plantear un esquema de bases de datos relacional para esta informacin?
39