Prévia do material em texto
Pergunta 1 0 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); 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: Sua resposta está incorreta. A alternativa está incorreta, pois é preciso conter a chave primária e a chave estrangeira. e quando completa, com todos os campos e estas chaves primária e estrangeira, a chave estrangeira deve ser definida baseada em COD_CIDADE. Pergunta 2 0 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: MODIFY 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: Sua resposta está incorreta. A sentença para atualização do salário deveria ser de “SET SALARIO = SALARIO + SALARIO * (3.5/100)”, com comando de UPDATE e com filtro usado para SETOR. Alguma situação dentre as seguintes pode estar errada. Ou o comando está com a sentença “SET SALARIO = SALARIO * (3.5/100)” sem a devida soma com o Salário anterior. Ou então foi usado o filtro para “COD_CARGO = 10”, e não “COD_SETOR = 10. Ou ainda, a sentença escolhida está com comando MODIFY, e não o comando UPDATE. Pergunta 3 1 em 1 pontos A álgebra relacional prevê um conjunto de operações para manipular as tuplas de uma relação, por exemplo para selecionar linhas ou colunas, ou ainda combinando relações de diversas formas, e sua escrita segue um formalismo matemático semelhante às fórmulas comumente encontradas nesta área. Considerando um determinado cenário de locações de imóveis, a relação “IMOVEL” apresenta os seguintes atributos. IMOVEL( CODIGO, PROPRIETARIO, NUM_QUARTOS, NUM_BANHEIROS, GARAGEM) A operação em Álgebra Relacional para selecionar as linhas com imóveis com até três quartos é: Resposta Selecionada: σ num_quartos<=3 (IMOVEL) Resposta Correta: σ num_quartos<=3 (IMOVEL) Feedback da resposta: Resposta correta. A alternativa está correta, a operação de seleção na álgebra relacional é expressa por σ e a cláusula lógica está correta com número de quartos menor ou igual a 3. Pergunta 4 1 em 1 pontos 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. Em relação a alguns comandos de SQL, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s). I. ( ) O INSERT é um comando de DDL e é responsável por criar tabelas e realizar as inserções de seus registros. II. ( ) O ALTER TABLE é um comando de DDL e pode ser usado, por exemplo, para adicionar ou excluir uma coluna da tabela. 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. IV. ( ) O DROP é um comando de DML responsável por excluir as linhas de uma tabela, por exemplo, excluir um certo produto. A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: Resposta Selecionada: F, V, V, F. Resposta Correta: F, V, V, F. Feedback da resposta: 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. Pergunta 5 1 em 1 pontos Em um modelo relacional, os conceitos de chaves são relevantes. As chaves primárias servem para identificar as linhas em uma tabela e, para o caso da chave estrangeira, ela permite estabelecer a restrição de que um valor depende de outro valor em outra tabela. Por exemplo, em um sistema de uma universidade, uma disciplina pertence a um curso e um curso pode conter várias disciplinas. A especificação destas tabelas pode ser compreendida a seguir; os campos em sublinhado são chaves primárias. DISCIPLINA (COD_DISCIPLINA, DCR_DISCIPLINA, COD_CURSO (FK)) CURSO(COD_CURSO, DCR_CURSO) A respeito dos comandos para criação das chaves primárias e estrangeiras deste modelo, analise as sentenças a seguir e assinale (V) para a(s) verdadeira(s) e (F) para as falsa(s): I. ( ) Para criar a chave primária de disciplina, pode-se adicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE “ PRIMARY KEY (COD_DISCIPLINA) ” II. ( ) Para criar a chave estrangeira na tabela disciplina, pode-se adicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE “ FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ” III. ( ) Uma outra forma de criar uma chave estrangeira é via o comando ALTER TABLE, e, para a chave estrangeira na tabela disciplina, pode ser usado desta forma “ ALTER TABLE DISCIPLINA ADD FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ” IV. ( ) Para criar uma chave primária, é possível também usar o comando a seguir “ ALTER TABLE DISCIPLINA ADD CONSTRAINT ‘PK_DISC’ PRIMARY KEY (COD_DISCIPLINA) “ Conforme as associações realizadas, assinale a alternativa correta: Resposta Selecionada: V, V, V, V Resposta Correta: V, V, V, V Feedback da resposta: Resposta correta. A alternativa está correta,pois todas as formas estão corretas. A adição de chaves pode ocorrer na lista de definição de campos e restrições do CREATE TABLE (item I e II) e pode ser adicionada posteriormente com o comando de ALTER TABLE sem nenhum nome para a restrição (Item III), ou identificando a restrição com a cláusula “CONSTRAINT ‘PK_DISC “. Pergunta 6 1 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’ OR (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: Resposta correta. A alternativa está correta, pois a sentença 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. Pergunta 7 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 8 1 em 1 pontos 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. ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011. Em relação a esses SGBDs relacionais, analise as sentenças a seguir: I. Um dos motivos de sucesso dos SGBDs relacionais é a linguagem SQL, que serve para expressar os comandos que devem ser executados pelo SGBD Porque: 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. A seguir, assinale a alternativa correta: Resposta Selecionada: As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Resposta Correta: As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Feedback da resposta: 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. Pergunta 9 1 em 1 pontos 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. 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. I. ( ) A palavra CONSTRAINT pode ser empregada na definição de chaves estrangeiras e primárias. II ( ) DROP TABLE é o comando usado para excluir uma tabela no banco de dados. III. ( ) ADD COLUMN é parte de um comando e é usado em geral com comandos de ALTER TABLE. IV. ( ) NUMERIC é uma palavra usada na definição de campos que aceitam números, em geral, com decimais. Conforme as associações realizadas assinale a alternativa correta: Resposta Selecionada: V, V, V, V Resposta Correta: V, V, V, V Feedback da resposta: 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. Pergunta 10 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: ALTER TABLE 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.