Prévia do material em texto
<p>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.</p><p>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.</p><p>DISCIPLINA (COD_DISCIPLINA, DCR_DISCIPLINA,</p><p>CARGA_HORARIA, OBRIGATORIA,</p><p>COD_CURSO (FK))</p><p>CURSO (COD_CURSO, DCR_CURSO)</p><p>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.</p><p>A sentença que melhor reflete esta consulta é:</p><p>a.</p><p>SELECT DISCIPLINA FROM DISCIPLINA</p><p>WHERE CARGA_HORARIA < 40 AND OBRIGATORIA = ‘N’</p><p>b.</p><p>SELECT * FROM DISCIPLINA</p><p>WHERE CARGA_HORARIA < 40 AND OBRIGATORIA = ‘S’</p><p>c.</p><p>SELECT DISCIPLINA, CARGA_HORARIA, OBRIGATORIA FROM DISCIPLINA</p><p>WHERE CARGA_HORARIA > 40 AND OBRIGATORIA = ‘S’</p><p>d.</p><p>SELECT DCR_DISCIPLINA FROM DISCIPLINA</p><p>WHERE CARGA_HORARIA < 40 OR OBRIGATORIA = ‘N’</p><p>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.</p><p>e.</p><p>SELECT * FROM DISCIPLINA</p><p>WHERE CARGA_HORARIA < 40 OR OBRIGATORIA = ‘S’</p><p>Feedback</p><p>A resposta correta é: SELECT DCR_DISCIPLINA FROM DISCIPLINA</p><p>WHERE CARGA_HORARIA < 40 OR OBRIGATORIA = ‘N’</p><p>Questão 2</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>As alterações em tabelas no banco de dados são realizadas pelo comando UPDATE, e, para consultar os dados, o comando usado é o SELECT. Estes dois comandos são parte da DML (Data Manipulation Language) em que estão outros comandos como o INSERT e DELETE, todos eles para manterem as informações dos registros.</p><p>Em um sistema de uma escola, houve a necessidade de fazer um ajuste em uma nota do aluno. Antes de ser executado o ajuste, o aluno tinha uma nota1 de valor 7,0. O ajuste feito foi o seguinte:</p><p>UPDATE NOTA_ALUNO</p><p>SET NOTA1 = NOTA1 + 1.0</p><p>WHERE MATRICULA = 201901221;</p><p>SELECT NOTA1 FROM NOTA_ALUNO WHERE MATRICULA = 201901221</p><p>O valor a ser visualizado pelo comando de SELECT após o update de ajuste será:</p><p>a.</p><p>7,0</p><p>b.</p><p>9,0</p><p>c.</p><p>6,0</p><p>d.</p><p>5,0</p><p>e.</p><p>8,0</p><p>Resposta correta. A alternativa está correta, pois com um valor de nota1 antes do ajuste com valor igual a 7 e com o ajuste em que NOTA1=NOTA1 + 1, este valor será ajustado para 8 (1 ponto adicional).</p><p>Feedback</p><p>A resposta correta é: 8,0</p><p>Questão 3</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>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:</p><p>Codigo</p><p>Fabricante</p><p>Modelo</p><p>Ano</p><p>1</p><p>Ford</p><p>Fiesta</p><p>2016</p><p>2</p><p>Fiat</p><p>Uno</p><p>2018</p><p>3</p><p>Renault</p><p>Clio</p><p>2014</p><p>Fonte: Elaborado pelo autor.</p><p>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?</p><p>.</p><p>a.</p><p>π Codigo, Modelo ( σ ano >= 2015 ̌ Fabricante=Ford ( CARRO ) ).</p><p>b.</p><p>σ ano >= 2015 ̌ Fabricante=Ford ( π Codigo, Modelo ( CARRO ) ).</p><p>c.</p><p>π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) )</p><p>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.</p><p>d.</p><p>σ Codigo, Modelo ( π ano >= 2015 ^ Fabricante=Ford ( CARRO ) )</p><p>e.</p><p>π ano >= 2015 ̌ Fabricante=Ford ( σ Codigo, Modelo ( CARRO ) )</p><p>Feedback</p><p>A resposta correta é: π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) )</p><p>Questão 4</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>Após a etapa de modelagem, é necessária a criação dos elementos que vão acomodar os dados e suas restrições; é a etapa em que as tabelas são criadas junto com chave primária, chave estrangeira e outros elementos que estruturam um banco de dados. A DDL (Data Definition Language) é uma parte da SQL responsável por comandos com esta finalidade.</p><p>A respeito de alguns comandos e termos empregados na execução de comandos de DDL, analise as sentenças a seguir e assinale (V) para verdadeiro e (F) para falso.</p><p>I. ( ) A palavra CONSTRAINT pode ser empregada na definição de chaves estrangeiras e primárias.</p><p>II ( ) DROP TABLE é o comando usado para excluir uma tabela no banco de dados.</p><p>III. ( ) ADD COLUMN é parte de um comando e é usado em geral com comandos de ALTER TABLE.</p><p>IV. ( ) NUMERIC é uma palavra usada na definição de campos que aceitam números, em geral, com decimais.</p><p>Conforme as associações realizadas assinale a alternativa correta:</p><p>a.</p><p>V, V, F, F</p><p>b.</p><p>V, F, V, F</p><p>c.</p><p>F, V, F, V</p><p>d.</p><p>V, V, V, V</p><p>Resposta correta. A alternativa está correta, pois o item I é verdadeiro; apesar de não ser obrigatório, o termo CONSTRAINT diz respeito a restrições, e as mais comuns, em que é usado na definição de chaves primárias e estrangeiras. O item II é verdadeiro, a exclusão de componentes do banco de dados é feita por DROP, por exemplo, DROP TABLE, DROP VIEW e outros. O item III é verdadeiro, pois, quando é necessário adicionar colunas em uma tabela já criada, o ADD COLUMN é usado como parte do ALTER TABLE. Por fim, o item IV é verdadeiro, pois campos que guardam valores com decimais são definidos com NUMERIC.</p><p>e.</p><p>F, F, V, V</p><p>Feedback</p><p>A resposta correta é: V, V, V, V</p><p>Questão 5</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>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 a uma 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.</p><p>ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011.</p><p>A linguagem a que se refere os comentários de Elmasri e Navathe (2011) é a:</p><p>a.</p><p>DDL</p><p>b.</p><p>XML</p><p>c.</p><p>DCL</p><p>d.</p><p>DML</p><p>e.</p><p>SQL</p><p>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.</p><p>Feedback</p><p>A resposta correta é: SQL</p><p>Questão 6</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>A linguagem SQL é bastante ampla e possui comandos e subconjuntos deles com propósitos, tais como definir a estruturação dos dados, manipular os registros de tabelas e ainda para gerenciamento de outros elementos em um SGBD, por exemplo, usuários, permissões, backup, restauração e outros.</p><p>Em relação a alguns comandos de SQL, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s)</p><p>e (F) para a(s) falsa(s).</p><p>I. ( ) O INSERT é um comando de DDL e é responsável por criar tabelas e realizar as inserções de seus registros.</p><p>II. ( ) O ALTER TABLE é um comando de DDL e pode ser usado, por exemplo, para adicionar ou excluir uma coluna da tabela.</p><p>III. ( ) O UPDATE é um comando de DML responsável pela alteração dos registros em tabelas, por exemplo, mudar o nome de um certo cliente.</p><p>IV. ( ) O DROP é um comando de DML responsável por excluir as linhas de uma tabela, por exemplo, excluir um certo produto.</p><p>A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:</p><p>a.</p><p>V, V, V, V.</p><p>b.</p><p>F, V, F, F.</p><p>c.</p><p>V, V, F, V.</p><p>d.</p><p>F, F, V, F.</p><p>e.</p><p>F, V, V, F.</p><p>Resposta correta. A alternativa é a correta. Na sequência dos itens, o item I é falso, o comando INSERT não é de DDL (definição de dados), ele é de DML (manipulação de dados) e, além disso, não é responsável por criar tabelas, apenas inserções de registros. O comando para criar tabela é o CREATE TABLE, este sim de definição de dados (DDL). O item II é verdadeiro, pois adicionar ou excluir colunas são alterações em tabelas feitas por ALTER TABLE (definição de dados - DDL). O item III é verdadeiro, pois o UPDATE muda valores em registros (manipulação de dados - DML) como no caso de mudança de nomes. O item IV é falso; o DROP é usado para excluir elementos da estrutura dos dados, por exemplo, excluir tabelas, views, índices, e é um comando de DDL. O certo seria usar o comando DELETE para excluir linhas.</p><p>Feedback</p><p>A resposta correta é: F, V, V, F.</p><p>Questão 7</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>Ao utilizar comandos de DDL (data definition language), o usuário do banco de dados pode criar, modificar ou excluir objetos em um banco de dados. O comando de CREATE TABLE, por exemplo, cria tabelas que basicamente são um conjunto de campos com seus tipos de dados e de restrições como chave primária e chave estrangeira. Em um sistema bancário, existe uma tabela TRANSACAO que foi criada com o seguinte comando:</p><p>CREATE TABLE TRANSACAO</p><p>(COD_TRANSACAO INTEGER NOT NULL,</p><p>COD_CONTA INTEGER NOT NULL,</p><p>DATA DATETIME NOT NULL,</p><p>VALOR NUMERIC(9,2) NOT NULL,</p><p>TIPO CHAR(1) NOT NULL,</p><p>RESGATE CHAR(1) NOT NULL,</p><p>FOREIGN KEY (COD_CONTA) REFERENCES CONTA(COD_CONTA) )</p><p>Alguns campos possuem o nome intuitivo, já para TIPO vale esclarecer que este campo indica o tipo de transação, Crédito ou Débito. O campo RESGATE indica se a transação foi resultado de um resgate de aplicação. Considerando apenas o comando de CREATE TABLE apresentado, analise as sentenças a seguir e assinale (V) para a(s) opções verdadeiras ou (F) para as falsas.</p><p>I. ( ) O campo COD_TRANSACAO não pode ter valores repetidos, pois é chave primária.</p><p>II. ( ) O campo COD_CONTA não aceita valores com números decimais.</p><p>III. ( ) O campo RESGATE pode não ter valores atribuídos a este campo.</p><p>IV. ( ) O campo COD_CONTA só pode ter valores que existam no campo código de CONTA.</p><p>A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:</p><p>a.</p><p>V, V, F, V.</p><p>b.</p><p>V, V, V, F.</p><p>c.</p><p>F, V, F, V.</p><p>Resposta correta. A alternativa está correta, pois o item I é falso, uma vez que não há no comando a cláusula de primary key, portanto esta restrição não foi estabelecida e pode haver valores repetidos de código na tabela. O item II é verdadeiro, como o campo COD_CONTA é INTEGER, apenas valores inteiros (sem decimais) devem ser aceitos. O item III é falso, pois o campo RESGATE é not null, portanto é obrigatório ter um valor atribuído a este campo. Por fim, o item IV é verdadeiro; o campo COD_CONTA é uma chave estrangeira que aponta para o campo CÓDIGO na tabela de conta, portanto apenas valores de código presentes na tabela conta são válidos para este campo COD_CONTA na tabela de TRANSACAO.</p><p>d.</p><p>F, F, F, F.</p><p>e.</p><p>F, F, V, F.</p><p>Feedback</p><p>A resposta correta é: F, V, F, V.</p><p>Questão 8</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>De acordo com Elmasri e Navathe (2011), o modelo relacional foi introduzido, em 1970, via um artigo clássico de CODD. Esta teoria de modelo relacional deu origem aos sistemas gerenciadores de bancos de dados relacionais (SGBDs) que têm sido amplamente empregados por aproximadamente 50 anos.</p><p>ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011.</p><p>Em relação a esses SGBDs relacionais, analise as sentenças a seguir:</p><p>I. Um dos motivos de sucesso dos SGBDs relacionais é a linguagem SQL, que serve para expressar os comandos que devem ser executados pelo SGBD</p><p>Porque:</p><p>II. Como essa linguagem (SQL) tornou-se um padrão, os usuários apresentam menos dificuldades para migrar suas aplicações; por exemplo, um usuário insatisfeito com um SGBD comercial pode implantar sua aplicação em outro SGBD com esforço e custo mais controlado.</p><p>A seguir, assinale a alternativa correta:</p><p>a.</p><p>As asserções I e II são proposições falsas.</p><p>b.</p><p>As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.</p><p>c.</p><p>A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.</p><p>d.</p><p>As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.</p><p>Resposta correta. A alternativa está correta, pois as duas sentenças estão certas e a linguagem SQL é, de fato, um dos fatores de sucesso dos SGBDs comerciais. Isso porque, como ela se tornou um padrão de mercado, vários fabricantes mantêm compatibilidade, desenvolvedores de tecnologia falam a mesma “linguagem”, o que possibilitou um vasto uso no mercado de TI.</p><p>e.</p><p>A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.</p><p>Feedback</p><p>A resposta correta é: As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.</p><p>Questão 9</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>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.</p><p>Para cada um dos operadores a seguir associe com sua funcionalidade em um comando SELECT:</p><p>I. like</p><p>II. between</p><p>III. and</p><p>IV. <></p><p>Associe os operadores com as funções dele em um comando de SQL:</p><p>( ) Permite combinar duas condições via uma operação lógica.</p><p>( ) Permite avaliar se um valor está entre dois limites.</p><p>( ) Permite avaliar se um campo de caracteres tem um padrão, contém alguma palavra.</p><p>( ) Permite avaliar se dois valores são diferentes entre si.</p><p>Assinale a alternativa que apresenta a sequência correta:</p><p>a.</p><p>III, I, II, IV</p><p>b.</p><p>II, I, IV, III</p><p>c.</p><p>I, IV, III, II</p><p>d.</p><p>III, II, I, IV</p><p>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.</p><p>e.</p><p>III, IV, I, II</p><p>Feedback</p><p>A resposta correta é: III, II, I, IV</p><p>Questão 10</p><p>Correto</p><p>Atingiu 1,00 de 1,00</p><p>Marcar questão</p><p>Texto da questão</p><p>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.</p><p>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.</p><p>Analise as alternativas a seguir e marque a que representa um comando de DML:</p><p>a.</p><p>ADD COLUMN</p><p>b.</p><p>CREATE VIEW</p><p>c.</p><p>ALTER TABLE</p><p>d.</p><p>DELETE</p><p>Resposta correta. A alternativa está correta, os comandos típicos de DML são o SELECT, INSERT, UPDATE e DELETE para consultar, inserir, alterar e excluir registros respectivamente, portanto DELETE está nesta categoria de comandos. Todos os outros comandos dizem respeito à criação de algo na estrutura do banco de dados, logo são comandos de DDL.</p><p>e.</p><p>DROP INDEX</p><p>Feedback</p><p>A resposta correta é: DELETE</p><p>image1.wmf</p><p>image2.wmf</p>