Banco de Dados
Você foi contratado para desenvolver um sistema para armazenar as informações sobre a venda de impressoras. É preciso armazenar informações de revendedores, principalmente o nome e a cidade de origem. Um revendedor pode vender várias impressoras. Cada impressora pode ser vendida por vários revendedores. As impressoras são de um determinado tipo e fabricadas por um determinado fabricante.
O valor da impressora está vinculado a um revendedor.
CREATE TABLE TIPO
(CODTIPO INT,
NOMETIPO CHAR (50),
PRIMARY KEY (CODTIPO));
CREATE TABLE CIDADE
(CODCID INT,
NOMECID CHAR (50),
PRIMARY KEY (CODCID));
CREATE TABLE FABRICANTE
(CODFAB INT
NOMEFAB CHAR (50),
PRIMARY KEY (CODFAB));
CREATE TABLE REVENDEDOR
(CODREV INT,
NOMEREV CHAR (50),
CODCID INT,
FOREIGN KEY (CODCID) REFERENCES
CIDADE (CODCID),
PRIMARY KEY (CODREV));
CREATE TABLE IMPRESSORA
(CODIMP INT,
NOMEIMP CHAR (50),
CODTIPO INT,
CODFAB INT,
FOREIGN KEY (CODTIPO) REFERENCES
TIPO (CODTIPO),
FOREIGN KEY (CODFAB) REFERENCES
FABRICANTE (CODFAB),
PRIMARY KEY (CODIMP));
CREATE TABLE VENDE
(CODIMP INT,
CODREV INT,
VALOR_VENDA NUMERIC (14,2),
FOREIGN KEY (CODIMP) REFERENCES
IMPRESSORA (CODIMP),
FOREIGN KEY (CODREV) REFERENCES
REVENDEDOR (CODREV),
PRIMARY KEY (CODIMP,CODREV));
1) Listar os nomes das impressoras que sejam fabricadas pelo fabricante denominado IBM eque sejam revendidas pelo revendedor denominado
COLOMBO
SELECT i.nomeimp
FROM impressora i,fabricante f,vende v,revendedor r
WHERE i.codfab=f.codfab
AND f.nomefab='IBM'
AND r.nomerev='COLOMBO'
AND r.codrev=v.codrev
AND v.codimp=i.codimp;
2) Listar os nomes das impressoras com os nomes dos respectivos fabricantes e com osnomes dos tipos destas impressoras
SELECT i.nomeimp, f.nomefab, t.nometipo
FROM impressora i, fabricante f, tipo t
WHERE i.codfab=f.codfab
AND i.codtipo=t.codtipo
3) Listar os nomes das impressoras que são revendidas por mais de 5 revendedores SELECT i.nomeimp,