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';