Resolução dos exercícios da lista BD01

Documentos relacionados
Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

Aula 2 BD Introdução. Profa. Elaine Faria UFU

MODELAGEM DE DADOS UNIDADE 2 Projeto de Banco de Dados. Luiz Leão

Banco de Dados e Aplicações em Negócios: Introdução.

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Sistemas da Informação. Banco de Dados I. Edson Thizon

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Curso: Banco de Dados I. Conceitos Iniciais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Livro texto: Capítulo 1

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

Prof. Marcelo Machado Cunha

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Conceitos e arquitetura do banco de dados. Andre Noel

Aula 01 Conceito de Banco de Dados e SGBD

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução à Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

DDL). O resultado da compilação dos parâmetros DDLs é

Banco de Dados. SGBDs. Professor: Charles Leite

Prof. Fabiano Taguchi

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Sistema Gestor de Bancos de Dados (SGBD)

Conceitos de Sistemas de Banco de Dados INE 5323

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

1. INTRODUÇÃO A MODELAGEM DE DADOS

Banco de Dados Fundamentos Básicos. Hélder Antero Amaral Nunes

Introdução. O que é um Banco de Dados (BD)?

1. Conceitos de Bancos de Dados

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

BANCO DE DADOS AULA-01. Prof. Fabiano Papaiz IFRN

2. Conceitos e Arquiteturas de um SGBD

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Introdução a Banco de Dados

Banco de Dados Relacional

Banco de Dados I. Prof. Edson Thizon

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Sistemas de Banco de Dados

Banco de Dados. Introdução e Definições

Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

BCD29008 Banco de dados

Aula 01. Introdução aos sistemas de informação Conceitos de banco de dados Modelos de BD Linguagens de Banco de Dados Usuários de um Banco de Dados

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

Bancos de Dados Distribuídos

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

BCD29008 Banco de dados

Introdução. Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados?

BANCO DE DADOS. Araújo Lima. Jan / Araújo

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

O que é um banco de dados? Banco de Dados. Banco de dados

Introdução a Banco de Dados. Adão de Melo Neto

ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados

Engenharia de Software

Bases de Dados. Parte I: Conceitos Básicos

Banco de Dados Distribuído

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Banco de Dados II. Administrador de Banco de Dados - DBA. Portela

Bases de Dados. Parte I: Conceitos Básicos

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

INE 5423 Banco de Dados I

Transcrição:

Resolução dos exercícios da lista BD01 Pedro Losco Takecian Monitor João Eduardo Ferreira Professor 4 de abril de 2006 1. Quando faz sentido utilizar um SGBD ao invés de simplesmente utilizar o sistema de arquivos? Quando não faz sentido utilizar um SGBD? Não faz sentido utilizar um SGBD quando temos pequenas aplicações com dados muito simples e sem expectativa de mudanças. Também não é recomendado utilizar um SGBD quando a aplicação tem a necessidade da obtenção de dados em tempo real. Praticamente em todos os demais casos, faz sentido o uso de um sistema gerenciador de banco de dados, pois ele introduz inúmeras vantagens no armazenamento dos dados, como o controle de redundância, consistência e integridade dos dados armazenados, controle de acesso e segurança, integração de vários usuários simultâneos, eficiência nas consultas, etc. 2. O que é independência lógica de dados e por que esse conceito é importante? É a capacidade de alterar o esquema conceitual sem ter que mudar os esquemas externos (ou programas de aplicação). Sua importância vem do fato de que, se precisarmos modificar o esquema conceitual do banco de dados, não temos que alterar todas as aplicações que acessam o banco. 3. Explique as diferenças entre independência lógica de dados e independência física de dados. Enquanto a independência lógica trata da independência entre as camadas externa e conceitual, a independência física compreende a independência entre as camadas física e conceitual, isto é, permite as mudanças no esquema interno sem ter que alterar o esquema conceitual. 1

Enquanto a independência lógica gera uma abstração útil para o desenvolvedor usuário final, a independência física gera uma abstração importante na estruturação lógica do banco, utilizada pelo projetista de banco de dados. 4. Explique as diferenças entre esquemas externos, lógico e físico. Como esses conceitos se relacionam com os conceitos de independência de dados? Os esquemas externos descrevem visões da base de dados de diferentes grupos de usuários, isto é, mostra ao usuário da base apenas o que ele está interessado. Já o esquema lógico descreve integralmente a base de dados, concentrando-se na descrição das entidades, relacionamentos, tipos de dados e restrições. No esquema físico, detalhes do armazenamento são o foco principal. Os conceitos de independência se relacionam da seguinte maneira: a independência física é a independência entre os esquemas físico e lógico enquanto que a independência lógica é a independência entre os esquemas lógico e externos. 5. Quais são as responsabilidades de um Projetista de Banco de Dados e do DBA? Um Projetista de Banco de Dados deve saber extrair os requisitos e expectativas de utilização de dados dos futuros usuários da base de dados. Para isto, faz uso de diversas visões, modelando a base de tal forma que suas diversas estruturas de dados representem apropriadamente os dados que precisam ser armazenados. Já o DBA é quem administra a base de dados. Também administra o Sistema Gerenciador de Banco de Dados bem como outros softwares que estão relacionados. Ele é responsável pelo desempenho, segurança, acesso, monitoramento e manutenção da base de dados, garantindo, assim, seu bom funcionamento. 6. O Sr. Avarento quer guardar informações de seus funcionários (nome, endereço, momentos preocupantes). O volume de dados o forçou a decidir comprar um SGBD. Para economizar, ele quer comprar um que tenha apenas as características necessárias para executar uma aplicação stand-alone em seu PC. O Sr. Avarento não quer compartilhar esta lista com ninguém. Indique quais das seguintes características de SGBDs o Sr. Avarento necessita. Justifique. 2

Segurança; Não necessita. Como o banco de dados e a aplicação que o utiliza estão apenas na máquina do Sr. Avarento, não é necessário um esquema de segurança no banco de dados. Basta que ele coloque uma senha em seu computador, restringindo, assim, o acesso das demais pessoas à aplicação e ao banco. Controle de concorrência; Não necessita. Como a aplicação rodará apenas em um PC, não existirá o problema de concorrência entre diversos acessos simultâneos, o que torna esta característica desnecessária. Recuperação após falhas; Necessita. Apesar de rodar apenas uma aplicação em uma única máquina, o estado do Banco de Dados precisa se manter consistente. Um sistema de recuperação após falhas garante isto, prevenindo, por exemplo, inserções de clientes feitas pela metade devido a uma queda do sistema no momento de uma inserção. Mecanismos de visão; Necessita. Apesar de não ter grupos de usuários distintos, a arquitetura em três camadas ajudará o desenvolvedor da aplicação, que terá uma interface bem definida e independente das outras camadas, podendo se concentrar apenas no esquema externo. Linguagem de consulta. Necessita. Apesar do acesso ao banco ser feito através de uma aplicação (e não diretamente), esta aplicação necessitará de alguma linguagem de acesso ao BD. Trata-se de uma linguagem de consulta. Assim, o senhor Avarento poderá armazenar e consultar os dados quando bem entender. 7. Descreva os passos de um projeto de BD. Em primeiro lugar, vem a obtenção e a análise dos requisitos. Em seguida, precisamos captar a essência conceitual dos dados. Para isto, utilizamos um modelo conceitual de dados. Erros nesta etapa são refletidos em todas as outras etapas. Um projeto conceitual bem feito facilita as futuras evoluções do Banco de Dados. Uma vez criado o modelo conceitual, devemos concretizá-lo como um modelo lógico e, em seguida, como um modelo físico, utilizando várias técnicas existentes. 3

Assim, torna-se possível implementá-lo utilizando algum SGBD existente. Em seguida, precisamos ainda criar as funções de inserção, alteração, eliminação e consulta ao BD, que serão amplamente utilizadas na manutenção e quando o BD estiver em produção. 8. Quais dos seguintes itens exercem papel importante na representação de informações do mundo real num BD? Comente. Linguagem de definição de dados; Sim, é importante. Através desta linguagem conseguimos passar para o SGBD as representações que temos do mundo real, isto é, os esquemas que usaremos para armazenar os dados do mundo real. Apesar da modelagem conceitual não depender da DDL, na hora da implementação ela é utilizada e, portanto, tem participação fundamental no processo de representação. Linguagem de manipulação de dados; Não exerce um papel importante. A linguagem de manipulação servirá apenas para manipularmos os dados (alteração, inserção, remoção, consulta) em um modelo de dados previamente idealizado e estabelecido. Portanto, não é esta linguagem que influenciará na representação de informações do mundo real no BD. Cachê; Nao exerce um papel importante. O cachê ou cache é importante apenas para a otimização da performance de acesso ao banco de dados, nao interferindo na representação que desenvolvemos à partir do mundo real. Se pensarmos na arquitetura em três camadas, faz parte do esquema físico, onde devemos nos preocupar com a sintonia fina de como os dados sao fisicamente armazenados na estrutura do banco. Modelo de dados. Sim, é fundamental. Precisamos escolher o modelo de dados que iremos utilizar, dependendo do que queremos representar, da complexidade dos dados, etc. É a principal ferramenta que nos fornece a abstração de dados para representar o mundo real. A escolha certa do modelo de dados é um passo muito importante para a boa realização do projeto. 4

9. O que é transação? Uma transação é uma unidade de interação com uma base de dados que, basicamente, deve ter 4 propriedades: (a) Ser atômica. Todas as tarefas de uma transação devem ser realizadas. Se isso não acontecer, nenhuma deve ser realizada (mesmo que para isto, tenhamos que desfazer o que já foi feito). (b) Manter a consistência. Se um banco de dados encontra-se em um estado consistente, depois de uma transação, isto é, depois que todas as tarefas de uma transação forem realizadas (ou desfeitas, caso a transação não seja bem sucedida), a consistência deve ser mantida. (c) Ser isolada. Significa que nenhuma operação fora da transação deve conseguir ver os dados em um estado intermediário, isto é, quando a transação está em andamento. As transações devem ser seriáveis. (d) Ser durável. Uma vez que a transação foi bem sucedida, ela deve ser persistida e não mais desfeita. 10. Por que o SGBD entrelaça as ações de diferentes transações, ao invés de executá-las seqüencialmente? Na prática, garantir todas as propriedades conforme descritas acima, torna-se muito custoso em termos de desempenho. Assim, os SGBDs utilizam alguns artifícios para melhorar o desempenho das transações. Esses artifícios se baseiam na otimização do compartilhamento de recursos. Por exemplo: pode-se executar uma leitura de uma transação e uma escrita de outra ao mesmo tempo, desde que a leitura não seja sobre o que está sendo escrito. Desde modo, conseguimos garantir a consistência da base de dados, obtendo uma significativa melhora no desempenho. 5