Baixe o app para aproveitar ainda mais
Prévia do material em texto
Painel / Meus cursos / 2023ED - Projeto de Banco de Dados II - G91-1372EAD2A / UNIDADE 3: Funções de Agregação, DDL e Triggers / ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Triggers Iniciado em quarta, 14 jun 2023, 21:30 Estado Finalizada Concluída em quarta, 14 jun 2023, 21:40 Tempo empregado 10 minutos 27 segundos Avaliar 2,50 de um máximo de 2,50(100%) Questão 1 Correto Atingiu 0,13 de 0,13 A DDL (Data Definition Language) é a parte da linguagem dedicada a definição de dados. Relacione os comandos a seguir com sua funcionalidade. Eliminar uma tabela do esquema do banco de dados. DROP TABLE Permite definir as tabelas (relações) do banco de dados, suas propriedades (atributos/campos), seus respectivos tipos de dados, restrições de cada campo (obrigatoriedade, valores predefinidos, chaves, etc.) e restrições da tabela (chave primária, chaves estrangeiras e chaves únicas). CREATE TABLE Modificar a estrutura de uma tabela (relação). ALTER TABLE ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 1 of 15 14/06/2023, 21:41 Questão 2 Correto Atingiu 0,12 de 0,12 A linguagem SQL possui diversos recursos que permitem construir consultas com diversos objetivos. Nesse contexto, analise as afirmativas: I. Na cláusula SELECT se define os campos que se deseja no resultado II. Na cláusula FROM se define as tabelas que são utilizadas na consulta III. Na cláusula WHERE se define o predicado de seleção de grupos IV. Na cláusula HAVING se define o predicado de seleção de tuplas V. A cláusula GROUP BY deve sempre ser usada quando utilizamos funções de agregação É verdadeiro somente o que se afirma em: Escolha uma opção: I, II, III, IV e V I, II e V I e II I, II, III e IV III, IV e V ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 2 of 15 14/06/2023, 21:41 Questão 3 Correto Atingiu 0,13 de 0,13 Considere os seguintes comandos de criação de tabelas: Create Table Projetos (Codigo_Projeto number(4) constraint Projetos_pk primary key, Descricao varchar2(100) not null, Codigo_Funcionario number(4) constraint ProjetoCoordenador_fk references E_funcionario(codigo_funcionario)); Create Table Funcionario (Codigo_Funcionario number(4) constraint funcionario_pk primary key, Nome varchar2(100) not null, Data_Nascimento date, Sexo varchar2(1)) Create Table FuncionarioParticiparProjeto (Codigo_Funcionario number(4) not null constraint FuncionarioParticipar_fk references funcionario(codigo_funcionario), Codigo_Projeto number(4) not null constraint ProjetoParticipar_fk references projetos(codigo_projeto), constraint FuncionarioProjeto_pk primary key (codigo_funcionario, codigo_projeto)); Nesse contexto, analise as afirmativas: I. A constraint FuncionarioProjeto_pk define uma chave estrangeira simples II. A constraint Projetos_pk define um chave primária simples III. A constraint ProjetoParticipar_fk define uma chave estrangeira simples É verdadeiro apenas o que se afirma em: Escolha uma opção: I e III I, II e III I I e II II e III ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 3 of 15 14/06/2023, 21:41 Questão 4 Correto Atingiu 0,12 de 0,12 Considere o esquema relacional: E_Funcionario(Codigo_Funcionario, Nome, Data_Nascimento, Sexo, Raca, Tipo_Sanguineo, Fator_RH, TelefoneResidencial, Ramal, Data_Admissão, Salário_Hora_Inicial, #Codigo_Conjuge, #Codigo_Setor) E_Pagamentos(#Codigo_Funcionario, Data_Pagamento, Salario_Bruto, IRRF, INSS, Gratificacoes, Descontos, Salario_Liquido) A direção de empresa deseja saber os nomes dos funcionários que recebem mais que média salarial (salário bruto). Analise as seguintes alternativas de consulta: I. SELECT nome, AVG(Salario_Bruto) FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) GROUP BY nome --------------------------------------------------- II. SELECT nome, AVG(Salario_Bruto) FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) --------------------------------------------------- III. SELECT Codigo_Setor, AVG(Salario_Bruto) FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) GROUP BY Codigo_Setor --------------------------------------------------- IV. SELECT DISTINCT Codigo_Funcionario, nome FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) WHERE Salario_Bruto >= (SELECT AVG(SALARIO_BRUTO) FROM E_PAGAMENTOS) --------------------------------------------------- V. SELECT DISTINCT Codigo_Funcionario, nome FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) WHERE Salario_Bruto > (SELECT AVG(SALARIO_BRUTO) FROM E_PAGAMENTOS) --------------------------------------------------- Assinale a alternativa que indica a consulta que atende a solicitação da direção da empresa: Escolha uma opção: I II III IV V ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 4 of 15 14/06/2023, 21:41 Questão 5 Correto Atingiu 0,12 de 0,12 Considere o esquema relacional: E_Funcionario(Codigo_Funcionario, Nome, Data_Nascimento, Sexo, Raca, Tipo_Sanguineo, Fator_RH, TelefoneResidencial, Ramal, Data_Admissão, Salário_Hora_Inicial, #Codigo_Conjuge, #Codigo_Setor) E_Pagamentos(#Codigo_Funcionario, Data_Pagamento, Salario_Bruto, IRRF, INSS, Gratificacoes, Descontos, Salario_Liquido) (Obs.: teremos um registro para cada mês) Considere a seguinte consulta: SELECT codigo_funcionario, nome, AVG(salario_liquido) FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) GROUP BY codigo_funcionario, nome HAVING COUNT(*) >= 12 Analise as afirmativas: I. Não se pode utilizar na cláusula HAVING uma função de agregação que não será mostrada no resultado da consulta II. A consulta retorna os funcionários que trabalham na empresa a um ano ou mais III. A consulta retorna a média do salário líquido recebido pelos funcionários nos últimos 12 meses É verdadeiro somente o que se afirma em: Escolha uma opção: III II I e II I I, II e III ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 5 of 15 14/06/2023, 21:41 Questão 6 Correto Atingiu 0,13 de 0,13 Considere o esquema relacional: Cidade(Codigo_Cidade, Nome, DDD, #Sigla_UF) Morar(#CodigoPessoa,#CodigoCidade, rua, número, complemento, CEP) Pessoa(Codigo_Pessoa, nome, #Codigo_Setor) Setor(Codigo_Setor, Descricao) UF(Sigla_UF, Descricao) Analise as alternativas a seguir, que apresentam a ordem em que as tabelas podem ser criadas: I. Cidade, Morar, Pessoa, Setor, UF II. Morar, Pessoa, Cidade, UF, Setor III. UF, Setor, Pessoa, Cidade, Morar IV. Setor, UF, Cidade, Pessoa, Morar É correto apenas a ordem apresentada em: Escolha uma opção: II e III I, II, III e IV I e IV III e IV I e II ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 6 of 15 14/06/2023, 21:41 Questão 7 Correto Atingiu 0,12 de 0,12 Questão 8 Correto Atingiu 0,13 de 0,13 Considere o seguinte esquema relacional: E_Funcionario(Codigo_Funcionario, Nome, Data_Nascimento, Sexo, Raca, Tipo_Sanguineo, Fator_RH, TelefoneResidencial, Ramal, Data_Admissão, Salário_Hora_Inicial, #Codigo_Conjuge, #Codigo_Setor) Considere a seguinte consulta: SELECT codigo_setor, COUNT(*) FROM E_FUNCIONARIO WHERE sexo = 'F' GROUP BY codigo_setor HAVING COUNT(*) > 5 Analise as afirmativas: I. A consulta faz o agrupamento dos funcionários pelo setor em que trabalham II. A consulta mostra os setores e a quantidade de todos os funcionários que trabalham neleIII. A consulta mostra os setores que tem mais que 5 funcionários IV. A cláusula WHERE seleciona as tuplas que participarão do agrupamento É verdadeiro somente o que se afirma em: Escolha uma opção: II e III I, III e IV I e IV I, II, III e IV I, II e III Uma trigger é definida sobre uma tabela e quando um evento ocorrer é realizado um conjunto de comandos. Desta forma, triggers possuem diversas aplicações. Assim, Triggers podem ser utilizadas para: I. Verificar se o horário de realização da operação (evento) é permitido. II. Registrar quem realizou alguma operação DML (evento) em uma tabela. III. Gerar novos dados, a partir da realização de uma operação (DML). IV. Criar novas tabelas. É verdadeiro apenas o que se afirma em: Escolha uma opção: I, II, III e IV I e IV I, II e III IV II, III e IV ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 7 of 15 14/06/2023, 21:41 Questão 9 Correto Atingiu 0,12 de 0,12 Questão 10 Correto Atingiu 0,13 de 0,13 A linguagem SQL possui um conjunto de funções que trabalham em conjuntos de dados. Relacione as funções com o que realizam: Retorna a quantidade de tuplas COUNT Retorna o maior valor MAX Retorna o somatório dos valores SUM Retorna o menor valor MIN Retorna a média dos valores AVG Considere o seguinte comando: CREATE TABLE Pessoa ( CodPessoa number(6) PRIMARY KEY, Nome VARCHAR2(50) NOT NULL, CodCidade NUMBER(4) NOT NULL REFERENCES Cidade(CodCidade) ) Analise as seguintes afirmativas, sobre o comando acima: I. REFERENCES define a chave estrangeira II. NOT NULL define um campo obrigatório III. Não é necessário definir que CodPessoa é NOT NULL, pois ele é a chave primária, que sempre é obrigatória. É verdadeiro apenas o que se afirma em: Escolha uma opção: I II e III I e II I e III I, II e III ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 8 of 15 14/06/2023, 21:41 Questão 11 Correto Atingiu 0,13 de 0,13 Questão 12 Correto Atingiu 0,12 de 0,12 A palavra trigger significa disparo e no SGBD possuem a função de disparar ações quando determinados eventos ocorrem. Nesse contexto analise as afirmativas: I. Os eventos que podem disparar uma trigger são: INSERT, UPDATE ou DELETE II. Uma trigger somente pode ser definida sobre uma única tabela III. A trigger sempre será executada antes da execução do evento que a dispara É verdadeiro apenas o que se afirma em: Escolha uma opção: II e III III I e III I e II I, II e III Considere o esquema relacional: E_UF(Sigla_UF, Descricao) E_Cidade(Codigo_Cidade, Nome, DDD, #Sigla_UF) E_Bairro(Codigo_Bairro, Nome, #Codigo_Cidade) E_Rua(Codigo_Rua, Nome) E_RuaBairro(#Codigo_Rua, #Codigo_Bairro) E_Funcionario(Codigo_Funcionario, Nome, Data_Nascimento, Sexo, Raca, Tipo_Sanguineo, Fator_RH, TelefoneResidencial, Ramal, Data_Admissão, Salário_Hora_Inicial, #Codigo_Conjuge, #Codigo_Setor) E_FuncionarioEndereco(#Codigo_Funcionario, #(#Codigo_Rua, #Codigo_Bairro), Numero, Apto, Complemento, CEP) Deseja-se construir uma consulta que mostre a quantidade de funcionários que moram em Caxias do Sul. Selecione a alternativa que informe a quantidade mínima de tabelas necessárias para fazer essa consulta: Escolha uma opção: 1 2 3 4 5 ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 9 of 15 14/06/2023, 21:41 Questão 13 Correto Atingiu 0,13 de 0,13 Considere o esquema relacional: Cidade(Codigo_Cidade, Nome, DDD, #Sigla_UF) Morar(#CodigoPessoa,#CodigoCidade, rua, número, complemento, CEP) Pessoa(Codigo_Pessoa, nome, #Codigo_Setor) Setor(Codigo_Setor, Descricao) UF(Sigla_UF, Descricao) Analise as alternativas a seguir, que apresentam a ordem em que as tabelas podem ser eliminadas (DROP): I. Cidade, Morar, Pessoa, Setor, UF II. Morar, Pessoa, Cidade, UF, Setor III. UF, Setor, Pessoa, Cidade, Morar IV. Setor, UF, Cidade, Pessoa, Morar É correta apenas a ordem apresentada em: Escolha uma opção: III e IV II e IV I e III II IV ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 10 of 15 14/06/2023, 21:41 Questão 14 Correto Atingiu 0,12 de 0,12 Considere o esquema relacional: E_Funcionario(Codigo_Funcionario, Nome, Data_Nascimento, Sexo, Raca, Tipo_Sanguineo, Fator_RH, TelefoneResidencial, Ramal, Data_Admissão, Salário_Hora_Inicial, #Codigo_Conjuge, #Codigo_Setor) E_Pagamentos(#Codigo_Funcionario, Data_Pagamento, Salario_Bruto, IRRF, INSS, Gratificacoes, Descontos, Salario_Liquido) O coordenador do departamento de recursos humanos deseja saber os nomes dos funcionários que recebem o menor e maior salário. Analise as seguintes alternativas de consulta: I. SELECT nome, MIN(Salario_Bruto), MAX(Salario_Bruto) FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) GROUP BY nome --------------------------------------------------- II. SELECT nome, MIN(Salario_Bruto), MAX(Salario_Bruto) FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) --------------------------------------------------- III. SELECT Codigo_Setor, COUNT(*) FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) GROUP BY Codigo_Setor --------------------------------------------------- IV. SELECT DISTINCT Codigo_Funcionario, nome FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) WHERE Salario_Bruto = (SELECT MAX(SALARIO_BRUTO) FROM E_PAGAMENTOS) OR Salario_Bruto = (SELECT MIN(SALARIO_BRUTO) FROM E_PAGAMENTOS) --------------------------------------------------- V. SELECT DISTINCT Codigo_Funcionario, nome FROM E_FUNCIONARIO INNER JOIN E_PAGAMENTOS USING (Codigo_Funcionario) WHERE Salario_Bruto = (SELECT MAX(SALARIO_BRUTO) FROM E_PAGAMENTOS) AND Salario_Bruto = (SELECT MIN(SALARIO_BRUTO) FROM E_PAGAMENTOS) --------------------------------------------------- Assinale a alternativa que indica a consulta que atende a solicitação do coordenador do departamento de RH: Escolha uma opção: I II III IV V ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 11 of 15 14/06/2023, 21:41 Questão 15 Correto Atingiu 0,13 de 0,13 O comando ALTER é utilizado para modificar a estrutura de uma tabela (relação). Nesse contexto analise as afirmativas: I. ADD permite alterar um campo que já está na tabela II. Modify permite adicionar um conjunto de campos novas à tabela III. DROP permite excluir um campo da tabela É correto apenas o que se afirma em: Escolha uma opção: I e II II III I I e III ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 12 of 15 14/06/2023, 21:41 Questão 16 Correto Atingiu 0,12 de 0,12 Considere o esquema relacional: E_Funcionario(Codigo_Funcionario, Nome, Data_Nascimento, Sexo, Raca, Tipo_Sanguineo, Fator_RH, TelefoneResidencial, Ramal, Data_Admissão, Salário_Hora_Inicial, #Codigo_Conjuge, #Codigo_Setor) E_Projetos(Codigo_Projeto, Descricao, #Codigo_Funcionario) E_FuncionarioParticiparProjeto(#Codigo_Funcionario, #Codigo_Projeto) Desejamos construir um relatório que mostre as descrições de todos os projetos e a quantidade de funcionários que participam dele. Analise as alternativas de implementação desta consulta: I. SELECT descricao, COUNT(*) FROM E_PROJETOS GROUP BY descricao -------------------------------------------------------- II. SELECT descricao, COUNT(*) FROM E_PROJETOS INNER JOIN E_FUNCIONARIO USING(Codigo_Funcionario) GROUP BY descricao -------------------------------------------------------- III. SELECT descricao, COUNT(*) FROM E_PROJETOS LEFT OUTER JOIN E_FUNCIONARIO USING (Codigo_Funcionario) GROUP BY descricao --------------------------------------------------------IV. SELECT descricao, COUNT(*) FROM E_PROJETOS LEFT OUTER JOIN E_FUNCIONARIOPARTICIPARPROJETO USING(Codigo_Projeto) GROUP BY descricao -------------------------------------------------------- V. SELECT descricao, COUNT(*) FROM E_PROJETOS LEFT OUTER JOIN E_FUNCIONARIOPARTICIPARPROJETO USING(Codigo_Funcionario) LEFT OUTER JOIN E_FUNCIONARIO USING (Codigo_Projeto) GROUP BY descricao -------------------------------------------------------- A consulta que expressa corretamente o que o relatório deve mostrar é: Escolha uma opção: I II III IV V ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 13 of 15 14/06/2023, 21:41 Questão 17 Correto Atingiu 0,12 de 0,12 Questão 18 Correto Atingiu 0,13 de 0,13 Considere o seguinte esquema relacional: E_UF(Sigla_UF, Descricao) E_Cidade(Codigo_Cidade, Nome, DDD, #Sigla_UF) Considere a seguinte consulta SQL: SELECT descricao, COUNT(*) FROM E_UF LEFT OUTER JOIN E_CIDADE USING(SIGLA_UF) GROUP BY descricao HAVING COUNT(*) > 3 Analise as afirmativas: I. A consulta somente considera as cidades que tem mais tem três habitantes II. A consulta mostra apenas os estados (unidades federativas) que tem mais que três cidades III. A cláusula HAVING pode ser substituída pela cláusula WHERE IV. A cláusula USING (SIGLA_UF) pode ser substituída por ON (E_UF.SIGLA_UF = E_CIDADE.SIGLA_UF) É verdadeiro somente o que se afirma em: Escolha uma opção: IV I, II, III e IV II e IV I e IV II, III e IV O comando CREATE TABLE permite definir as tabelas (relações) do banco de dados, suas propriedades (atributos/campos), seus respectivos tipos de dados, restrições de cada campo (obrigatoriedade, valores predefinidos, chaves, etc.) e restrições da tabela (chave primária, chaves estrangeiras e chaves únicas). Analise as seguintes afirmativas sobre o comando CREATE TABLE: I. Devemos especificar que um campo é NOT NULL, quando ele é um campo de preenchimento opcional. II. Para definir uma chave primária simples, colocamos Primary Key ao definirmos o campo. III. Para definir a chave estrangeira, devemos criar primeiro a tabela que será referenciada. É verdadeiro apenas o que se afirma em: Escolha uma opção: I, II e III I II I e II II e III ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 14 of 15 14/06/2023, 21:41 Questão 19 Correto Atingiu 0,13 de 0,13 Questão 20 Correto Atingiu 0,12 de 0,12 Considere o esquema relacional: Cidade(Codigo_Cidade, Nome, DDD, #Sigla_UF) Morar(#CodigoPessoa,#CodigoCidade, rua, número, complemento, CEP) Pessoa(Codigo_Pessoa, nome, #Codigo_Setor) Setor(Codigo_Setor, Descricao) UF(Sigla_UF, Descricao) Deseja-se consultar os setores e a quantidade de pessoas que trabalham nele. Para fazer essa consulta são necessárias as seguintes tabelas: I. Setor, Pessoa II. Setor, Pessoa, Morar III. Setor, Pessoa, Morar, Cidade, UF IV. Pessoa, Morar, Cidade, UF A alternativa que apresenta a lista de tabelas necessárias para realizar a consulta é: Escolha uma opção: I II III IV Escolha uma opção: I e II III I, II e III II I A linguagem SQL possui um conjunto de funções matemáticas, que permitem trabalhar com conjuntos de dados. Nesse contexto, analise as afirmativas: I. As funções de agregação somente podem ser utilizadas junto com a cláusula Group By II. As funções de agregação não podem ser utilizadas em predicados III. A maioria das funções de agregação são utilizadas em campos numéricos É verdadeiro somente o que se afirma em: ATIVIDADE AVALIATIVA 3 - Funções de Agregação, DDL e Trigge... https://ava.uniftec.com.br/mod/quiz/review.php?attempt=114988&cm... 15 of 15 14/06/2023, 21:41
Compartilhar