Base de Datos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

Base de datos nombre: almacenes

ALMACENES

CREATE TABLE ALMACENES 
( Codigo INT PRIMARY KEY,
 Lugar VARCHAR(100),
 CAPACIDAD INT)
CAJAS:

CREATE TABLE CAJAS(
 NumReferencia CHAR(8) PRIMARY KEY,
 Contenido VARCHAR(100),
 Valor INT,
 almacen INT,
 FOREIGN KEY(almacen) references almacenes(Codigo) )

ALMACENES

INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('123', 'Bilbao','6' );

INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('124', 'Barcelona','10' );

INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('125', 'Galicia','8' );

INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('126', 'Mallorca','9' );

INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('127', 'Madrid','15' )

CAJAS

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('S4GH',


'Tornillos','80','123');

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('S5F2',


'Celulares','1400','123');

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('SG5H',


'Teclados','600','123');

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('S7HS',


'Auriculares','1000','124');
INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('S95S',
'Herramientas','1600','125');

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('135F',


'Mochilas','1500','126');

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('SF49',


'Componentes','900','127');

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('79SF',


'Lapices','300','123');

INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('P729',


'Tela','60','125');

INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('S3H4', 'Bilbao','6' );


INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('S4GH', 'Barcelona','10' );
INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('G45H', 'Galicia','8' );
INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('ÑPL4', 'Mallorca','9' );
INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('4FA5',

Numreferencia char(5)
'Madrid','15' )

primary key,
Contenido varchar(100),
Valor int,
Almacen int,
Foreign key(almacen)
references almacenes(código)
Código int primary key,
Lugar varchar(100),
Capacidad int);
Créate table cajas(
Numreferencia char(5) primary
key,
Contenido varchar(100),
Valor int,
Almacen int,
Foreign key(almacen)
references almacenes(código)
CONSULTAS

1) Obtener todos los almacenes


SELECT * FROM ALMACENES
2) Obtener las cajas cuyo contenido tenga un valor superior a 1500$
SELECT * FROM CAJAS WHERE Valor>1500

3) Obtener un valor medio de todas las cajas de cada almacén


SELECT AVG(VALOR)AS 'VALOR PROMEDIO DE CAJAS' FROM CAJAS GRUP BY Almacen

4) Obtener los códigos de los almacenes en los cuales el valor medio de las cajas sea
superior a 150$
SELECT* FROM almacenes WHERE Codigo IN (select almacen FROM caja
s GROUP BY almacen HAVING AVG(valor) > 150)
5) Obtener el numero de referencia de cada caja junto con el nombre de la ciudad donde
se encuentra (Con INNER JOIN)
SELECT NumReferencia, Lugar FROM ALMACENES INNER JOIN CAJAS ON A
LMACENES.Codigo = CAJAS.Almacen

6) Obtener los códigos de los almacenes que están saturados, los almacenes donde el
numero de cajas es superior a la capacidad ( USAR SUBCONSULTA)
HAGO 2 INSERTS MAS PORQUE NO HAY SUFICIENTES CAJAS EN EL ALMACEN PARA
QUE SUPERE LA CAPACIDAD
INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('V4BL', 'Venti
lador','600','123');
INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('8GGD', 'Tizas
','100','123')

AHORA SÌ
SELECT Codigo FROM ALMACENES WHERE Capacidad < ( SELECT COUNT(*) 
FROM CAJAS WHERE Almacen = Codigo )

7) Obtener los números de referencia de las cajas que están en Bilbao (con Subconsulta)
SELECT NumReferencia FROM CAJAS WHERE Almacen IN ( SELECT Codigo 
FROM ALMACENES WHERE Lugar = 'Bilbao')
8) Insertar una nueva caja con numero de referencia “H5RT”, con contenido papel valor
200$ situado en el almacen 2
INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUE
S ('H5RT', 'Papel','200','124')

9) Rebajar el valor de todas las cajas un 20% de aquellas cuyo valor sea superior al valor
medio de todas las cajas

UPDATE CAJAS SET Valor = Valor*0.80
ANTES

DESPUES
10) Eliminar Todas las cajas cuyo valor sea inferior a 1000$
DELETE FROM CAJAS WHERE Valor < 1000

ANTES

DESPUES

11) Insertar un nuevo almacén en Barcelona con capacidad para 3 cajas


ANTES
DESPUES

INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('128', 'Barcelo
na','3' )

12) Aumentar el valor de todas la cajas un 15%


UPDATE CAJAS SET Valor = Valor*1.15

También podría gustarte