Visão em Três Níveis

Autor

Douglas Braga

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