Sie sind auf Seite 1von 9

Introdução a Sistemas de Bancos de Dados

Parte I.

Conceitos Básicos

  • 2. Arquitetura de sistemas de banco de dados

    • 1.1. Introdução

Objetivo: descrever conceitos gerais. Baseada na arquitetura ANSI/SPARC (1975,1978)

  • 1.2. Os três níveis da arquitetura

Nível externo (ou lógico do usuário)

Nível lógico (ou lógico de comunidade ou nível conceitual)

Nível interno (ou de armazenamento)

. . . Como os dados são vistos pelos usuários individuais. Representação dos dados para a
.
.
.
Como os dados são vistos pelos usuários individuais.
Representação dos dados para a comunidade dos usuários.
Como os dados são armazenados fisicamente.

Uma única visão lógica (de comunidade) e interna. Múltiplas visões externas.

Em um sistema relacional:

O nível lógico compõe-se de tabelas. O nível externo compõe-se de visões (que são tabelas geradas a partir das tabelas do nível lógico). O nível interno não segue o modelo relacional.

1.3. Nível Externo Nível do usuário individual  Um usuário individual só está interessado/vê uma parte
  • 1.3. Nível Externo

Nível do usuário individual

Um usuário individual só está interessado/vê uma parte dos dados

Vê os dados, possivelmente, de modo distinto da sua representação no nível lógico.

Por exemplo, com

outros nomes

outras tabelas

omissão de campos e de tabelas

A visão que um usuário individual tem do BD é a sua visão externa.

Cada visão externa é definida por um esquema externo.

A parte de uma linguagem de BD que define esquemas externos é chamada de DDL externa.

DDL (Data Definition Language) é a parte de uma LBD que define esquemas.

A DDL externa mapeia definições do esquema externo em elementos do esquema lógico (conceitual).

Exemplo:

Create View VinhosBrasileiros as Select Tipo, Local, Produtor From Adega Where Origem = 'Brasil'

Através dessa "view" um usuário vê informações sobre os vinhos brasileiros na adega, como se eles estivessem em uma tabela separada e resumida (com menos colunas).

As linguagens de programação têm vários tipos de abordagem para dar acesso aos BDs:

Comandos específicos. LPs mais antigas tinham comandos próprios para acesso aos BDs. Dificuldade em incorporar variações, especifidades e extensões de cada SGBD. A parte da LP com a qual se acessa BD é chamada de DSL (sublinguagem de dados).

LBD embutida. A linguagem ou o ambiente de programação admite a inclusão de trechos LBD nos programas. É comum o uso de macros e pré-processamento.

API para acesso ao BD. API = Application Programming Interface (normalmente uma biblioteca de funções/objetos) O programa chama funções/métodos e manipula objetos através da API.

Linguagens visuais costumam oferecer pacotes de componentes visuais para acesso a BD. Internamente eles usam alguma API específica.

Costuma-se dizer que uma LBD compõe-se de duas sublinguagens:

DDL (linguagem para definição de dados)

DML (linguagem para manipulação de dados).

1.4.

Nível Lógico (Conceitual)

Visão única de todo o BD independente do armazenamento físico e das visões externas.

Definida no esquema lógico (ou conceitual)

Sem referência à representação física.

Deve descrever restrições de segurança e integridade

1.5.

Nível interno

Lida com

o armazenamento dos dados,

a manutenção de índices,

a representação física dos campos,

a seqüência física (ordenação).

1.6.

Mapeamentos

mapeamento lógico(conceitual)-interno. Alterações no nível interno não devem refletir no nível lógico (conceitual).

mapeamento externo-lógico(conceitual). Chave para a independência de dados lógica – alterações em um nível não devem refletir no outro.

Os sistemas relacionais permitem que visões externas possam ser expressas em termos de outras visões externas.

1.7.

O DBA

Administrador de Dados (DA): toma decisões estratégicas e define normas sobre dados na empresa.

Administrador do Banco de Dados (DBA) dá suporte técnico às decisões e normas do DA.

Controle geral do sistema a nível técnico.

Atribuições:

Definir o esquema lógico.

Cabe ao DA fazer o projeto conceitual, identificando as entidades, e suas propriedades, de interesse da empresa (o produto poderá ser uma modelagem expressa em DERs). O DBA criará o esquema

do BD para atender tal projeto. Raramente ocorre assim na prática.

 

o

o DA pode vir a participar de ou fazer o projeto lógico.

o

o DBA pode vir a participar de ou fazer o projeto conceitual.

Definir o esquema interno.

 

Projeto físico.

Contato com os usuários.

 

o

Inclusive fazer o projeto externo.

o

Consultoria em projetos de aplicações usando o BD.

o

Treinamento técnico.

Definir restrições de segurança e de integridade.

Definir esquemas de back-up e restauração do BD.

Monitorar o desempenho e responder a requisitos de mudança.

o

"Sintonia fina" (tuning).

  • 1.8. O SGBD

Sistema que controla todo acesso ao BD.

  • 1. Usuário faz um pedido de acesso (possivelmente em SQL);

  • 2. O SGBD analisa esse pedido;

  • 3. O SGBD consulta os esquemas externos, lógico e físico e planeja como atender o pedido.

  • 4. O SGBD realiza as operações necessárias sobre o BD.

O SGBD tem diversos mecanismos para acelerar o procedimento acima. Exemplos:

bufferização de resultados

consultas pré-preparadas (pré-compiladas)

etc.

 Definição de dados O SGBD deve permir que sejam feitas definições na DDL e deve

Definição de dados

O SGBD deve permir que sejam feitas definições na DDL e deve usar essas definições nas requisições a serem feitas.

Manipulação de dados

O SGBD deve aceitar requisições na DML para buscar, alterar, excluir e incluir dados no BD.

  • 1. Requisição planejada. O DBA pode ajustar o BD para garantir bom desempenho.

  • 2. Requisição não-planejada: consultas ad-hoc através de um processador de linguagem de consulta.

Otimização e execução

Determina (dinamicamente) a melhor maneira de processar uma requisição.

Segurança e integridade dos dados

Rejeita, estática ou dinamicamente, requisições que violem restrições de segurança e de integridade.

Recuperação de dados e concorrência

Impõe controles para permitir concorrência adequada e recuperação de falhas através do gerenciador de transações, que pode ser parte ou não do SGBD.

Catálogo

 

o

O SGBD mantém metadados (descritores, dados sobre os dados).

o

O catálogo contém todos os metadados sobre os esquemas, mapeamentos, restrições de segurança e de integridade, índices, usuários, relatórios, etc.

o

O catálogo pode ser manipulado como qualquer outra parte do BD.

Desempenho

  • 1.9. Comunicação de dados

    • 1.10. Arquitetura cliente-servidor

o O SGBD mantém metadados (descritores, dados sobre os dados). o O catálogo contém todos os

Aplicações clientes:

feitas pelos programadores

ferramentas providas pelo SGBD:

 

o

Processadores de linguagem de consulta

o

Geradores de relatórios

o

Geradores de aplições

o

etc.

  • 1.11. Utilitários

Auxiliam o DBA em várias tarefas.

Carga a partir de dados em arquivos ou de outros BDs.

Back-up e restauração.

Reorganização (agrupar (clustering) dados, compactar).

Estatísticas

etc.

  • 1.12. Processamento distribuído

 Servidor de BD máquina dedicada ao SGBD garante desempenho e compartilhamento.  Estação de trabalho
Servidor de BD máquina dedicada ao SGBD garante desempenho e compartilhamento.
Estação de trabalho máquina dedicada a atender o usuário garante melhor interação
homem-máquina.
 etc. 1.12. Processamento distribuído  Servidor de BD máquina dedicada ao SGBD garante desempenho e
A operação na arquitetura distribuída pode ser de dois tipos:   Um usuário tem acesso

A operação na arquitetura distribuída pode ser de dois tipos:

Um usuário tem acesso a diversos servidores, mas cada requisição sua se refere a um único servidor por vez.

Banco de Dados Distribuído. Uma requisição pode acessar vários servidores. O usuário percebe o BD como único, independente da distribuição dos dados pelos servidores.

1.13.

Resumo

A arquitetura ANSI/SPARCdivide um SBD em 3 níveis:

O nível interno trata de como os dados são armazenados fisicamente;

o nível conceitual (ou lógico) dá uma visão comunitária dos dados;

o nível externo trata de como cada usuário individual percebe os dados.

A percepção dos dados que cada nível proporciona é descrita em um esquema.

Os mapeamentos definem a correspondência entre esquemas de níveis vizinhos.

Essa arquitetura visa proporcionar a independência de dados lógica, separando os níveis externo e lógico (conceitual) e a independência de dados física, separando os níveis lógico(conceitual) e físico (interno).

As linguagens de banco de dados costumam conter as seguintes partes (sublinguagens):

DDL - linguagem de definição de dados

DML - linguagem de manipulação de dados.

Catálogo de um SGBD contém os metadados (descritores dos dados, tabelas, índices, restrições, etc.) e pode ser manipulados como dados comuns.

A arquitetura cliente-servidor centraliza em um computador servidor de banco de dados a gerência dos dados pelo SGBD, distribuindo nos computadores clientes as aplicações que exigem mais recursos de interface com usuário.

Um sistema de banco de dados distribuído permite que diversos servidores possam ser percebidos como se fossem um único pelos clientes.