Baixe o app para aproveitar ainda mais
Prévia do material em texto
GRA0244 BANCO DE DADOS CCOMP - 202010.ead- 4717.01 Teste ATIVIDADE 3 (A3) Iniciado 02/04/20 00:39 Enviado 02/04/20 01:38 Status Completada Resultado da tentativa 8 em 10 pontos Tempo decorrido 58 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários • Pergunta 1 1 em 1 pontos Uma das manipulações que existem em banco de dados é a exclusão de registros em tabelas e em SQL. O comando para esta finalidade é o DELETE. A sintaxe deste comando envolve especificar qual a tabela que está sendo afetada e um filtro para indicar quais registros devem ser excluídos pelo comando. Em um sistema de registro de áreas agrícolas, na tabela PLANTIO existem os seguintes registros: Código Município Área Produto Data Colheita 1 Alegre 32,50 Tomate 20/02/2019 2 Linhares 54,70 Mamão 05/03/2019 3 Sooretama 47,30 Tomate 10/03/2019 4 Linhares 52,10 Café 25/02/2019 5 Colatina 35,80 Café 18/02/2019 6 Linhares 43,70 Mamão 03/03/2019 Fonte: Elaborado pelo autor. O seguinte comando foi executado no banco de dados: DELETE FROM PLANTIO WHERE (AREA < 40) OR (MUNICIPIO = ‘Linhares’ AND AREA > 50) Quantas linhas foram afetadas por este comando? Resposta Selecionada: 4 Resposta Correta: 4 Feedback da resposta: Resposta correta. A alternativa está correta, pois, pela condição (AREA < 40), as linhas 1 e 5 serão afetadas e, pela condição (MUNICIPIO = ‘Linhares’ AND AREA > 50), as linhas 2 e 4 atendem à condição. Portanto, 4 linhas serão afetadas. • Pergunta 2 1 em 1 pontos A álgebra relacional é uma linguagem formal aprendida ao se estudar banco de dados, pois as suas operações permitem entender como as manipulações de linhas e colunas podem ser realizadas em uma tabela. O seu conjunto de operações apresentam uma sintaxe e um objetivo, que é atingido ao ser aplicado em uma relação. Analise as operações presentes na álgebra relacional e associe com seus objetivos ou funcionalidades ao ser aplicada a uma relação. I) Projeção (π). II) Seleção (σ). III) Produto Cartesiano ( x ). IV) Interseção. Realize, agora, a associação com os objetivos das operações. ( ) Permite selecionar as linhas ou tuplas em uma relação. ( ) Combina duas relações, cada tupla sendo combinada com tuplas da outra relação. ( ) Gera relação em que cada tupla deve existir em duas outras relações usadas na operação. ( ) Permite selecionar as colunas em uma relação. A partir das relações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: Resposta Selecionada: II, III, IV, I. Resposta Correta: II, III, IV, I. Feedback da resposta: Resposta correta. A alternativa está correta com a sequência II, III, IV, I. Seguindo essa sequência, a Seleção (sigma) (item II) é a operação que filtra as linhas em uma relação. O produto cartesiano (Item III), de fato, faz um processo combinatório com cada nova linha da relação, combinando um item de uma relação com um item de outra relação. O Item IV, Interseção, é a mesma operação conhecida de teoria de conjuntos, que gera um novo conjunto em um que o elemento é considerado apenas se ele pertencer aos outros dois conjuntos. E a projeção (item I), de fato, é a operação que seleciona quais colunas farão parte da relação resultante. • Pergunta 3 1 em 1 pontos A álgebra relacional fornece um conjunto de operadores que podem ser aplicados sobre relações e propõe uma sintaxe para combinar operadores e ainda processar condições lógicas com operações como E e OU lógicos. Para extrair um resultado a partir de uma relação, foi necessário formular uma sentença em álgebra linear. O cenário é o de uma locadora de automóveis, e a relação CARRO está apresentada a seguir com alguns valores: Codigo Fabricante Modelo Ano 1 Ford Fiesta 2016 2 Fiat Uno 2018 3 Renault Clio 2014 Fonte: Elaborado pelo autor. A consulta a ser feita é para saber, na lista de carros da locadora, qual o código e o modelo de carros com ano superior ou igual a 2015 e da marca Ford. Qual sentença atende a esta consulta em álgebra relacional? . Resposta Selecionada: π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) Resposta Correta: π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) Feedback da resposta: Resposta correta. A alternativa está correta, pois está aplicando primeiro (na parte mais interna junto à relação CARRO) a operação de seleção (σ) com o operador lógico E (^) e combinando as duas condições para ano e fabricante. Depois, na parte mais externa, ela aplica a projeção (π) escolhendo apenas as colunas Codigo e Modelo da relação. • Pergunta 4 1 em 1 pontos Em um sistema, existem diversas demandas por informação que são traduzidas em comandos de SELECT com a especificação das colunas, das tabelas onde recuperar os dados e com os filtros através de um conjunto variado de operadores e combinadores lógicos. Em um sistema de gestão de cursos de uma instituição de ensino superior, uma breve parte do modelo apresenta a definição exposta a seguir. O campo carga horária indica quantas horas a disciplina tem e o campo obrigatória indica se a disciplina é obrigatória (‘S’) de sim ou opcional com (‘N’) de não. DISCIPLINA (COD_DISCIPLINA, DCR_DISCIPLINA, CARGA_HORARIA, OBRIGATORIA, COD_CURSO (FK)) CURSO (COD_CURSO, DCR_CURSO) A instituição está fazendo um levantamento para enxugar alguns cursos e daí está pesquisando por disciplinas que são opcionais ou que possuam carga horária inferior a 40 horas. A sentença que melhor reflete esta consulta é: Resposta Selecionada: SELECT DISCIPLINA FROM DISCIPLINA WHERE CARGA_HORARIA < 40 OR OBRIGATORIA = ‘N’ Resposta Correta: SELECT DISCIPLINA FROM DISCIPLINA WHERE CARGA_HORARIA < 40 OR OBRIGATORIA = ‘N’ Feedback da resposta: Resposta correta. A alternativa está correta, pois a cláusula usa o operador OR e com os valores certos, de forma que serão retornadas as linhas com CARGA_HORARIA menor que 40 e com obrigatória = ‘N’ (isto é, opcionais). Nos campos, basta vir a descrição da disciplina; para efeito de levantamento, está coerente, a ideia é identificar as disciplinas. • Pergunta 5 1 em 1 pontos Os comandos de SQL para manipulação de dados (DML) podem ser executados através de uma ferramenta administrativa, ou eles são executados internamente por um software ao se codificar uma funcionalidade do sistema. Imagine que um Módulo de Sistema de Recursos Humanos possui uma função que é aplicar um reajuste de um determinado valor para todos os funcionários de um determinado setor. Essa situação pode ocorrer por conta de uma negociação de reajuste anual para a categoria de funcionários, por exemplo. Considerando que, em determinado ano, o reajuste foi de 3,5%, qual comando a seguir deve ter sido disparado pela função interna do sistema responsável por este reajuste? Resposta Selecionada: UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100) WHERE COD_SETOR = 10 Resposta Correta: UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100) WHERE COD_SETOR = 10 Feedback da resposta: Resposta correta. A alternativa está correta, pois o comando para alteração de dados é o UPDATE e, no caso, o salário será igual ao salário anterior mais 3.5% (3.5/10) aplicado ao salário. E isso para um determinado COD_SETOR, no caso usado, o COD_SETOR = 10. • Pergunta 6 1 em 1 pontos O Sistema de Gerenciamento de Banco de Dados relacionais (SGBD), desde a sua criação em 1970, tem tido forte sucesso na Tecnologia de Informação. Conforme Elmasri e Navathe (2011), o sucesso destes SGBDs deve-se auma linguagem que oferece uma interface de linguagem declarativa de nível mais alto na qual o usuário apenas especifica qual deve ser o resultado esperado, deixando a otimização e as decisões sobre como executar a consulta para o SGBD. ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011. A linguagem a que se refere os comentários de Elmasri e Navathe (2011) é a: Resposta Selecionada: SQL Resposta Correta: SQL Feedback da resposta: Resposta correta. A alternativa está correta, pois, de fato, o SQL é a linguagem bastante empregada em SGBDs e usada para expressar e declarar o que se deseja, deixando para o SGBD a tarefa de processamento. Isso torna seu uso bastante prático. • Pergunta 7 0 em 1 pontos Em um banco de dados, as necessidades de informação do usuário podem ser traduzidas em comandos de SELECT, principalmente a edição dos filtros, isto é, as condições que fazem parte da cláusula WHERE. Em um sistema de clínica médica, existe uma tabela de pacientes com a seguinte especificação. PACIENTE (CODIGO, NOME, CPF, TELEFONE, SEXO, IDADE, BAIRRO) Neste sistema, existe a necessidade de recuperar especificamente o nome e telefone das pacientes do sexo feminino que moram em pelo menos um dos dois bairros mais próximos da clínica, o bairro Barra e o bairro Graça. O comando de SELECT que permite atender a esta necessidade é Resposta Selecionada: SELECT NOME, TELEFONE FROM PACIENTE WHERE SEXO = ‘F’ AND (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’) Resposta Correta: SELECT NOME, TELEFONE FROM PACIENTE WHERE SEXO = ‘F’ OR (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’) Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, pois a condição correta seria SEXO = ‘F’ AND (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’) recupera as linhas que possuem pacientes de sexo feminino E (and) que morem na Barra ou na Graça, conforme requisitado. Caso esteja diferente disso, algumas das situações a seguir podem ter ocorrido. Ou sexo está combinado com o operador OR na condição de bairro, o que estaria errado. Ou então, na condição de bairro, o operador usado foi AND, e não faz sentido (a princípio, tendo o modelo como base) uma paciente morar em dois bairros ao mesmo tempo. Ou ainda pode ter faltado o campo telefone na lista de colunas do SELECT e o uso do operador NOT está inconsistente. • Pergunta 8 0 em 1 pontos O SQL (de Structured Query Language) é uma linguagem para o trato com os dados e apresenta um conjunto vasto de comandos que são divididos em partes da linguagem como a DDL e a DML. A DDL, que no português seria Linguagem para Definição de Dados (do inglês, Data Definition Language), trata de comandos para estruturação dos componentes de dados, e a DML (do inglês, Data Manipulation Language) engloba comandos para manipular registros nas tabelas. Analise as alternativas a seguir e marque a que representa um comando de DML: Resposta Selecionada: ADD COLUMN Resposta Correta: DELETE Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, visto que o comando DROP serve para excluir componentes do banco, e não para excluir registros, por isso o DROP INDEX é uma opção de DDL. O CREATE VIEW também cria um componente na estrutura do banco, uma view, portanto é DDL. A ADD COLUMN é uma cláusula que pode ser usada no ALTER TABLE ao definir uma estrutura de uma tabela, portanto um comando de DDL. O ALTER TABLE muda a estrutura de uma tabela, e não os seus registros, comando de DDL também. • Pergunta 9 1 em 1 pontos Um dos comandos mais versáteis para o uso com banco de dados é o SELECT. Ele permite recuperar os registros de tabelas; sua sintaxe envolve a especificação das tabelas, quais colunas recuperar e os filtros que podem envolver operadores de comparação (>, <, =,...), outros como AND, OR, NOT e ainda existe o like e between. Para cada um dos operadores a seguir associe com sua funcionalidade em um comando SELECT: I. like II. between III. and IV. <> Associe os operadores com as funções dele em um comando de SQL: ( ) Permite combinar duas condições via uma operação lógica. ( ) Permite avaliar se um valor está entre dois limites. ( ) Permite avaliar se um campo de caracteres tem um padrão, contém alguma palavra. ( ) Permite avaliar se dois valores são diferentes entre si. Assinale a alternativa que apresenta a sequência correta: Resposta Selecionada: III, II, I, IV Resposta Correta: III, II, I, IV Feedback da resposta: Resposta correta. A alternativa está correta, pois o and (Item III) é um operador lógico para combinar duas condições e o between (Item II) permite checar faixa de valores, “idade between 20 and 35” verifica se uma idade é maior que 20 e menor que 35. O like (item I) permite avaliar padrões de campos de caracteres, por exemplo, nome like ‘%Maria%” verifica se o nome contém a palavra Maria e o operador ‘<>’ (item IV) é um operador diferente, para checar se dois valores são diferentes. • Pergunta 10 1 em 1 pontos Na construção de um banco de dados, em seu início, um projetista de dados compreende os requisitos de um sistema e faz a modelagem de dados criando um modelo de entidade e relacionamento ou um modelo relacional. A partir do modelo, os comandos de DDL (Data Definition Language) são usados para criar as tabelas e outras definições no banco de dados. Para um certo sistema, uma parte do modelo de dados está mostrado a seguir. [1] Fonte: Elaborada pelo autor. Existe a necessidade de criar um comando para gerar a tabela de BAIRRO com todos os campos e restrições, que, considerando que todos os campos são obrigatórios, precisam ser preenchidos na manipulação dos registros. O comando para esta criação da tabela é: Resposta Selecionada: CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, DCR_BAIRRO VARCHAR(50) NOT NULL, COD_CIDADE INTEGER NOT NULL, PRIMARY KEY (COD_BAIRRO) , FOREING KEY (COD_CIDADE) REFERENCES CIDADE (COD_CIDADE) ); Resposta Correta: CREATE TABLE BAIRRO ( COD_BAIRRO INTEGER NOT NULL, DCR_BAIRRO VARCHAR(50) NOT NULL, COD_CIDADE INTEGER NOT NULL, PRIMARY KEY (COD_BAIRRO) , FOREING KEY (COD_CIDADE) REFERENCES CIDADE (COD_CIDADE) ); Feedback da resposta: Resposta correta. A alternativa está correta pois apresenta todas as definições necessárias, os campos COD_BAIRRO, DCR_BAIRRO, COD_CIDADE e a chave primária (PRIMARY KEY) e a chave estrangeira (FOREIGN KEY), tudo definido corretamente.
Compartilhar