Visão em Três Níveis
Níveis de Abstração
Um banco de dados oferece três níveis de abstração:
- Nível físico (physical level)
-
Descreve como um registro (ex:
professor) é armazenado em disco. - Nível lógico (logical level)
- Descreve quais dados estão armazenados no banco e os relacionamentos entre eles. Exemplo de definição no nível lógico:
type professor = record
id_prof : integer;
nome : string;
id_escola : integer;
ch_semanal : integer;
salario : real;
end;
- Nível de visão (view level)
- Os programas de aplicação ocultam detalhes dos tipos de dados. As visões também podem ocultar informações (como o salário de um professor) por razões de segurança.
┌────────────────────────────────────────┐
│ Nível de Visão │
│ Visão 1 │ Visão 2 │ Visão 3 ... │
├────────────────────────────────────────┤
│ Nível Lógico │
├────────────────────────────────────────┤
│ Nível Físico │
└────────────────────────────────────────┘
Schemas e Instâncias
Analogia com linguagens de programação (tipos e variáveis):
| Banco de Dados | Programação |
|---|---|
| Schema lógico — estrutura lógica geral do banco | Informação de tipo de uma variável |
| Schema físico — estrutura física geral do banco | — |
| Instância — conteúdo atual do banco em um dado momento | Valor de uma variável |
- Schema lógico: ex.: “o banco contém informações sobre um conjunto de clientes e contas em um banco e o relacionamento entre eles”
- Instância: os dados concretos armazenados no banco naquele instante
Independência de Dados Física
Independência de dados física é a capacidade de modificar o schema físico sem alterar o schema lógico.
- Aplicações dependem do schema lógico
- Em geral, as interfaces entre os diversos níveis e componentes devem ser bem definidas, de modo que mudanças em algumas partes não afetem seriamente as outras