Disciplina: TI - Banco de Dados
Banca: FUNDATEC
Orgão: Pref. Capão Canoa-RS
Para a resolução das questões desta prova, considere os seguintes detalhes: (1) os programas utilizados nesta prova foram instalados com todas as suas configurações padrão, entretanto, caso tenham sido realizadas alterações que impactem a resolução da questão, elas serão alertadas no texto da questão ou mostradas visualmente, se necessário; (2) no enunciado e nas respostas de algumas questões, existem letra(s), palavra(s) ou texto(s) que foram digitados entre aspas, apenas para destacá-los. Neste caso, para resolver as questões, desconsidere tais aspas e atente-se somente para a(s) letra(s), palavra(s) ou texto(s) propriamente ditos; (3) em algumas figuras foram inseridas setas numeradas apenas para facilitar a resolução da questões; e (4) para resolver as questões desta prova, considere, apenas, os recursos disponibilizados para os candidatos, tais como essas orientações, os textos introdutórios das questões, normalmente disponibilizados antes das Figuras, os enunciados propriamente ditos e os dados e informações disponíveis nas Figuras das questões, se houver.
As questões 35 e 36, baseiam-se nas Figuras 4(a) e 4(b), que mostram, respectivamente, as tabelas "FILIAL" e "FUNCIONARIO", sobre as quais considere os seguintes aspectos: (1) essas tabelas foram criadas no Sistema Gerenciador de Banco de Dados (SGBD) Oracle 11g, respeitando-se rigorosamente os conceitos do modelo relacional, havendo integridade referencial entre elas; (2) os campos "NOME" e "CPF" da tabela "FUNCIONARIO", assim como "NOME" e "CIDADE" da tabela "FILIAL", são do tipo alfanumérico; todos os demais campos dessas duas tabelas são do tipo numérico; (3) na tabela "FUNCIONARIO", há repetição de dados na coluna "CPF"; e (4) as tabelas, ao serem manipuladas com comandos ou declarações da Linguagem de Manipulação de Dados (DML) ou Linguagem de Definição de Dados (DDL), por padrão do SGBD, não terão a sua integridade referencial violada.
CODIGO | NOME | CIDADE |
10 | DTI | BRASILIA |
20 | GESEC | SAO PAULO |
30 | GADAM | CURITIBA |
40 | DRH | RECIFE |
Figura 4(a) - Tabela "FILIAL"
CODIGO | NOME | CPF | DEPTNO |
78 | JOSE | 12345678912 | 10 |
86 | PAULO | 12345678913 | 30 |
87 | ANTONIO | 12345678914 | 10 |
88 | LUIS | 22244455566 | 20 |
96 | CARLA | 33377788890 | 30 |
97 | ROBERTO | 22244455566 | 30 |
98 | ANTONIO | 39834567812 | 30 |
99 | LUIZA | 22244455566 | 10 |
Figura 4(b) - Tabela "FUNCIONARIO"
Para que seja apresentado, pelo SGBD Oracle 11g, o número do "CPF" e a quantidade de vezes que o "CPF" se repete na tabela "FUNCIONARIO" (Figura 4(b)), apenas para os funcionários lotados na filial da cidade de "Curitiba", basta executar a seguinte declaração, em SQL padrão:
I.
select cpf, count (funcionario.codigo) from funcionario, filial where filial.codigo = deptno and cidade = 'CURITIBA') and count (cpf) > 2 group by cpf |
II.
select cpf, count (f.codigo) from funcionario f, filial fl where fl.codigo = f.deptno and deptno = 30 group by cpf having count (*) > 1 |
III.
select cpf, count (*) quantidade from (select cpf from funcionario, filial where filial.codigo = deptno and cidade = 'CURITIBA') group by cpf having count (*) > 1 |
Quais estão corretas?