DIAGRAMA DE LA BASE DE DATOS DISTRIBUIDORA ARTICULOS

Anuncio
DIAGRAMA DE LA BASE DE DATOS DISTRIBUIDORA
PROVEEDORES
Nom_Prov
Cat_Prov
Ciudad_prov
COMPONENTES
ENVIOS
ARTICULOS
CONSULTAS A LA BASE DE DATOS
CREATE DATABASE Distribuidora
GO
USE Distribuidora
GO
SELECT * FROM dbo.PROVEEDORES
Cod_Prov
P1
P2
P3
P4
P5
Nom_Prov
CARLOS
JUAN
JOSE
INMA
EVA
Cat_Prov
20
10
30
20
30
Ciudad_prov
SEVILLA
MADRID
SEVILLA
SEVILLA
CACERES
SELECT * FROM dbo.COMPONENTES
Cod_Comp
C1
C2
C3
C4
C5
C6
Nom_Comp
X3A
B85
C4B
C4B
VT8
C30
Color_Comp
ROJO
VERDE
AZUL
ROJO
AZUL
ROJO
Peso_Comp
12
17
17
14
12
19
Ciudad_Comp
SEVILLA
MADRID
MALAGA
SEVILLA
MADRID
SEVILLA
SELECT * FROM ARTICULOS
Cod_Art
T1
T2
T3
T4
T5
T6
T7
Nom_Art
CLASIFICADORA
PERFORADORA
LECTORA
CONSOLA
MEZCLADORA
TERMINAL
CINTA
Ciudad_Art
MADRID
MALAGA
CACERES
CACERES
SEVILLA
BARCELONA
SEVILLA
SELECT * FROM ENVIOS
Cod_Prov
P1
P1
P2
P2
P2
P2
P2
P2
P2
P2
P3
P3
P4
P4
P5
P5
P5
P5
P5
Cod_Comp
C1
C1
C3
C3
C3
C3
C3
C3
C3
C5
C3
C4
C6
C2
C2
C2
C5
C5
C6
Cod_Art
T1
T4
T1
T2
T3
T4
T5
T6
T7
T2
T1
T2
T3
T7
T2
T4
T4
T7
T2
Canidad
200
700
400
200
200
500
600
400
800
100
200
500
300
300
200
100
500
100
200
P5
P5
P5
P5
P5
C1
C3
C4
C5
C6
T4
T4
T4
T5
T4
100
200
800
400
500
1)-- Obtener todos los detalles de todos los articulos de la ciudad de
CACERES
SELECT * FROM ARTICULOS WHERE Ciudad_Art = 'CACERES'
GO
2)-- Obtener todos los valores de Cod_Prov para los proveedores que
abastecen el Articulo T1
SELECT DISTINCT Cod_Prov FROM ENVIOS WHERE Cod_Art = 'T1'
GO
3)-- Obtener la lista de pares de atributos (color,ciudad) de la tabla
componentes eliminando los pares duplicados
SELECT DISTINCT Color_Comp,Ciudad_Comp FROM COMPONENTES
GO
4)-- Obtener de la tabla Articulos los valores de Cod_Art y Ciudad_Art
donde el nombre de la ciudad acaba en D o contiene al menos una E
SELECT Cod_Art,Ciudad_Art FROM ARTICULOS WHERE Ciudad_Art LIKE '%D'
OR Ciudad_Art LIKE '%E%'
GO
5)-- Obtener los valores de Cod_Prov para los proveedores que suministran
para el articulo T1 el componente C1
SELECT Cod_Prov FROM ENVIOS WHERE Cod_Art = 'T1' AND Cod_Comp = 'C1'
GO
6)-- Obtener los valores de Nom_Art en orden alfabetico para los
articulos abastecidos por el proveedor P1
SELECT Nom_Art FROM ARTICULOS a,ENVIOS e WHERE e.Cod_Prov = 'P1'
AND e.Cod_Art = a.Cod_Art
ORDER BY Nom_Art
GO
-- otra sentencia
SELECT DISTINCT Nom_Art FROM ARTICULOS NATURAL JOIN ENVIOS
ON Cod_Prov = 'P1'
ORDER BY Nom_Art
GO
7)-- Obtener los valores de Cod_Comp para los componentes suministrados
para cualquier articulo de Madrid
SELECT DISTINCT Cod_Comp FROM ENVIOS WHERE Cod_Art IN (
SELECT Cod_Art FROM ARTICULOS WHERE Ciudad_Art = 'MADRID')
GO
8)-- Obtener todos los valores de Cod_Comp de los componentes tales que
ningun otro componente tenga un valor de peso inferior
SELECT Cod_Comp FROM COMPONENTES WHERE Peso_Comp = (
SELECT MIN (Peso_Comp)FROM COMPONENTES )
GO
9)-- Obtener los valores de Cod_Prov para los proveedores que suministren
los articulos T1 y T2
SELECT Cod_Prov FROM ENVIOS WHERE Cod_Art = 'T1'
INTERSECT
SELECT Cod_Prov FROM ENVIOS WHERE Cod_Art = 'T2'
GO
10)-- Obtener los valores de Cod_Prov para los proveedores que
suministran para un articulos de Sevilla o Madrid un componente ROJO
SELECT Cod_Prov FROM ENVIOS e,COMPONENTES c,ARTICULOS a
WHERE e.Cod_Comp = c.Cod_Comp AND e.Cod_Art = a.Cod_Art
AND c.Color_Comp = 'ROJO' AND a.Ciudad_Art IN ('SEVILLA','MADRID')
GO
11)-- Obtener,mediante subconsultas, los valores de Cod_Comp para los
componentes suministrados para algun articulo de Sevilla por un proveedor
de Sevilla
SELECT Cod_Comp FROM ENVIOS WHERE Cod_Art IN (
SELECT Cod_Art FROM ARTICULOS WHERE Ciudad_Art ='SEVILLA')
AND Cod_Prov IN (SELECT Cod_Prov FROM PROVEEDORES
WHERE Ciudad_prov ='SEVILLA')
GO
12)-- Obtener los valores de Cod_Art para los articulos que usan al menos
un componente que se pueden obtener con el proveedor P1
SELECT DISTINCT Cod_Art FROM ENVIOS WHERE Cod_Comp IN (
SELECT DISTINCT Cod_Comp FROM ENVIOS WHERE Cod_Prov ='P1')
GO
13)-- Obtener todas las ternas (ciudad,Cod_Comp,ciudad) tales que un
proveedor de la primera ciudad suministre el componente especificado para
un articulo montado en la segunda ciudad
SELECT p.Ciudad_prov ,e.Cod_Comp,a.Ciudad_Art
FROM ENVIOS e,PROVEEDORES p,ARTICULOS a
WHERE e.Cod_Prov = p.Cod_Prov AND e.Cod_Art = a.Cod_Art
GO
14)-- sin recuperar las ternas en los que los dos valores de ciudad sean
los mismos
SELECT p.Ciudad_prov ,e.Cod_Comp,a.Ciudad_Art
FROM ENVIOS e,PROVEEDORES p,ARTICULOS a
WHERE e.Cod_Prov = p.Cod_Prov AND e.Cod_Art = a.Cod_Art
AND p.Ciudad_prov <> a.Ciudad_Art
GO
15)-- Obtener el numero de suministros, el de articulos distintos
suministrados y la cantidad total de articulos suministrados por el
proveedor P2
SELECT COUNT(*)AS 'NUMERO DE SUMINISTROS',
COUNT (DISTINCT Cod_Art)AS 'ARTICULOS SUMINISTRADOS',
SUM(Cantidad) AS 'TOTAL ARTICULOS SUMINISTRADOS'
FROM ENVIOS WHERE Cod_Prov ='P2'
GO
16)-- para cada articulo y componente suministrado obtener los valores de
Cod_Comp Cod_Art y la cantidad total correspondiente
SELECT Cod_Comp,Cod_Art,SUM(Cantidad) AS 'TOTAL'
FROM ENVIOS
GROUP BY Cod_Art,Cod_Comp
GO
17)-- Obtener los valores de Cod_Art de los articulos abastecidos al
menos por un proveedor que no viva en Madrid y que no este an la misma
ciudad en la que se monta el articulo
SELECT DISTINCT e.Cod_Art FROM ENVIOS e,ARTICULOS a
WHERE e.Cod_Art = a.Cod_Art AND EXISTS (
SELECT * FROM PROVEEDORES p WHERE p.Ciudad_prov != a.Ciudad_Art
AND p.Cod_Prov = e.Cod_Prov AND p.Ciudad_prov !='MADRID')
GO
18)-- Obtener los valores de Cod_Prov para los proveedores que
suministran al menos un componente ROJO
Please download full document at
www.DOCFOC.com
Thanks
Descargar