Escolar Documentos
Profissional Documentos
Cultura Documentos
nome VARCHAR(30),
dataNasc DATE,
especialidade VARCHAR(50),
);
designacaoP VARCHAR(40),
area DECIMAL(4,1),
);
identificacaoC varchar(20),
enderecoC varchar(20),
);
dataV DATE,
quantidadeV integer,
valorV decimal(10,2),
dataReceb date,
);
designacaoMp varchar(20),
);
dataU date,
);
identificacaoF varchar(20),
enderecoF varchar(20) ,
telefoneF varchar(20),
);
CREATE TABLE Compra (
quantidadeC integer,
valorC decimal(10,2),
dataPagam date,
);
INSERT INTO Venda (codigoP, codigoC, dataV, quantidadeV, valorV, dataReceb) VALUES
INSERT INTO Compra (codigoMp, codigoF, dataC, quantidadeC, valorC, dataPagam) VALUES
FROM Trabalhador
FROM Trabalhador T
SELECT
P.codigoP,
P.designacaoP,
COUNT(V.codigoP) AS quantidade,
SUM(V.valorV) AS total
FROM
Produto P
JOIN
V.dataReceb IS NULL
GROUP BY
P.codigoP, P.designacaoP
HAVING
FROM Comprador
UNION
FROM Fornecedor
UNION ALL
FROM Trabalhador
SELECT DISTINCT
MP.codigoMp,
MP.designacaoMp,
MP.quantArmaz,
P.designacaoP AS nomeProduto
FROM
MateriaPrima MP
JOIN
JOIN
SELECT
C.codigoMp,
C.codigoF,
C.dataC,
C.quantidadeC,
C.valorC,
C.dataPagam,
F.identificacaoF AS identificacaoFornecedor,
F.enderecoF AS enderecoFornecedor,
F.telefoneF AS telefoneFornecedor
FROM
Compra C
JOIN
WHERE
C.dataPagam IS NULL
SELECT
C.codigoC,
C.identificacaoC,
C.enderecoC,
C.telefoneC
FROM
Comprador C
LEFT JOIN
WHERE
V.codigoC IS NULL;
SELECT
P.codigoP,
P.designacaoP,
SUM(V.quantidadeV) AS quantidadeTotalVendida
FROM
Produto P
JOIN
GROUP BY
P.codigoP, P.designacaoP
ORDER BY
quantidadeTotalVendida DESC
LIMIT 1;
1-
2-
3-
4-
5-
πMP.codigoMp,MP.designacaoMp,MP.quantArmaz,P.designacaoP
(σMP.codigoMp=U.codigoMp∧U.codigoP=P.codigoP
(MateriaPrima⋈Utiliza⋈Produto))
6-
7-
9-