Você está na página 1de 9

WWW.VENDASAPOSTILAS.COM.

BR

Introduo a Sistemas de Bancos de Dados


Parte I.
2.
2.1.

Conceitos Bsicos

Arquitetura de sistemas de banco de dados


Introduo

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

2.2.

Os trs nveis da arquitetura

Nvel externo (ou lgico do usurio)

...
Como os dados so vistos pelos usurios individuais.

Nvel lgico (ou lgico de comunidade ou nvel conceitual)

Representao dos dados para a comunidade dos usurios.

Nvel interno (ou de armazenamento)

Como os dados so armazenados fisicamente.

Uma nica viso lgica (de comunidade) e interna. Mltiplas vises externas.

Em um sistema relacional: O nvel lgico compe-se de tabelas. O nvel externo compe-se de vises (que so tabelas geradas a partir das tabelas do nvel lgico). O nvel interno no segue o modelo relacional.

WWW.VENDASAPOSTILAS.COM.BR

2.3.

Nvel Externo
Um usurio individual s est interessado/v uma parte dos dados V os dados, possivelmente, de modo distinto da sua representao no nvel lgico. Por exemplo, com outros nomes outras tabelas omisso de campos e de tabelas

Nvel do usurio individual

A viso que um usurio individual tem do BD a sua viso externa. Cada viso 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 definies do esquema externo em elementos do esquema lgico (conceitual). Exemplo: Create View VinhosBrasileiros as Select Tipo, Local, Produtor From Adega Where Origem = 'Brasil'

WWW.VENDASAPOSTILAS.COM.BR

Atravs dessa "view" um usurio v informaes sobre os vinhos brasileiros na adega, como se eles estivessem em uma tabela separada e resumida (com menos colunas).

As linguagens de programao tm vrios tipos de abordagem para dar acesso aos BDs: Comandos especficos. LPs mais antigas tinham comandos prprios para acesso aos BDs. Dificuldade em incorporar variaes, especifidades e extenses 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 programao admite a incluso 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 funes/objetos) O programa chama funes/mtodos e manipula objetos atravs da API. Linguagens visuais costumam oferecer pacotes de componentes visuais para acesso a BD. Internamente eles usam alguma API especfica. Costuma-se dizer que uma LBD compe-se de duas sublinguagens: DDL (linguagem para definio de dados) DML (linguagem para manipulao de dados).

2.4.

Nvel Lgico (Conceitual)


Definida no esquema lgico (ou conceitual) Sem referncia representao fsica. Deve descrever restries de segurana e integridade

Viso nica de todo o BD independente do armazenamento fsico e das vises externas.

2.5.
Lida com

Nvel interno
o armazenamento dos dados, a manuteno de ndices, a representao fsica dos campos, a seqncia fsica (ordenao).

2.6.

Mapeamentos
mapeamento lgico(conceitual)-interno. Alteraes no nvel interno no devem refletir no nvel lgico (conceitual). mapeamento externo-lgico(conceitual). Chave para a independncia de dados lgica alteraes em um nvel no devem refletir no outro. Os sistemas relacionais permitem que vises externas possam ser expressas em termos de outras vises externas.

2.7.

O DBA

Administrador de Dados (DA): toma decises estratgicas e define normas sobre dados na empresa. Administrador do Banco de Dados (DBA) d suporte tcnico s decises e normas do DA. Controle geral do sistema a nvel tcnico. Atribuies: Definir o esquema lgico. 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 prtica.

WWW.VENDASAPOSTILAS.COM.BR

o o

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

Definir o esquema interno. Projeto fsico.

Contato com os usurios. o o o Inclusive fazer o projeto externo. Consultoria em projetos de aplicaes usando o BD. Treinamento tcnico.

Definir restries de segurana e de integridade. Definir esquemas de back-up e restaurao do BD. Monitorar o desempenho e responder a requisitos de mudana. o "Sintonia fina" (tuning).

2.8.
1. 2. 3. 4.

O SGBD
Usurio faz um pedido de acesso (possivelmente em SQL); O SGBD analisa esse pedido; O SGBD consulta os esquemas externos, lgico e fsico e planeja como atender o pedido. O SGBD realiza as operaes necessrias sobre o BD.

Sistema que controla todo acesso ao BD.

O SGBD tem diversos mecanismos para acelerar o procedimento acima. Exemplos: bufferizao de resultados consultas pr-preparadas (pr-compiladas) etc.

WWW.VENDASAPOSTILAS.COM.BR

Definio de dados O SGBD deve permir que sejam feitas definies na DDL e deve usar essas definies nas requisies a serem feitas.

Manipulao de dados O SGBD deve aceitar requisies na DML para buscar, alterar, excluir e incluir dados no BD. 1. 2. Requisio planejada. O DBA pode ajustar o BD para garantir bom desempenho. Requisio no-planejada: consultas ad-hoc atravs de um processador de linguagem de consulta.

Otimizao e execuo Determina (dinamicamente) a melhor maneira de processar uma requisio.

Segurana e integridade dos dados Rejeita, esttica ou dinamicamente, requisies que violem restries de segurana e de integridade.

Recuperao de dados e concorrncia Impe controles para permitir concorrncia adequada e recuperao de falhas atravs do gerenciador de transaes, que pode ser parte ou no do SGBD.

Catlogo

WWW.VENDASAPOSTILAS.COM.BR

o o o

O SGBD mantm metadados (descritores, dados sobre os dados). O catlogo contm todos os metadados sobre os esquemas, mapeamentos, restries de segurana e de integridade, ndices, usurios, relatrios, etc. O catlogo pode ser manipulado como qualquer outra parte do BD.

Desempenho

2.9. 2.10.

Comunicao de dados Arquitetura cliente-servidor

Aplicaes clientes: feitas pelos programadores ferramentas providas pelo SGBD: o o o o Processadores de linguagem de consulta Geradores de relatrios Geradores de aplies etc.

2.11.

Utilitrios
Carga a partir de dados em arquivos ou de outros BDs. Back-up e restaurao. Reorganizao (agrupar (clustering) dados, compactar). Estatsticas etc.

Auxiliam o DBA em vrias tarefas.

WWW.VENDASAPOSTILAS.COM.BR

2.12.

Processamento distribudo

Servidor de BD mquina dedicada ao SGBD garante desempenho e compartilhamento. Estao de trabalho mquina dedicada a atender o usurio garante melhor interao homem-mquina.

WWW.VENDASAPOSTILAS.COM.BR

A operao na arquitetura distribuda pode ser de dois tipos: Um usurio tem acesso a diversos servidores, mas cada requisio sua se refere a um nico servidor por vez. Banco de Dados Distribudo. Uma requisio pode acessar vrios servidores. O usurio percebe o BD como nico, independente da distribuio dos dados pelos servidores.

2.13.

Resumo
O nvel interno trata de como os dados so armazenados fisicamente; o nvel conceitual (ou lgico) d uma viso comunitria dos dados; o nvel externo trata de como cada usurio individual percebe os dados.

A arquitetura ANSI/SPARCdivide um SBD em 3 nveis:

A percepo dos dados que cada nvel proporciona descrita em um esquema. Os mapeamentos definem a correspondncia entre esquemas de nveis vizinhos. Essa arquitetura visa proporcionar a independncia de dados lgica, separando os nveis externo e lgico (conceitual) e a independncia de dados fsica, separando os nveis lgico(conceitual) e fsico (interno). As linguagens de banco de dados costumam conter as seguintes partes (sublinguagens): DDL - linguagem de definio de dados DML - linguagem de manipulao de dados.

WWW.VENDASAPOSTILAS.COM.BR

Catlogo de um SGBD contm os metadados (descritores dos dados, tabelas, ndices, restries, etc.) e pode ser manipulados como dados comuns. A arquitetura cliente-servidor centraliza em um computador servidor de banco de dados a gerncia dos dados pelo SGBD, distribuindo nos computadores clientes as aplicaes que exigem mais recursos de interface com usurio. Um sistema de banco de dados distribudo permite que diversos servidores possam ser percebidos como se fossem um nico pelos clientes.