Variante 4 - WordPress.com

Propaganda
Curso de Engenharia em Informática -2ºAno, 2ºSemestre.
BDI
2º Provas de Frequencias. Variante 4.
Nome:__________________________________Data: _______Turma:________
O Docente: MsC. Leoder Alemañy Socarrás
REGION (idRegion, nomeRegion)
PAIS (idPais, nomePais, moeda, idRegion)
CIDADE (idCidade, nomeCiudad, população,idPais)
ARMAZEN (idArmazen, nomAlmazen, capacidade, classe , idCidade)
FORNECEDOR(idForn, nomeForn, genero, dataInicial, qualidade, idPais)
PRODUTO (noSerie, nomeProd, marca, modelo, dataFabricação, dataVencimento,
peso, volumen)
TIPO_TRANSPORTE (idTipoT, nomeTransporte)
TRANSPORTE(idTipoT, idArmazen, distancia, dataInicio, dataFin)
PROD_TRANSP (idTipoT, idArmazen, noSerie, quantidade)
SUM_PROD (noSerie, idForn)
1.
2.
3.
4.
Crê a tabela ARMAZEN utilizando a linguagem SQL. Recorde definir seus atributos e as chaves.
5valores
CREATE TABLE almacen
( id_alm integer NOT NULL,
nomb_alm character(10) NOT NULL,
capacidad character(10),
clase character(10),
id_ciudad integer NOT NULL,
CONSTRAINT "Almacen_pkey" PRIMARY KEY (id_alm),
CONSTRAINT "RefCiudad72" FOREIGN KEY (id_ciudad))
Implemente as seguintes sentenças em linguagem SQL. 5valores
a) Actualizar a moeda a Euros dos paises que se encontram na região européia.
Européia, os paises con nome da region ¨Europa¨.
UPDATE Pais SET moeda=”Euros” WHERE Pais.idRegion=Region.idRegion AND
Region.nomeRegion= Europa;
b) Insira um novo pais do qual se conhece os seguintes dados, identificador: 002, nome:
Camerún e o identificador da region 015.
INSET INTO Pais(idPais, nomePais, idRegion) VALUES(002, Camerun, 015) ;
Crê uma vista que mostre agrupados por region o nome dos paises e o nome da region dos
paises que sua moeda oficial seja dólar_americano. 5valores
CREATE OR REPLACE VIEW pergunta3 AS
SELECT Pais.nomePais, Region.nomeRegion
FROM Pais, Region
WHERE Pais.idRegion=Region.idRegion AND Pais.moeda= dólar_americano;
GROUP BY Region.idRegion;
Crê uma função que permita registar um novo fornecedor. Esta função não deve permitir que
se registem dois fornecedores com o mesmo nome, em caso que isto suceda deve mostrar
uma mensagem que indique que o fornecedor já está alojar no banco de dados. 5valores
CREATE OR REPLACE FUNCTION pergunta4 (idForn, nomeForn, genero, dataInicial, qualidade,
idPais)
RETURNS void AS
$body$
DECLARE resultado boolean; contador integer;
BEGIN
SELECT count(*) INTO contador from Fornecedor where nomAlmazen = $2;
IF contador <> 0 THEN raise notice 'Ya existe';
RETURN FALSE;
ELSE
INSERT INTO Fornecedor (idForn, nomeForn, genero, dataInicial, qualidade, idPais)
VALUES ($1, $2, $3, $4,$5);
RETURN TRUE;
END IF;
END;
$body$
LANGUAGE 'plpgsql';
Download