Diseño de Una Base de Datos
Diseño de Una Base de Datos
Diseño de Una Base de Datos
acerca de clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos en
documentos varios:
• Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo,
Límite de crédito (depende del cliente, pero en ningún caso debe superar los 3.000.000 pts),
Descuento.
• Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de ese
artículo en cada fábrica, Descripción del artículo.
• Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está
formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del pedido son
varias líneas, en cada línea se especifican el número del artículo pedido y la cantidad. Además, se
ha determinado que se debe almacenar la información de las fábricas. Sin embargo, dado el uso
de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y se desean ver
cuántos artículos (en total) provee la fábrica. También, por información estratégica, se podría
incluir información de fábricas alternativas respecto de las que ya fabrican artículos para esta
empresa. Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye
hora.
Ciudad
Pk
id nombre
Comuna
pk fk/pk
id Id_ciudad nombre
DireccionEnvio
Pk fk fk
pk
Pedido
Pk fk
Articulo
Pk
Fabrica
pk
ArticuloFabrica
Fk/pk fk/pk
Pk fk
ArticuloFabricaPedido
--mostrar los nombres y las cantidades en cada fabrica de los articulos ademas del
nombre de cada fabrica
select articulo.nombre,existencia,fabrica.nombre
from articulo,articulo_fabrica,fabrica
where articulo.nro=articulo_fabrica.nro_articulo and
articulo_fabrica.nro_fabrica=fabrica.nro
--mostrar todas las existencias de "Taza" ademas mostrar el nombre del articulo
select sum(existencia),nombre
from articulo_fabrica,articulo
where articulo_fabrica.nro_articulo=articulo.nro
and articulo.nombre='Taza'
group by nombre
select cliente.nro_cliente
from cliente,direccion_envio,pedido
where cliente.nro_cliente=direccion_envio.nro_cliente
and direccion_envio.nro=pedido.nro_direccion
and pedido.nro=1