Está en la página 1de 8

Trabajo

“Normalización
Base de Datos
Relacional”

Bernardo Veloso Barrera


Ing. Informática (V)
DUOC UC
Mod. Datos y
Base Datos
Resolución y normalización de Base de Datos empresa ALFA S.A.

Para la normalización del Listado de Clientes, se realizó lo siguiente.

Tabla original: Vista Nº 1

Listado Clientes = (fechalistado, rutcliente, nombrecliente, {monto, ejecutivocliente)}

Primero, pasar a 1FN eliminando campos repetitivos:

1) Listado Clientes = (fechalistado, rutcliente, nombrecliente, {monto,


ejecutivocliente)}

• monto
• ejecutivocliente

1) Listado Clientes= (fechalistado, rutcliente, nombrecliente) 1FN, 2FN, 3FN

Tomo campos retirados para formar otra entidad.

2) Compras= (rutcliente, monto, ejecutivocliente)

Normalizo entidad “compras”

2) Compras= (rutcliente, monto) 1FN, 2FN, 3FN

• ejecutivocliente

3) Cliente= (rutcliente, ejecutivocliente) 1FN, 2FN, 3FN


Tabla original: Vista Nº 2

Normalización para tabla “Orden De Pedido”

Orden De Pedido = (numorden, nombrecliente, rutcliente, dircliente, telcliente,


ejecutivocliente, fecharorden, {codproducto, cantidadproducto, descripcionproducto,
valorunitario)}}}}

Primero, pasar a 1FN eliminando campos repetitivos:

4) OrdenPedido = (numorden, nombrecliente, rutcliente, dircliente, telcliente,


ejecutivocliente, fechaorden)

• codproducto
• cantidadproducto
• descripcionproducto
• valorunitario

Tomo campos retirados para formar otra entidad.

5) Producto = (numorden, codigoproducto, cantidadproducto, descripcionproducto,


valorunitario)

4) OrdenPedido = (numorden, fechaorden, rutcliente) “1FN 2FN 3FN” y procedo a


normalizar quitando elementos repetitivos nuevamente.

• rutcliente
• nombrecliente
• dircliente
• telcliente
• ejecutivocliente

Tomo campos retirados para formar otra entidad.

6) Cliente = (numorden, rutcliente, nombrecliente, ejecutivocliente {dircliente,


telcliente)}} normalizo de inmediato a datos repetitivos para mejorar estructura y
formar otra entidad con los datos del cliente.

• Dircliente
• Telcliente

6) Cliente = (numorden, rutcliente, nombrecliente) “1FN 2FN 3FN”

7) DatosCliente = (numorden, rutcliente, dircliente, telcliente) “1FN 2FN 3FN”

Tabla original: Vista Nº 3

Normalización para tabla “Factura”

Factura = (numfactura, rutcliente, telcliente, dircliente, ejecutivocliente, fechafactura,


numorden, formapago, {codproducto, cantidadproducto, descripcionproducto,
valorunitario)}}}}

Primero, pasar a 1FN eliminando campos repetitivos:

• Codproducto
• Cantidadproducto
• Descripcionproducto
• Valorunitario

8) Factura = (numfactura, rutcliente, telcliente, dircliente, ejecutivocliente,


fechafactura, numorden, formapago,)

9) Producto = (numfactura, codproducto, cantidadproducto, desccripcionproducto,


valorunitario)

Creo otra entidad a partir de Factura normalizada, para optimizar las tablas,
dejando al cliente y sus datos en tablas separadas.

8) Factura = (numfactura, fechafactura, numorden, formapago,)

• Rutcliente
• Nombrecliente
• Dircliente
• Telcliente
• Ejecutivocliente

10) Cliente = (numfactura, rutcliente, nombrecliente, {dircliente, telcliente,


ejecutivocliente)}}} Se normaliza para dejar datos separados
10) Cliente = (numfactura, rutcliente, nombrecliente) “1FN 2FN 3FN”

11) DatosCliente = (numfactura, rutcliente, ejecutivocliente, dircliente, telcliente)


“1FN 2FN 3FN”

Paso factura a 2FN y 3FN

8) Factura = (numfactura, fechafactura) “1FN 2FN 3FN”

• Numorden
• Formapago
• Valorunitario

Creo entidad “FormaPago” para diferenciar de Factura y normalizar a 3FN

12) FormaPago = (numfactura, numorden, formapago) “1FN 2FN 3FN”

Tabla original: Vista Nº 4

Normalización para tabla “Stock Repuestos”

StockRepuestos = (fechalistado, codproducto, {stockactual, descripcionproducto,


preciounitario)}}}

• Stockactual
• Descripcionproducto
• preciounitario

14) StockRepuestos = (codproducto, fechalistado) “1FN 2FN 3FN”

15) Producto = (codproducto, stockactual, descripcionproducto, preciounitario)


Mantengo misma PK y queda en “1FN 2FN 3FN”
Tabla original: Vista Nº 5

Normalización para tabla “Informe de Proveedores”

Primero, pasar a 1FN eliminando campos repetitivos:

InformeProveedores = (numproveedor, nombreproveedor, dirproveedor, telproveedor,


faxproveedor, codproducto, {descproducto, preciounitario, bodegaproducto,
paisimportacion, numordenimportacion, marcaproveedor)

• descproducto
• codproducto
• preciounitario
• bodegaproducto
• paisimportacion
• numordenimportacion
• marcaproveedor

16) InformeProveedores = (numproveedor, nombreproveedor, dirproveedor,


telproveedor, faxproveedor) “1FN”

Formo entidad “Productos”

17) Productos = (numproveedor, codproducto, preciounitario, bodegaproducto,


paisimportacion, numordenimportacion, marcaproveedor) Ajusto para crear entidad
“Importaciones”

• numordenimporatcion
• paisimportacion

18) Importaciones = (numeproveedor, codproducto, numordenimportacion,


paisimportacion) “1FN 2FN 3FN”

Cambio nombre a entidad “InformeProveedores” por “Proveedores” dejando todos sus


datos escenciales.

16) Proveedores = (numproveedor, nombreproveedor, dirproveedor, telproveedor,


faxproveedor) “1FN” y normalizo a 2FN y 3FN
• dirproveedor
• telproveedor
• faxproveedor

16) Proveedores = (numproveedor, nombreproveedor) “1FN 2FN 3FN”


Creo entidad “DatosProveedor”

19) DatosProveedor = (numproveedor, dirproveedor, telproveedor, faxproveedor)


“1FN 2FN 3FN”

Tabla original: Vista Nº 6

Normalización para tabla “Informe Bodega”

Primero, pasar a 1FN eliminando campos repetitivos:

InformeBodega = (fechainforme, numproducto, numproveedor, nombreproveedor,


dirproveedor, telproveedor, faxproveedor {descproducto, fechacompraproducto,
cantidadcompraproducto, cantidadstockproducto, preciocompraproducto,
bodegaproducto)}}}}}}

• fechacompraproducto
• cantidadcompraproducto
• cantidadstockproducto
• preciocompraproducto
• bodegaproducto
• descproducto
• numproducto

20) InformeBodega = (fechainforme, numproveedor, nombreproveedor,


dirproveedor, telproveedor, faxproveedor) 1FN

Cambio nombre a entidad “InformeBodega” para que quede más uniforme, al


nombre “NevosProveedores”

20) NevosProveedores = (fechainforme, numproveedor, nombreproveedor,


dirproveedor, telproveedor, faxproveedor)
Creo entidad “Productos” con datos extraídos.

21) Productos = (numproveedor, numproducto, fechacompraproducto,


cantidadcompraproducto, cantidadstockproducto, preciocompraproducto,
bodegaproducto, descproducto, numproducto) “1FN 2FN” ajusto para crear
entidad “cantidades”

21) Productos = (numproveedor, numproducto, fechacompraproducto,


bodegaproducto, descproducto)

• cantidadcompraproducto
• cantidadstockproducto
• preciocompraproducto

22) Cantidades = (numproveedor, numproducto, cantidadstockproducto,

cantidadcompraproducto, preciocompraproducto) “1FN 2FN 3FN”

 Se añadieron en la vista nº5, 2 atributos necesarios según el texto, los cuales


son: bodegaproducto, paisimportacion, numordenimportacion.
 Se repite el atributo “bodegaproducto” en vista nº6.

También podría gustarte