PROVA (GABARITO) CURSO: Técnico em Informática TURMA: 2º ano A/B DISCIPLINA: Banco de Dados DATA: 23/03/2015 PROFESSOR (A): Patrícia de Oliveira e Lucas VALOR DA PROVA: 9,0 pontos ANO/BIMESTRE: 2015/1º trimestre NOTA DO ALUNO: NOME DO ALUNO: Instruções: 1. Duração: 1h e 40 min. 2. As provas deverão ser respondidas à caneta. 3. As questões devem ser resolvidas na folha junto ao enunciado. 4. É proibido o uso de celulares durante a prova. 5. Serão descontados pontos em casos de desvios gramaticais e respostas incompletas. QUESTÃO 1 (2,0 pontos) Valor da resposta Um programador recebe um documento especificando precisamente a estrutura de um banco de dados. O programador deverá construir um software para acessar o banco de dados através de um SGBD conforme essa estrutura. Em qual nível de abstração deve estar esse documento? Por quê? O que foi cobrado nessa questão: Níveis de abstração: alto e baixo. Os modelos de alto nível de abstração fornecem uma visão mais próxima de como o usuário visualiza os dados. Um exemplo é a maquete, ela mostra as informações sobre uma determinada construção de um condomínio sem se preocupar com detalhes como: largura da rua, espessura da parede, área de uma quadra, etc. Já os modelos de baixo nível, fornecem uma visão mais detalhada de como os dados estão armazenados. Lembrando novamente a construção de um condomínio, poderíamos usar como exemplo de modelo de baixo nível a planta baixa, pois fornece, com detalhes todos os elementos que compõem o condomínio. Resposta: Baixo nível, pois o documento recebido pelo programador especifica precisamente a estrutura de um banco de dados. Valor da resposta QUESTÃO 2 (2,0 pontos) Em um banco de dados que armazena dados de uma escola, deseja-se saber quais alunos estão aprovados na disciplina de matemática. Qual a linguagem apropriada para se obter essa informação? Por quê? O que foi cobrado nessa questão: Conceito de instância e esquema: instância é o dado armazenado e esquema é a estrutura criada para armazenar as instâncias. Linguagem de definição de dados: linguagem para criar o esquema (estrutura) do banco de dados. Linguagem de manipulação de dados: linguagem para inserir, modificar, buscar e deletar as instâncias (dados) do banco de dados. Resposta: Linguagem de manipulação de dados, pois o que se deseja é fazer uma consulta (buscar) aos dados armazenados no banco de dados. Tais dados são: os nomes dos alunos que foram aprovados na disciplina de matemática. Valor da resposta QUESTÃO 3 (2,0 pontos) O Banco X armazena dados de seus clientes e suas contas como apresenta a figura abaixo. Apresente 02 problemas que poderiam ocorrer nesse tipo de armazenamento e como poderiam ser solucionados caso o Banco X estivesse usando um SGBD. Dados Nome do cliente CPF Endereço ID da conta de poupança Saldo da conta Nome do cliente CPF Endereço ID da conta de empréstimo Taxa de juros Período do empréstimo Saldo do Empréstimo Nome do cliente CPF Endereço ID da conta de cheques Saldo da conta Nome do cliente CPF Endereço ID da conta de mercado monetário Saldo da conta Arquivos Conta Poupança Conta de empréstimo Conta de cheques Conta de Mercado monetário Programas Sistema de Contas de Poupança Sistema de Contas de empréstimos Usuários Sistema de Contas de Cheques Sistema de Contas de mercado monetário O que foi cobrado nessa questão: Vantagens do uso de uma SGBD: independência da aplicação, facilidade no desenvolvimento, integridade, segurança, controle de concorrência, correção de falhas e controle de redundância. Sugestão de resposta: 1º problema: redundância de dados. Observando a figura, percebe-se que, caso um cliente possua mais de um tipo de conta no Banco X, seus dados serão armazenados em mais de um arquivo, podendo gerar inconsistência nos dados. Solução 1º problema: Com o uso de um SGBD isso não ocorreria, pois os dados dos clientes estariam armazenados em apenas um lugar com os programas os acessando concorrentemente. 2º problema: dependência da aplicação. Os dados armazenados são totalmente dependentes dos programas que os criaram. Sendo assim, em caso de mudanças dos dados, os programas também deveriam ser modificados. Solução 2º problema: Com o uso de um SGBD isso não ocorreria, pois os programas para acesso ao SGBD não exigem essas alterações, pois a estrutura dos arquivos de dados é armazenada no catálogo do SGBD separadamente do programa de acesso. QUESTÃO 4 (3,0 pontos) Valor da resposta O gerente da empresa Y deseja armazenar uma lista informações (nomes, endereços, descrição) sobre os vários funcionários de sua folha de pagamentos. Não surpreendentemente, o volume de dados o obriga a comprar um sistema de banco de dados. Para economizar dinheiro, ele deseja comprar um com o menor número possível de recursos, e planeja executá-lo com um aplicativo independente em seu computador. Naturalmente, o gerente não planeja compartilhar sua lista com ninguém. Indique quais os seguintes recursos abaixo justificam a compra do sistema. Em cada caso, também indique por que o gerente deve (ou não deve) pagar por esse recurso. Recursos: Mecanismo de visões; Controle de concorrência; Ferramenta de segurança. O que foi cobrado nessa questão: Conceitos de: • Mecanismo de visões: permite que cada usuário veja apenas o que lhe é permitido. • Controle de concorrência: permite que vários usuários acessem o mesmo dado ao mesmo tempo. • Ferramenta de segurança: em um SGBD é possível criar contas e definir restrições para cada usuário. Resposta: Mecanismo de visões: não, pois de acordo com o enunciado o gerente pretendia usar essas informações somente no seu computador e não compartilhá-las com ninguém. Dessa forma, não faz sentido criar visões diferentes já que apenas um usuário fará uso do SGBD. Controle de concorrência: não, pelo mesmo motivo citado acima. Se não vai existir mais de um usuário e as informações serão acessadas apenas por um aplicativo e em apenas um computador, não faz sentido fazer controle de concorrência. Ferramenta de segurança: sim, pois o gerente não planeja compartilhar as informações com ninguém.