Baixe o app para aproveitar ainda mais
Prévia do material em texto
Conteúdo do exercício Ocultar opções de resposta Pergunta 1 -- /0 Leia o excerto a seguir: “A sigla SQL (Structured Query Language) representa a linguagem de programação mais utilizada no mundo para manipular dados. Sua facilidade de entendimento, versatilidade e recursos permitem que um desenvolvedor utilize comandos sem a necessidade de muitas linhas de código para lidar com dados tradicionalmente armazenados em bancos de dados.”Fonte: DevMedia. Utilizando a linguagem SQL em diferentes contextos. Disponível em: <https://www.devmedia.com.br/utilizando-a-linguagem-sql-em-diferentes- contextos/37696>. Acesso em: 16/06/2019. Apesar de ser a mais utilizada para tratamento de dados, a linguagem SQL apresenta algumas limitações que fizeram com que outras linguagens de acesso a dados crescessem mais do que ela, como as linguagens para bancos NoSQL ou aquelas que permitem consulta de banco de dados textuais, por exemplo. Considerando a citação apresentada e os conteúdos abordados na unidade, analise as asserções a seguir e a relação proposta entre elas. I. A linguagem SQL é muito popular em função dos produtos que a utilizam. Logo, pode-se afirmar com segurança que se trata do recurso computacional mais utilizado pelos profissionais da área de banco de dados. Porque: II. Existem poucos produtos comerciais no mercado que implementam outras linguagens para acesso a dados. A seguir, assinale a alternativa correta: A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições falsas. Resposta correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. Ocultar opções de resposta As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. Pergunta 2 -- /0 Em um banco de dados, uma View é uma consulta pré-compilada, em linguagem SQL, que é gerada a partir do resultado de uma pesquisa, geralmente de acesso frequente, na forma de tabela virtual (consulta baseada uma tabela real). Veja o comando SQL para criação da seguinte tabela: CREATE TABLE OBJETO (idobjeto INTEGER NOT NULL PRIMARY KEY,nomeobjeto VARCHAR(100) NOT NULL); Considerando o que você aprendeu sobre View, é possível afirmar que o comando correto para a criação de uma VIEW, chamada ViewObjeto, que selecione todas as linhas e colunas da tabela OBJETO criada, é: Resposta corretaCREATE VIEW ViewObjeto AS (SELECT * FROM OBJETO); (SELECT * FROM OBJETO) CREATE VIEW AS ViewObjeto; CREATE VIEW (SELECT * FROM OBJETO) AS ViewObjeto; (SELECT * FROM OBJETO) AS CREATE VIEW ViewObjeto; CREATE (SELECT * FROM OBJETO) ViewObjeto AS VIEW; Pergunta 3 -- /0 Considere os comandos de criação das seguintes tabelas: CREATE TABLE DEPARTAMENTO (iddepto INTEGER NOT NULL PRIMARY KEY,nomedepto VARCHAR(50) NOT NULL); CREATE TABLE FUNCIONARIO(matricula INTEGER NOT NULL PRIMARY KEY, nomefunc VARCHAR(100) NOT NULL,iddepto INTEGER NOT NULL,CONSTRAINT FKDF FOREIGN KEY(iddepto) REFERENCES DEPARTAMENTO(iddepto)); Ocultar opções de resposta Ocultar opções de resposta Considerando o que você aprendeu sobre linguagem SQL-DML e o comando SELECT com JOIN, é possível afirmar que o comando correto para a seleção de todas as linhas e colunas das tabelas DEPARTAMENTO e FUNCIONARIO criadas é: SELECT iddepto, nomedepto, matricula, nomefunc FROM DEPARTAMENTO D INNER JOIN FUNCIONARIO F ON D.iddepto = F.iddepto; SELECT D.iddepto, D.nomedepto, F.matricula, F.nomefunc FROM DEPARTAMENTO D RIGHT JOIN FUNCIONARIO F ON D.iddepto = F.iddepto; SELECT D.iddepto, D.nomedepto, F.matricula, F.nomefunc FROM DEPARTAMENTO D LEFT JOIN FUNCIONARIO F ON D.iddepto = F.iddepto; SELECT iddepto, nomedepto, matricula, nomefunc FROM DEPARTAMENTO INNER JOIN FUNCIONARIO ON iddepto = iddepto; Resposta correta SELECT D.iddepto, D.nomedepto, F.matricula, F.nomefunc FROM DEPARTAMENTO D INNER JOIN FUNCIONARIO F ON D.iddepto = F.iddepto; Pergunta 4 -- /0 Em um banco de dados, uma Função (ou Function), assim como as Procedures, também é um programa escrito em linguagem Pl/SQL que executa uma ação (geralmente algum tipo de cálculo mais complexo) e necessariamente retorno um resultado na forma de valor ou tabela. Considerando o que você aprendeu sobre Função, é possível afirmar que o comando correto para a criação de uma FUNÇÃO, chamada Quadrado, que retorna o quadrado de um número passado como parâmetro, é: Resposta correta CREATE OR REPLACE FUNCTION Quadrado ( n INTEGER) RETURNS INTEGER AS $$ DECLARE q INTEGER; BEGIN q = n * n; RETURN q; END; $$ LANGUAGE plpgsql; CREATE OR REPLACE FUNCTION Quadrado ( $1 INTEGER) RETURNS INTEGER AS $$ DECLARE q INTEGER; BEGIN q = $1 * $1; RETURN q; END; $$ LANGUAGE plpgsql; CREATE OR REPLACE FUNCTION Quadrado ( n INTEGER) RETURNS INTEGER AS q DECLARE q INTEGER; BEGIN q = n * n; RETURN q; END; $$ LANGUAGE plpgsql; CREATE OR REPLACE FUNCTION Quadrado ( n INTEGER) RETURNS INTEGER AS n * n DECLARE q INTEGER; BEGIN q = n * n; RETURN q; END; $$ LANGUAGE plpgsql; CREATE OR REPLACE FUNCTION Quadrado ( INTEGER) RETURNS INTEGER AS $$ DECLARE q INTEGER; BEGIN q = $1 * $1; RETURN q; END; $$ LANGUAGE plpgsql; Ocultar opções de resposta Pergunta 5 -- /0 O comando SELECT é considerado um comando em linguagem do tipo DQL (Linguagem de Consulta de Dados). Esse comando permite selecionar um ou mais dados (registros) em uma tabela. Uma das partes desse comando é a cláusula WHERE, que permite aplicar filtros sobre os registros selecionados utilizando operadores e conectivos lógicos. Assim, considerando o que você aprendeu sobre a cláusula WHERE, analise os operadores e conectivos lógicos a seguir e associe-os com seus respectivos conceitos. 1)IN 2)LIKE 3)AND 4)OR ( ) Operador lógico que permite verificar se um determinado valor de uma coluna está presente em uma lista de elementos. ( ) Conectivo lógico que representa uma disjunção, ou seja, será V quando uma das proposições for V. ( ) Operador lógico que permite a verificação de coincidências de partes de um trecho de texto menor em um campo texto. ( ) Conectivo lógico que representa uma conjunção, ou seja, será V quando ambas proposições também forem V. Agora, assinale a alternativa que apresenta a sequência correta: Resposta correta1, 4, 2, 3. 3, 1, 2, 4. 2, 4, 3, 1. 4, 1, 2, 3. 1, 2, 4, 3. Pergunta 6 -- /0 Ocultar opções de resposta Em Banco de Dados, quando criamos um cursor, definimos uma espécie de ponteiro para uma porção de dados que queremos analisar. Antes de acessar os dados de fato é necessário iniciar uma espécie de transação, através do comando BEGIN WORK, depois confirmar essa transação através de um COMANDO COMMIT, conforme se pode ver no seguinte exemplo: BEGIN WORK; DECLARE liCIDADE SCROLL CURSOR FOR SELECT * FROM CIDADE; FETCH FORWARD 60 FROM liCIDADE; CLOSE liCIDADE; COMMIT WORK; Considerando o curso criado acima e os conteúdos trabalhados na unidade, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). I. ( ) Esse cursor fará a carga dos 60 primeiros registros contidos na tabela CIDADE. II. ( ) O nome do cursor criado é liCIDADE, e a tabela acessada fisicamente é a tabela CIDADE. III. ( ) Esse cursor fará a carga de todos os registros da tabela CIDADE, que poderão ser acessados em blocos de 60 linhas. IV. ( ) A utilização de *, no comando SELECT, melhora a performance do cursor, uma vez que busca todas as colunas da tabela CIDADE. Agora, assinale a alternativa que apresenta a sequência correta: V, V, F, V. F, F, V, V. F, F, V, F. V, F, F, V. Resposta corretaV, V, F,F. Pergunta 7 -- /0 Em Banco de Dados, um trigger (ou Gatilho) é um procedimento executado sempre que um evento de inserção, alteração ou deleção de registros em uma tabela ocorre. Esse tipo de recurso é muito utilizado para ajudar a manter a consistência dos dados ou para propagar alterações em um determinado dado de uma tabela para outras, por exemplo. Considere o seguinte exemplo de criação de Trigger. CREATE OR REPLACE FUNCTION CriaLogPessoa () RETURNS trigger AS $trigger_nomeUF$ Ocultar opções de resposta BEGIN INSERT INTO LOGPESSOA (log_id, data_criacao) VALUES (new.id_pessoa, CURRENT_TIMESTAMP); RETURN NEW; END; $trigger_nomeUF$ LANGUAGE plpgsql; CREATE TRIGGER CriaLogPessoa AFTER INSERT ON PESSOA FOR EACH ROW EXECUTE PROCEDURE CriaLogPessoa(); Considerando o texto-base e os conteúdos estudados na unidade, pode-se afirmar, a respeito do comando para criação da Trigger CriaLogPessoa, que: Resposta correta a Trigger CriaLogPessoa é acionada toda vez que há uma inserção de dados na tabela pessoa na qual um arquivo de log é gerado com a informação do id da pessoa inserida e a data/hora do evento. a Trigger CriaLogPessoa é acionada toda vez que há uma deleção de dados na tabela pessoa na qual um arquivo de log é gerado com a informação do id da pessoa inserida e a data/hora do evento. a Trigger CriaLogPessoa é acionada toda vez que tabela pessoa sofre alguma transação na qual um arquivo de log é gerado com a informação do id da pessoa inserida e a data/hora do evento. a Trigger CriaLogPessoa é acionada toda vez que há uma alteração de dados na tabela pessoa na qual um arquivo de log é gerado com a informação do id da pessoa inserida e a data/hora do evento. a Trigger CriaLogPessoa é acionada toda vez que há uma inserção, alteração ou deleção de dados na tabela pessoa, na qual um arquivo de log é gerado com a informação do id da pessoa inserida e a data/hora do evento. Pergunta 8 -- /0 Considere os comandos de criação das seguintes tabelas: CREATE TABLE LOJA (idloja INTEGER NOT NULL PRIMARY KEY,nomeloja VARCHAR(50) NOT NULL); CREATE TABLE PRODUTO (idproduto INTEGER NOT NULL PRIMARY KEY, nomeproduto VARCHAR(100) NOT NULL,idloja INTEGER,CONSTRAINT FKLP FOREIGN KEY(idloja) REFERENCES LOJA(idloja)); Ocultar opções de resposta Considerando o que você aprendeu sobre linguagem SQL-DML e o comando SELECT com JOIN, é possível afirmar que o comando correto para a seleção de todas as linhas e colunas das tabelas LOJA e PRODUTO, incluindo para aquelas lojas que não tenham produtos nela cadastrados, é: SELECT L.idloja, L.nomeloja, P.idproduto, P.nomeproduto FROM LOJA L INNER JOIN PRODUTO P ON idloja = idloja; SELECT L.idloja, L.nomeloja, P.idproduto, P.nomeproduto FROM LOJA L JOIN PRODUTO P ON L.idloja = P.idloja; SELECT L.idloja, L.nomeloja, P.idproduto, P.nomeproduto FROM LOJA L INNER JOIN PRODUTO P ON L.idloja = P.idloja; SELECT L.idloja, L.nomeloja, P.idproduto, P.nomeproduto FROM LOJA L RIGHT JOIN PRODUTO P ON L.idloja = P.idloja; Resposta correta SELECT L.idloja, L.nomeloja, P.idproduto, P.nomeproduto FROM LOJA L LEFT JOIN PRODUTO P ON L.idloja = P.idloja; Pergunta 9 -- /0 Apesar de oferecer a opção para criação de function, todo Sistema de Gerenciamento de Banco de Dados oferece um conjunto de Funções que já vêm implementadas, e que podem ser usadas para auxiliar na realização de diversas tarefas. Essas funções são conhecidas como funções internas, e podem realizar cálculos complexos, cálculos com datas, conversão de valores ou trabalhar com campos do tipo texto, por exemplo.Assim, considerando as informações apresentadas e os conteúdos estudados a respeito das funções, analise as funções citadas a seguir e associe-as com seus respectivos valores de retorno. 1) current_timestamp 2) length 3) trim 4) upper ( ) Retorna a data e hora atual no formato aaaa-mm-dd hh:mm:ss.ss. ( ) Retorna o maiúsculo de um valor passado string como parâmetro. ( ) Retorna a quantidade de caracteres de um valor passado string como parâmetro. ( ) Retorna o um valor passado string como parâmetro sem espaços em branco na esquerda e na direita. Agora, assinale a alternativa que apresenta a sequência correta: Ocultar opções de resposta 4, 1, 2, 3. 1, 2, 4, 3. Resposta correta1, 4, 2, 3. 3, 1, 2, 4. 2, 4, 3, 1. Pergunta 10 -- /0 Nas linguagens de programação temos basicamente três tipos de estruturas: sequencial, condicional e repetição. A estrutura sequencial indica que os comandos devem ser executados em sequência; a condicional considera uma condição para que uma instrução seja executada; já a estrutura de repetição permite executar mais de uma vez um determinado trecho de código. Em Banco de Dados, podemos implementar essas estruturas através das Funções. Veja o comando SQL para criação da seguinte tabela: CREATE TABLE usuario ( login VARCHAR(50) NOT NULL PRIMARY KEY, senha VARCHAR(20) NOT NULL); Considere a seguinte função: CREATE OR REPLACE FUNCTION MostraQtdadeUsuario() RETURNS INTEGER AS $$ DECLARE viewUF RECORD; qtdadeUsuario INTEGER; BEGIN qtdadeUsuario = 1; FOR viewUF IN SELECT * FROM usuario LIMIT 4 LOOP qtdadeUsuario = qtdadeUsuario + 1; END LOOP; RETURN qtdadeUsuario*qtdadeUsuario; END; $$ LANGUAGE plpgsql; Assim, supondo que você tenha inserido 8 registros na tabela usuário criada, é possível afirmar que o valor de retorno da função MostraQtdadeUsuario() é: Ocultar opções de resposta 16. 8. 64. 4. Resposta correta25.
Compartilhar