Considere abaixo: o esquema de banco de dados, as duas visões V1 e V2 que criam tabelas virtuais aplicadas ao esquema definido e a consulta QV1 aplicada sobre a visão V1.
EMPREGADO
PNOME UNOME SSN DATANASC ENDERECO SALARIO SUPERSSN DNO
DEPARTAMENTO
DNOME DNUMERO GERSSN
PROJETO
PJNOME PNUMERO PLOCALIZACAO DNUM
TRABALHA_EM
ESSN PNO HORAS
V1: CREATE VIEW TRABALHA_EM1
AS SELECT PNOME, UNOME, PJNOME, HORAS
FROM EMPREGADO, PROJETO, TRABALHA_EM
WHERE SSN=ESSN AND PNO=PNUMERO;
V2: CREATE VIEW DEPT_INFO(DEPT_NOME, NO_EMPS, TOTAL_SAL)
AS SELECT DNOME, COUNT(*), SUM(SALARIO)
FROM DEPARTAMENTO, EMPREGADO
WHERE DNUMERO=DNO
GROUP BY DNOME;
QV1: SELECT PNOME, UNOME
FROM TRABALHA_EM1
WHERE PJNOME=’ProjetoX’
Com base no conhecimento sobre o conceito de visão em SQL, considere as seguintes afirmativas.
I. V1 não especifica nenhum novo nome de atributo para a visão TRABALHA_EM1. Nesse caso, TRABALHA_EM1 receberá os nomes dos atributos das tabelas de definição EMPREGADO, PROJETO E TRABALHA_EM.
II. V2 explicita novos nomes para os atributos da visão DEPT_INFO, usando a correspondência um a um entre os atributos especificados na cláusula CREATE VIEW e os especificados na cláusula SELECT da consulta que define a visão.
III. A consulta QV1 não funciona porque, para recuperar o último e o primeiro nome de todos os empregados que trabalham no ‘ProjetoX`, é necessária a formulação de duas junções usando as relações básicas EMPREGADO, PROJETO E TRABALHA_EM.
Assinale a alternativa CORRETA.