Prévia do material em texto
Prova Impressa GABARITO | Avaliação Final (Objetiva) - Individual (Cod.:669279) Peso da Avaliação 3,00 Prova 34648587 Qtd. de Questões 12 Acertos/Erros 11/1 Nota 10,00 Em um banco de dados existem vários tipos de usuários que atuam em sua construção e acesso. Alguns têm um foco mais gerencial, enquanto outros apenas se concentram na manipulação de dados da base. Sobre os usuários de banco de dados, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O administrador de banco de dados é responsável por toda a administração do banco de dados. Atividades como instalação, configuração e melhorias em performance fazem parte do seu dia a dia. Também possui tarefas relacionadas ao gerenciamento de acesso de usuários na base e um constante monitoramento visando garantir uma alta disponibilidade do sistema. ( ) O programador tem como tarefa fazer o mapeamento dos dados que deverão ser armazenados no banco. Isso envolve a criação/manutenção de tabelas e demais objetos de acordo com a tecnologia do SGBD. Este usuário tem um grande foco em performance, pois quando vai definir a estrutura de organização dos dados é crucial que ela seja performática. ( ) O usuário comum constrói o sistema que irá acessar o banco de dados. É imprescindível que o sistema desenvolvido manipule os dados de forma correta, para evitar a perda ou a falta de confiança neles. ( ) O Projetista de banco de dados utiliza o sistema que foi desenvolvido pelo programador para acessar o banco de dados. Normalmente desconhece as estruturas onde os dados estão armazenados. Consegue manipular somente o que o sistema permite. Ele é a sua fronteira com o SGBD. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - V - F. B F - V - V - V. C V - F - F - V. D V - F - F - F. O Banco de dados Oracle possibilita a utilização da ferramenta de junção e subconsulta de tabelas, as quais são utilizadas quando há a necessidade de VOLTAR A+ Alterar modo de visualização 1 2 recuperar dados de uma ou mais tabelas com base em suas relações lógicas, possibilitando, desta feita, a combinação dos registros de diversas tabelas de forma a construir consultas e relatórios mais elaborados. Acerca das junções e com base no script SQL anexo, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A consulta SELECT f.nom_filme, g.des_genero FROM filmes f, generos g WHERE f.cod_genero = g.cod_genero and g.cod_genero = 1; retornará como resultado: Velozes e Furiosos | Ação. ( ) A consulta SELECT f.nom_filme FROM filmes f WHERE f.cod_genero = (select g.cod_genero from generos g where g.des_genero = 'Drama'); retornará como resultado: Enquanto Somos Jovens. ( ) A consulta select g.des_genero from generos g where g.cod_genero in (select f.cod_genero from filmes where f.nom_filme like '%es%'); retornará todos os genêros, cujo o nome do filme inicie com a substring “es”. ( ) A consulta SELECT * FROM filmes f WHERE f.cod_genero = g.cod_genero and g.cod_genero = 3; retornará como resultado: 2 | Meu Passado me Condena | Comédia. ( ) A consulta SELECT f.nom_filme FROM filmes f, generos g WHERE f.cod_genero = g.cod_genero and g.cod_genero between 2 and 3; retornará como resultado: “Meu Passado me Condena” e “Enquanto Somos Jovens”. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - F - V. B V - F - V - V - V. C F - V - V - F - F. D V - V - F - V - V. O conceito de transação pode ser entendido como um conjunto de ações que delimita operações. Uma dos comandos de ligação para transações é o commit. Com relação a esse comando, analise as sentenças a seguir: I- É uma transação utilizada para a conversão de dados, a exemplo de um strig para o tipo date. II- É uma transação utilizada para gravar em definitivo os dados em um banco de dados. III- É uma transação utilizada para deletar uma tabela em nossos dados. IV- É uma transação que tem a funcionalidade de selecionar dados em um banco. Agora, assinale a alternativa CORRETA: A Somente a sentença IV está correta. B As sentenças I e III estão corretas. C Somente a sentença II está correta. D As sentenças I, III e IV estão corretas. Um banco de dados é uma coleção de dados relacionados. Com dados, queremos dizer que fatos conhecidos podem ser registrados e possuem significado implícito. Para seu armazenamento, podem ser empregadas algumas arquiteturas. Sobre essas arquiteturas, associe os itens, utilizando o código a seguir: I- Arquitetura Centralizada. II- Arquitetura cliente-servidor. III- Arquitetura paralela. IV- Arquitetura distribuída. ( ) É uma arquitetura que tem como objetivo o compartilhamento de recursos para processamento de dados. ( ) É uma arquitetura que tem como objetivo o compartilhamento de recursos para processamento e armazenamento de dados, independente de como os computadores estão localizados geograficamente. ( ) Arquitetura comumente utilizada nos anos de 1970, com o emprego de mainframes. Para os usuários acessarem os dados utilizavam terminais sem capacidade de processamento. ( ) É uma arquitetura composta com um computador de maior processamento (server), que responde às requisições de outros 3 4 computadores (client). Assinale a alternativa que apresenta a sequência CORRETA: A I - II - IV - III. B III - IV - I - II. C I - III - IV - II. D III - I - IV - II. O Modelo Lógico pode ser entendido como a descrição da base de dados, conforme é visualizada pelos os usuários do Sistema de Gerenciamento de Banco de Dados (SGBD). Com relação a isso, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Esse modelo é o primeiro passo em um projeto de Banco de Dados. ( ) O Modelo Lógico é a representação de dados em uma estrutura de armazenamento. ( ) O modelo é iniciado após a execução do modelo conceitual. ( ) Esse modelo é constituído após a definição do Modelo Físico para um projeto. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - F - V - F. B V - V - F - V. C V - V - V - F. D F - V - V - F. O processo de criação de instruções de consulta SQL, na maioria das vezes, é uma tarefa simples. Contudo, quando repetidos diversas vezes os mesmos códigos, além de ser um processo maçante, resulta em desperdício de tempo e dinheiro. Logo, para o armazenamento destas consultas em banco, utiliza-se um recurso chamado View, o qual pode conter colunas de uma ou várias tabelas físicas ou até mesmo de outras views. Acerca do conceito de views e sua aplicabilidade, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A view é uma construção de uma projeção de uma ou mais tabelas a partir do comando SELECT que, em alguns casos, pode ser manipulada como uma tabela, mas não existe fisicamente como uma tabela. ( ) As views são usadas para garantir o acesso aos dados da tabela original. Esse mecanismo permite que se desconsiderem os sofisticados sistemas de 5 6 privilégios dos SGBDs modernos. ( ) As views podem ser manipuladas por meio de comandos SQL como SELECT, porém não podem ser manipuladas pelos comandos UPDATE e DELETE. ( ) As views garantem maior segurança ao banco de dados, uma vez que permitem na sua criação definir quais colunas serão exibidas e disponibilizadas ao usuário. ( ) As views são objetos de caráter temporário, permanecendo-se ativas somente enquanto durar a sessão do SQL*Plus. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - F - V - V - F. B F - V - V - F - V. C F - V - V - F - F. D V - V - F - V - V. Em Princípios de Banco de Dados, temos vários tipos de modelos. Um deles é o modelo conceitual, que está focado não em discutir qual tecnologia será aplicada ao projeto, mas, sim, nos aspectos dos negócios. Com relação a esse tipo de modelo, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Podemos afirmar que esse modelo é utilizado unicamente para melhorar odesempenho da base de dados. ( ) Podemos considerar que o modelo conceitual é o ponto de partida para um projeto da base de dados. ( ) Podemos afirmar que esse modelo foca unicamente no aspecto físico da base de dados. ( ) Podemos afirmar que o modelo conceitual é utilizado somente no final dos processos de um projeto. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - F. B V - F - V - F. C V - V - V - F. D V - V - F - V. O processo de modelagem de um banco de dados é um importante momento para a concepção de um banco de dados, afinal é responsável por eliminar redundâncias e garantir a integridade dos dados armazenados. Além 7 8 disto, obter o modelo de dados facilita o entendimento de um projeto de software, auxiliando desde a concepção das interfaces até a realização de consultas aos dados. Segundo Fanderuff (2013), a Modelagem de Dados é uma atividade desenvolvida em fases variadas do processo metodológico de desenvolvimento de sistemas, com a finalidade de garimpar informações para a obtenção do modelo de dados. Um modelo de dados em nível macro pode ser obtido em fases de planejamento, enquanto modelos de dados detalhados podem ser obtidos em fases de análise e projeto. Tudo depende do foco que se deseja aplicar ao trabalho de levantamento e seus objetivos. Neste sentido, assinale a alternativa CORRETA que apresenta as quatro fases necessárias para executar essa modelagem: FONTE: FANDERUFF, Damaris. Dominando o Oracle 9i: Modelagem e Desenvolvimento. São Paulo: Pearson, 2003. A Análise de Recursos, Projeto de Implementação, Projeto Lógico e Projeto Físico. B Análise de Requisitos, Projeto de Implementação, SQL e Projeto Físico. C Análise de Requisitos, Projeto Conceitual, Projeto Lógico e Projeto Físico. D Análise de Recursos, Projeto de Implementação, SQL e Projeto Físico. Quando levada à risca, pode-se dizer que a história dos bancos de dados inicia-se desde a pré-história com as pinturas rupestres. No entanto, a literatura divide a história dos bancos de dados em três gerações. Sobre as gerações dos bancos de dados, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A primeira geração surgiu na década de 1960, na qual existiam basicamente duas formas de organização: o modelo hierárquico e em rede. Ambos trabalhavam com o conceito de registro, que é uma coleção de campos (atributos), os quais contêm apenas um valor de dado. ( ) A segunda geração é uma geração que tem o seu destaque tecnológico. É uma geração marcada pelo novo conceito, denominado banco de dados orientado a objetos. ( ) A terceira geração é a geração dos bancos de dados relacionais, surgiu na década de 1970 e é utilizada até hoje. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - V. B F - V - V. C V - V - F. D V - F - F. É inconteste a possibilidade de alterarmos a estrutura de uma tabela a fim de adicionar, remover ou modificar algum campo, mesmo após a inclusão de dados, sendo crível que esta alteração atuará apenas sobre a estrutura da tabela, e não sobre os dados nela contidos. Diante disso, considerando a tabela Produtos anexa, analise as sentenças a seguir: I- O comando ALTER TABLE produtos ADD cod_fabricante_produto NUMBER(06) NOT NULL; criará um novo campo na tabela produtos com vistas a armazenar o código do fabricante. II- O comando ALTER TABLE produtos DROP COLUMN data_fabricacao; excluirá todos os registros do campo data_fabricacao. III- O comando UPDATE produtos SET valor = (valor + (valor * 0.15)) WHERE cod = 2; modificará o valor do produto martelo para 17.42. IV- O comando DELETE FROM produtos; excluirá a estrutura da tabela produtos. Agora, assinale a alternativa CORRETA: A Somente a sentença III está correta. 9 10 B As sentenças I, III e IV estão corretas. C As sentenças II, III e IV estão corretas. D As sentenças I e IV estão corretas. (ENADE, 2005) Considere o seguinte script SQL de criação de um banco de dados: CREATE TABLE PECAS (CODIGO NUMERIC(5) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL, ESTOQUE NUMERIC(5) NOT NULL, PRIMARY KEY(CODIGO)); CREATE TABLE FORNECEDORES (COD_FORN NUMERIC(3) NOT NULL, NOME VARCHAR(30) NOT NULL, PRIMARY KEY(COD_FORN)); CREATE TABLE FORNECIMENTOS (COD_PECA NUMERIC(5) NOT NULL, COD_FORN NUMERIC(3) NOT NULL, QUANTIDADE NUMERIC(4) NOT NULL, PRIMARY KEY(COD_PECA, COD_FORN), FOREIGN KEY (COD_PECA) REFERENCES PECAS, FOREIGN KEY (COD_FORN) REFERENCES FORNECEDORES); A partir desse script, assinale a alternativa CORRETA que apresenta o comando SQL que permite obter uma lista que contenha o nome de cada fornecedor que tenha fornecido alguma peça, o código da peça fornecida, a descrição dessa peça e a quantidade fornecida da referida peça: A SELECT * FROM PECAS, FORNECEDORES, FORNECIMENTOS WHERE PECAS.CODIGO = FORNECIMENTOS.COD_PECA AND FORNECEDORES.COD_FORN = FORNECIMENTOS.COD_FORN; B SELECT NOME, CODIGO, DESCRICAO, QUANTIDADE FROM PECAS, FORNECEDORES, FORNECIMENTOS; C SELECT DISTINCT NOME, CODIGO, DESCRICAO, QUANTIDADE FROM PECAS, FORNECEDORES, FORNECIMENTOS WHERE CODIGO = COD_PECA; D SELECT NOME, CODIGO, DESCRICAO, QUANTIDADE FROM PECAS, FORNECEDORES, FORNECIMENTOS WHERE PECAS.CODIGO = FORNECIMENTOS.COD_PECA AND FORNECEDORES.COD_FORN = FORNECIMENTOS.COD_FORN; (ENADE, 2011) Pedro foi contratado como desenvolvedor de software de uma empresa. Em seu primeiro dia de trabalho, ele se deparou com o DER (Diagrama Entidade-Relacionamento), que representa os dados de um sistema de controle de malotes. Foi solicitado a Pedro um relatório para o sistema contendo os seguintes dados: o nome de todos os funcionários que enviaram os malotes, o código dos malotes enviados, a descrição de seus 11 12 conteúdos e a situação dos malotes. Para a geração do relatório, Pedro tem que fazer uma consulta utilizando o comando SELECT da linguagem SQL. Conhecidos o modelo conceitual de dados e os dados necessários para a tarefa de Pedro, o comando SELECT que ele deve executar para realizar a consulta e produzir o relatório corretamente é: A SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES, CONTEUDOS, FUNCIONARIOS INNER JOIN WHERE (MALOTES.CODIGO_CONTEUDO = CONTEUDOS.CODIGO_CONTEUDO) AND (MALOTES.MATRICULA = FUNCIONARIOS.MATRICULA); B SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES INNER JOIN CONTEUDOS INNER JOIN FUNCIONARIOS ON (MALOTES.CODIGO_CONTEUDO = CONTEUDOS.CODIGO_CONTEUDO) ON (MALOTES.MATRICULA = FUNCIONARIOS.MATRICULA); C SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES, CONTEUDOS, FUNCIONARIOS WHERE (CODIGO_CONTEUDO = CODIGO_CONTEUDO) AND (MATRICULA = MATRICULA); D SELECT NOME, CODIGO_MALOTE, DESCRICAO, SITUACAO_MALOTE FROM MALOTES INNER JOIN CONTEUDOS ON (MALOTES.CODIGO_CONTEUDO = CONTEUDOS.CODIGO_CONTEUDO) INNER JOIN FUNCIONARIOS ON (MALOTES.MATRICULA = FUNCIONARIOS.MATRICULA); Imprimir