Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TABLA: Factura
SucursalYNumFactura FechaFactura FormaPago CodCliente NomCliente CodArticulo NomArticulo CanArticulo PrecioUnitario Subtotal TotalFactura
01-500 1/01/06 E 01 ALVAREZ 01 LAPIZ 3 1.25 3.75 48.20
01-500 1/01/06 E 01 ALVAREZ 02 GOMA 6 0.75 4.50 48.20
01-500 1/01/06 E 01 ALVAREZ 10 HOJAS 8 5.00 40.00 48.20
01-501 2/01/06 CC 107 CASTRO 08 COMPAS 4 4.00 16.00 16.00
02-500 3/01/06 E 110 LIZ 20 REGLA 2 2.45 4.90 14.90
02-500 3/01/06 E 110 LIZ 10 HOJAS 2 5.00 10.00 14.90
TABLA: Factura
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente CodArticulo NomArticulo CanArticulo PrecioUnitario Subtotal TotalFactura
01 500 1/01/06 E 01 ALVAREZ 01 LAPIZ 3 1.25 3.75 48.20
01 500 1/01/06 E 01 ALVAREZ 02 GOMA 6 0.75 4.50 48.20
01 500 1/01/06 E 01 ALVAREZ 10 HOJAS 8 5.00 40.00 48.20
01 501 2/01/06 CC 107 CASTRO 08 COMPAS 4 4.00 16.00 16.00
02 500 3/01/06 E 110 LIZ 20 REGLA 2 2.45 4.90 14.90
02 500 3/01/06 E 110 LIZ 10 HOJAS 2 5.00 10.00 14.90
Datos repetidos.¿?
Estos datos deben presentarse una sola vez en la estructura normalizada en 1FN. Entonces, Sucursal, NumFactura, FechaFactura, FormaPago, CodCliente,
NomCliente y TotalFactura deben figurar una sola vez.
TABLA: Factura
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente CodArticulo NomArticulo CanArticulo PrecioUnitario Subtotal TotalFactura
01 500 1/01/06 E 01 ALVAREZ 01 LAPIZ 3 1.25 3.75 48.20
01 500 1/01/06 E 01 ALVAREZ 02 GOMA 6 0.75 4.50 48.20
01 500 1/01/06 E 01 ALVAREZ 10 HOJAS 8 5.00 40.00 48.20
01 501 2/01/06 CC 107 CASTRO 08 COMPAS 4 4.00 16.00 16.00
02 500 3/01/06 E 110 LIZ 20 REGLA 2 2.45 4.90 14.90
02 500 3/01/06 E 110 LIZ 10 HOJAS 2 5.00 10.00 14.90
Solución:
Para eliminar la redundancia y no perder el detalle de TotalFactura partimos la Tabla Factura (1 para datos repetidos y otra para datos no
repetidos)
TABLA: Factura
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente TotalFactura
01 500 1/01/06 E 01 ALVAREZ 48.20
01 500 1/01/06 E 01 ALVAREZ 48.20
01 500 1/01/06 E 01 ALVAREZ 48.20
01 501 2/01/06 CC 107 CASTRO 16.00
02 500 3/01/06 E 110 LIZ 14.90
02 500 3/01/06 E 110 LIZ 14.90
TABLA: DetalleFactura
CodArticulo NomArticulo CanArticulo PrecioUnitario Subtotal
01 LAPIZ 3 1.25 3.75
02 GOMA 6 0.75 4.50
10 HOJAS 8 5.00 40.00
08 COMPAS 4 4.00 16.00
20 REGLA 2 2.45 4.90
10 HOJAS 2 5.00 10.00
Ahora si podemos Eliminar redundancias de tabla 1 Factura
TABLA: Factura
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente TotalFactura
01 500 1/01/06 E 01 ALVAREZ 48.20 ELIMINAR
01 500 1/01/06 E 01 ALVAREZ 48.20
01 500 1/01/06 E 01 ALVAREZ 48.20
01 501 2/01/06 CC 107 CASTRO 16.00
02 500 3/01/06 E 110 LIZ 14.90
ELIMINAR
02 500 3/01/06 E 110 LIZ 14.90
TABLA: Factura
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente TotalFactura
01 500 1/01/06 E 01 ALVAREZ 48.20
01 501 2/01/06 CC 107 CASTRO 16.00
02 500 3/01/06 E 110 LIZ 14.90
Relacion: Factura
PK
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente TotalFactura
01 500 1/01/06 E 01 ALVAREZ 48.20
01 501 2/01/06 CC 107 CASTRO 16.00
02 500 3/01/06 E 110 LIZ 14.90
Y LA PREGUNTA QUE RELACION HAY ENTRE LAS DOS TABLAS SEPARADAS SI NO HAY NADA QUE LAS UNA. DEBEMOS INCORPORAR DENTRO DE LA
RELACION DetalleFactura LOS ATRIBUTOS DE PK DE LA RELACION FACTURA.
Relacion DetalleFactura
PK
Sucursal NumFactura CodArticulo NomArticulo CanArticulo PrecioUnitario Subtotal
01 500 01 LAPIZ 3 1.25 3.75
01 500 02 GOMA 6 0.75 4.50
01 500 10 HOJAS 8 5.00 40.00
01 501 08 COMPAS 4 4.00 16.00
02 500 20 REGLA 2 2.45 4.90
02 500 10 HOJAS 2 5.00 10.00
Ahora bien hay que tomar un atributo nativo para hacer una combinación única.
Relacion: Factura
PK
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente TotalFactura
01 500 1/01/06 E 01 ALVAREZ 48.20
01 501 2/01/06 CC 107 CASTRO 16.00
02 500 3/01/06 E 110 LIZ 14.90
En cambio en la Relación DetalleFactura hay atributos no clave que no dependen de su totalidad de la clave primaria.
Relacion DetalleFactura
PK
Sucursal NumFactura CodArticulo NomArticulo CanArticulo PrecioUnitario Subtotal
01 500 01 LAPIZ 3 1.25 3.75
01 500 02 GOMA 6 0.75 4.50
01 500 10 HOJAS 8 5.00 40.00
01 501 08 COMPAS 4 4.00 16.00
02 500 20 REGLA 2 2.45 4.90
02 500 10 HOJAS 2 5.00 10.00
FK Atributos no Clave
Como se soluciona.
Ahora bien hay que tomar un atributo nativo para hacer una combinación única.
Relación: Factura
PK
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente TotalFactura
01 500 1/01/06 E 01 ALVAREZ 48.20
01 501 2/01/06 CC 107 CASTRO 16.00
02 500 3/01/06 E 110 LIZ 14.90
Relación DetalleFactura
PK
Sucursal NumFactura CodArticulo CanArticulo PrecioUnitario Subtotal
01 500 01 3 1.25 3.75
Relación Articulo
01 500 02 6 0.75 4.50
PK
01 500 10 8 5.00 40.00 CodArticulo NomArticulo PrecioUnitario
01 501 08 4 4.00 16.00 01 LAPIZ 1.25
02 500 20 2 2.45 4.90 02 GOMA 0.75
02 500 10 2 5.00 10.00 10 HOJAS 5.00
FK FK 08 COMPAS 4.00
20 REGLA 2.45
Una relación se encuentra en Tercera Forma Normal si, y solo si, se encuentra en 2FN, y si los atributos no clave dependen de forma no transitiva
de la clave primaria.
Entonces, se deberá encontrar, dentro de la relación, un subconjunto de atributos con dependencia transitiva, que ninguno de ellos pertenezca a
la clave primaria y que, al cambiar el valor de un atributo, necesariamente cambiarán su valor otros atributos también.
Relación: Factura
PK
Sucursal NumFactura FechaFactura FormaPago CodCliente NomCliente TotalFactura
01 500 1/01/06 E 01 ALVAREZ 48.20
01 501 2/01/06 CC 107 CASTRO 16.00
02 500 3/01/06 E 110 LIZ 14.90
Esta situación se expone en la relación “Factura”, de la relación anterior, en el subconjunto formado por los atributos “Código del cliente” y
“Nombre del cliente”. Sin duda, hay una dependencia funcional entre ambos atributos; si cambia el identificador del cliente, necesariamente
cambiará su nombre.
Se aparta el atributo que está ligado con una dependencia funcional al otro; en este caso, “Nombre del cliente” de la relación “Factura”. Para ello,
se creará una nueva relación denominada “Clientes” en la que alojará el “Nombre del cliente”. Siempre se mantendrá la dependencia funcional, lo
que obligará, también, a introducir, en esta nueva relación, el identificador del cliente, “Código del cliente”.
Relación DetalleFactura
PK
Sucursal NumFactura CodArticulo CanArticulo PrecioUnitario Subtotal
01 500 01 3 1.25 3.75
Relación Articulo
01 500 02 6 0.75 4.50
PK
01 500 10 8 5.00 40.00 CodArticulo NomArticulo PrecioUnitario
01 501 08 4 4.00 16.00 01 LAPIZ 1.25
02 500 20 2 2.45 4.90 02 GOMA 0.75
02 500 10 2 5.00 10.00 10 HOJAS 5.00
FK FK 08 COMPAS 4.00
20 REGLA 2.45