Forma final de base de datos



Finalmente, he subido la forma final de mi base de datos, junto con las tablas y consultas, creadas en access 2007. Algunas relaciones fueron corregidas, así como el uso de la entidad persona.


Para descargar click AQUI


ENCONTRAR PRECIO UNITARIO, CANTIDAD, PROVEEDOR, TIPO Y SUBTOTAL DE LOS OBJETOS EN LA FACTURA 5


SELECT
producto.precio_uni AS 'PRECIO UNITARIO',
factura.cantidad AS 'CANTIDAD',
provee.nombre AS 'PROVEEDOR',
clases.nombre AS 'TIPO', 
(producto.precio_uni *factura.cantidad) AS 'SUBTOTAL' 


FROM 
factura,producto,provee,clases 


WHERE 
(factura.idproducto=producto.idproducto) and 
(producto.idproveedor=provee.idproveedor) and 
(producto.idclase=clases.idclase) and
(factura.idfactura=5);


ENCONTRAR EL TOTAL DE LOS PEDIDOS DE CADA VENDEDOR


SELECT 
compra.idvendedor AS 'VENDEDOR',
sum(producto.precio_uni *factura.cantidad) AS 'TOTAL'


FROM
producto,factura,compra


GROUP BY compra.idvendedor


HALLAR EL TOTAL DE CADA PRODUCTO EN INVENTARIO


SELECT
producto.idproducto AS 'IDPRODUCTO', 
producto.inventario AS 'CANTIDAD',
producto.precio_uni AS 'VALOR UNITARIO',
(producto.inventario*producto.precio_uni) AS 'TOTAL'


FROM
producto


HALLAR EL NUMERO DE FACTURA, EL NOMBRE COMPLETO DEL VENDEDOR, EL NOMBRE COMPLETO DEL CLIENTE Y EL TOTAL DE CADA FACTURA


SELECT
compra.idfactura AS 'N DE FACTURA',
vendedor.nombre & ' ' & vendedor.apellido AS 'VENDEDOR',
comprador.nombre & ' ' & comprador.apellido AS 'COMPRADOR'


FROM 
PERSONAS AS vendedor,
personas as comprador,
compra 


WHERE 
(vendedor.idpersona=compra.idvendedor) and
(comprador.idpersona=compra.idcomprador)


SI SE DESEA REALIZAR UN PEDIDO DEL 20% DE INVENTARIO PARA TODOS LOS PRODUCTOS, CON UN PRECIO A COMPRADOR DEL 70% DEL PRECIO UNITARIO,ENCONTRAR CUANDO SE DEBE PAGAR A CADA PROVEEDOR


SELECT 
producto.idproveedor AS 'PROVEEDOR',
FormatCurrency(sum((producto.precio_uni*0.7)*(producto.inventario*0.2)),3,-1,-1,-1) AS 'PRECIO'


FROM 
producto


GROUP BY
producto.idproveedor


HALLAR EL TOTAL DE TODAS LAS FACTURAS


SELECT 
numero AS 'NUMERO DE PEDIDO',
sum(subtotal) AS 'TOTAL'


FROM
(SELECT  
factura.idfactura AS numero, 
factura.cantidad*producto.precio_uni AS subtotal


FROM 
factura, producto


WHERE 
producto.idproducto=factura.idproducto)


GROUP BY numero;


HALLAR TODAS LAS FACTURAS EXPEDIDAS POR EL VENDEDOR 2


SELECT 
compra.idfactura AS 'N DE FACTURA'

FROM 
compra

WHERE 
idvendedor=2 

Diseño Final de Tablas



Finalmente se redujeron los campos de especificación en algunas de las tablas al resultar redundante para muchas de las clasificaciones, se ajustaron los tipos de cada campo y se llenaron las tablas con datos generados aleatoriamente.



Al revisar el diseño de tablas planteado en forma inicial, se replanteó el diseño del modelo entidad/relación, cambiando las tablas CLIENTES y VENDEDORES por una entidad PERSONA la cual incluye todas los campos necesarios para representar los datos del persona, clientes y representante de los proveedores. Otros de los cambios incluyen la creación de una entidad CLASIFICACION así como la reducción de entidades como FABRICANTE y FACTURA, eliminando campos innecesarios. 




Modelo en Tablas






Defina una BD acorde a una necesidad Particular en el ámbito personal o profesional. Debe decir:


•Sobre qué aspectos debe almacenar datos la BD
•Qué tipo de consultad se deben poder realizar


Se necesita una base de datos de partes electrónicas para organizar el inventario de una tienda de componentes. La base de datos debe contener los nombres de los componentes, así como los proveedores respectivos y el precio actual de cada parte. Se necesita además una tabla de ventas en donde se almacene la información del cliente, los componentes y el valor total de cada venta. Una tabla de ingreso en la cual se muestre cuantos componentes ingresen cada vez que se realiza compra. Una tabla con los nombres, teléfonos e información de contacto de los proveedores. Además de esto, se debe tener información de respaldo acerca de los vendedores, los turnos y las ventas por cada vendedor.

top