segunda-feira, 8 de setembro de 2008
Banco de Dados de Rede - Exemplo
Utilitário de Banco de Dados
- Carregamento
- Backup
- E.g. dumps do banco de dados
- (Re-)Organização de arquivos
- Monitoramento da performance
Linguagem de Banco de Dados
- Linguagem de definição de dados (LDD)
- Usada para definir esquemas
- Linguagem de manipulação de dados (LMD)
- Recuperação, inserção, remoção, modificação do BD
- Linguagem de consulta
- LMD de alto nivel usada em modo “stand-alone”
- Exemplo: SQL
Modelo de Dados, Esquema e Instância - BD
1) Modelo de dados: Conjunto de conceitos usados para descrever a estrutura de um banco de dados
- Abstração de dados
- Estrutura = tipos de dados + relacionamentos + restrições (+operações )
2) Esquema: Descrição (textual ou gráfica) da estrutura de um banco de dados de acordo com um determinado modelo de dados
Esquema do Banco
- Armazenado no catálogo
- Mudanças muito menos freqüentes
3) Instância: Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo.
Estado do Banco:
- Dados do banco em qualquer ponto do tempo
- Inicialmente vazio
- Muda freqüentemente
- Validade parcialmente guarantida pelo SGBD
Transação - BD
1) Conceito de Transação
Sendo o propósito de um SGBD servir de intermediário entre o nível da aplicação e o banco de dados, torna-se esta responsável por manipular diretamente os dados e garantir a sua validade.
As operações sobre o banco de dados só fazem sentido se forem executadas como um todo, pois só assim é possível validar o resultado.
Surge assim o conceito de transação pois todas as tarefas de gestão de banco de dados vivem à custa deste conceito.
2) Propriedades ACID
Tranasação é um conjunto bem definido de operações sobre o Banco de Dados, com as seguintes características:
- Atomicidade
-
Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação. Ex: Ou todo o trabalho é feito, ou nada é feito. As operações que constituem uma transação formam um conjunto indivisível (atómico):
-
Ou terminam com sucesso - COMMIT
-
Ou são todas desfeitas - ROLLBACK
- Consistência - caso envolva atualização de dados, uma transação deverá levar o Banco de Dados de um estado consistente para outro estado consistente. Regras de integridade dos dados são asseguradas, ou seja, as transações não podem quebrar as regras do Banco de Dados.
- Isolamento - se várias transações ocorrerem em simultâneo, não devem as mesmas interferir entre si, tendo cada uma a ilusão de ser a única a ser executada. Tudo se parece como se o trabalho estivesse isolado. O resultado de uma transação executada concorrentemente a outra deve ser o mesmo que o de sua execução de forma isolada. Operações exteriores a uma dada transação jamais verão esta transação em estados intermediários.
- Durabilidade (Persistência) - todos os efeitos de uma transação bem sucedida tornam-se persistentes e visíveis para as outras transacções. Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas.
Idependência de Dados
Um SGBD define a interface entre o 3 níveis da arquitetura, através dos mapeamentos necessários, armazenando no dicionário de dados (DD) a informação relativa a cada nível.
Assim é possível alterar a estrutura ou características de um nível, sem ter de proceder a alterações ao nível superior;
Todas as ações se suportam nos conceitos de:
- Independência Lógica - alterações no nível conceptual não se repercutem nas views do nível externo.
- Refers to immunity of external schemas to changes in conceptual schema.
- Conceptual schema changes (e.g. addition/removal of entities).
- Should not require changes to external schema or rewrites of application programs.
- Independência Física - alterações ao nível interno não se repercutem no nível conceitual
- Refers to immunity of conceptual schema to changes in the internal schema.
- Internal schema changes (e.g. using different file organizations, storage structures/devices).
- Should not require change to conceptual or external schemas.
Arquitetura ANSI/SPARC
1) Propósito da Arquitetura
O American National Standards Institute (ANSI) através do Standards Planning and Requirements Committee (SPARC) estabeleceu um padrão para o desenvolvimento de tecnologias de Banco de Dados (BD), definindo uma arquitetura de 3 níveis independentes:
- Interno
- Conceitual
- Externo
Essa arquitetura deveria atender a uma série de requiistos básicos:
- All users should be able to access same data.
- A user’s view is immune to changes made in other views.
- Users should not need to know physical database storage details.
- DBA should be able to change database storage structures without affecting the users’ views.
- Internal structure of database should be unaffected by changes to physical aspects of storage.
- DBA should be able to change conceptual structure of database without affecting all users.
2) Níveis da Arquitetura
- External Level
- Refere-se à independência programa/dados
- Como cada utilizador não necessita de trabalhar com a totalidade do esquema conceptual, o SGBD permite definir para cada um, uma view, que determina a janela de dados com que necessita de trabalhar
- Este conceito aplica-se também às aplicações
- Users’ view of the database
- Describes that part of database that is relevant to a particular user.
- Conceptual Level
- É também designado por esquema conceitual
- Refere-se ao modelo conceitual dos dados, independente dos utilizadores e das aplicações
- Constitui a estrutura do Banco de Dados
- É o nível que permite esconder os detalhes do armazenamento físico dos dados, do nível aplicacional
- Community view of the database.
- Describes what data is stored in database and relationships among the data.
- Internal Level
- Refere-se ao armazenamento físico dos dados, organização de ficheiros, métodos de acesso e organização das estruturas físicas
- Deve ser organizado para permitir um melhor desempenho nas operações que previsivelmente se realizem com maior freuquência
- Physical representation of the database on the computer
- Describes how the data is stored in the database
Banco de Dados - Exemplo
Mini-mundo: parte de uma universidade
Algumas entidades:
–Alunos
–Disciplinas
–Departamentos
Alguns relacionamentos:
–Disciplinas são oferecidas por Departamentos
–Alunos estão matriculados em Disciplinas
Banco de Dados - BD - Database - DB
1) Definições de Banco de Dados
Com a finalidade de estabelecer um entendimento inicial e simplificado do termo Banco de Dados (BD), pode-se atribuir a seguinte definição:
- Um banco de dados é um conjunto de arquivos relacionados entre si. [Chu, 1985]
- Um banco de dados é uma coleção de dados operacionais armazenados usados pelas aplicações de uma determinada organização. [Date, 2000]
- Um banco de dados é uma coleção de dados relacionados, representando algum aspecto do mundo real (mini-mundo ou universo de discurso), logicamente coerente, com algum significado, projetado, construído e gerado (“povoado”) para uma aplicação específica. [Elmasri & Navathe, 2000]
Numa definição um pouco mais precisa BD é o componente da Tecnologia da Informação voltado para o armazenamento e recuperação da informação, a ser utilizada em um processo de tomada de decisão / resolução de problemas, cuja estrutura e comportamento devem propiciar esse armazenamento de forma persistente e consistente.
2) Características da Abordagem de Banco de Dados
- Auto-descrição dos dados
- Isolamento entre programas e dados: abstração de dados
- Suporte a múltiplas visões dos dados
- Compartilhamento de dados e processa-mento de transações concorrentes
3) Características básicas de um Banco de Dados
4) Usuários em um ambiente de Banco de Dados
- Administradores de banco de dados (ABD) - Database Adminmsitrator (DBA)
- Projetistas de banco de dados
- Analistas de sistema e programadores
- Usuários finais:
- Usuários casuais
- Usuários leigos
- Usuários especializados
5) Implicações da Abordagem de BD
- Adoção/imposição de padrões
- Redução do tempo de desenvolvimento das aplicações
- Flexibilidade
- Atualidade da informação disponível
- Economia de escala
7) Sistemas Gerenciadores de Banco de Dados
8) Arquitetura ANSI/SPARC
Tecnologia da Informação e Banco de Dados
A TI é o suporte tecnológico da informação durante todo o seu ciclo da vida em um Sistema de Informações (SI), compreendendo:
- Captura da Informação
- Transmissão da Informação
- Processamento da Informação
- Armazenamento da Informação
- Exibição da Informação
A TI é o suporte tecnológico da Informação e é composta pelas seguintes tecnologias:
- Tecnologia de Interface Homem-Máquina (Captura e Exibição da Informação)
- Tecnologia de Transmissão (Redes de Computadores)
- Tecnologia de Processamento (Processamento Centralizado, Processamento Distribuído, Processamento Paralelo, Processamento Cliente-Servidor)
- Tecnologia de Armanenamento (Tecnologia de Banco de Dados)