Você está na página 1de 4

Introduo

Principais caractersticas da tecnologia de BDs

Banco de Dados II
Prof. MSc. riko Moreira

Independncia de Dados Linguagem de consulta para fcil manipulao dos dados Controle da redundncia e inconsistncia de dados Gerenciamento do acesso concorrente por vrios usurios Tratamento do acesso no autorizado Gerenciamento Centralizado dos Dados

Sumrio
Arquitetura Interna de SGBD Armazenamento e Estrutura de Arquivos Gerenciamento de Buffer Indexao Processamento de Consulta Gerenciamento de Transaes e Controle de Concorrncia Segurana de Dados e Recuperao ps Falha Controle de Acesso Banco de Dados Distribudos Banco de Dados Orientado a Objeto Tpicos Avanados

Introduo
Sistema de Bancos de Dados (SBD ou DBS)
Banco de Dados (BD ou DB)
Conjunto de dados relacionados

Sistema Gerenciador de Bancos de Dados (SGBD ou


DBMS)
Componente de software
Acesso Controle de Concorrncia Recuperao Armazenamento

Introduo
Um sistema de banco de dados uma coleo de dados inter-relacionados e um conjunto de programas que permitem aos usurios acessar e modificar esses dados
(Silberschartz, 2007)

Introduo
O SBD oculta certos detalhes de como os dados so armazenados e mantidos para simplificar as interaes do usurio com o sistema Abstrao de Dados

Introduo
Nveis de abstrao
Nvel fsico:
descreve como os dados so armazenados

Arquitetura de Trs Camadas

Nvel lgico:
descreve quais os dados so armazenados e os relacionamentos entre eles
Camada Externa

Esquema Externo 1

Esquema Externo 2

Esquema Externo n

Nvel de viso:
descreve partes do BD de interesse do usurio/aplicao os programas de aplicao ocultam detalhes dos tipos de dados. As views tambm podem ocultar informaes (como o salrio de um funcionrio) por motivos de segurana
Esquema Conceitual
Camada Conceitual

DBMS

Camada Interna (Fsica)

Esquema Interno (Banco de Dados armazenado)

Introduo
Viso dos Dados

Arquitetura de Trs Camadas


Esquema Interno Camada Interna
Descreve como os dados esto fisicamente armazenados
Ex. organizao do arquivo, alocao em disco, tipo de registro

Esquema Conceitual Camada Conceitual


Descreve quais dados esto armazenados no BDs e os seus relacionamentos

Esquema Externo Camada Externa


Descreve parte do BDs
Simplifica a viso do usurio (Ver s o que necessrio) Estabelece regras de segurana (views)
Fonte: Silberschatz, 2007

Introduo
Ocorrncias (instncias do BD)
Coleo de informaes armazenadas na base em determinado momento Altamente mutveis

Arquitetura Interna SGBD


O SBD dividido em mdulos com responsabilidades definidas
Processador de Consulta Gerenciador de Armazenamento

Esquemas
Projeto geral do BD ou definio de todas as estruturas que compem o BD Um esquema para cada nvel de abstrao
Esquema fsico ou interno - nvel mais baixo de abstrao Esquema lgico ou conceitual - nvel intermedirio de abstrao Esquema de viso ou externo - nvel mais alto de abstrao

Arquitetura Interna SGBD


Processador de Consulta
1. Anlise e traduo 2. Otimizao 3. Avaliao

Arquitetura Interna SGBD


Programa Aplicativo Consulta Esquema Pre-compilador DML Compilador DML Mecanismo de Consultas Gerenciador de Buffer Gerenciador de Arquivo Interpretador DDL Processador de Consultas

Gerenciador de Transaes

Sistema de Armazenamento

SGBD BD SBD

Cdigo Objeto aplicativos


Fonte: Silberschatz, 2007

ndices

Arquivos de dados

Catlogo

Arquitetura Interna SGBD


Processador de Consulta Maneiras alternativas de avaliar uma consulta submetida
Expresses equivalentes Diferentes algoritmos para cada operao

Arquitetura Interna SGBD


SGBD (Proc. Consultas + Sist. Armazenamento)
Processador de Consultas
Compilador DML
Analisa sintaticamente e semanticamente comandos DML expressos em uma linguagem de consulta (ex. SQL) Traduz estes comandos para uma das formas de representao da interna de consulta (lgebra relacional)

A diferena de custo entre um bom e um mau mtodo de avaliar uma consulta pode ser enorme Necessidade de estimar o custo das operaes
Depende profundamente das informaes sobre relaes que o banco de dados precisa manter Necessidade de estimar estatsticas para resultados intermedirios para calcular custo de expresses complexas

Pr-compilador DML
Traduz comandos DML em chamadas a procedimentos (rotinas) na linguagem hospedeira

Interpretador DDL
Interpreta comandos DDL e os armazena no catlogo Tabelas contendo metadados Descrio do banco de dados - esquema

Mecanismo de Consultas
Responsvel pela otimizao e gerao dos planos de execuo de consultas.

Arquitetura Interna SGBD


Gerenciador de armazenamento mdulo que fornece a interface entre os dados de baixo nvel armazenados no banco de dados e os programas de aplicao e consultas submetidos ao sistema. O gerenciador de armazenamento responsvel pelas seguintes tarefas:
Interagir com o gerenciador de arquivos Armazenar, recuperar e atualizar dados eficientemente.

Arquitetura Interna SGBD


SGBD (Proc. Consultas + Sist. Armazenamento)
Sistema de Armazenamento
Gerenciador de Transao
Controle de concorrncia Recuperao do banco de dados aps falhas

Gerenciador de Buffer
Responsvel por recuperar objetos em discos e carreg-los na memria principal em forma de pginas de dados SGBD possui uma rea de buffer na memria principal Realiza o mapeamento: Bloco Pgina Disco SGBD Definio da poltica de alocao de buffer Ex. MRU, LRU, FIFO, etc. Gerenciador de Arquivo (file system) Responsvel pelo armazenamento fsico em disco Gerncia a alocao de espao em disco

Problemas:
Acesso ao armazenamento Organizao de arquivos Indexao e hashing

Arquitetura Interna SGBD


BD (Arquivo de Dados + Catlogo + ndices)
Arquivo de Dados
Armazena os dados

ndices
Estruturas de ndices para os arquivos de dados

Catlogo
Armazena esquema do banco de dados (metadados)
Nomes de tabelas Atributos de cada tabela Definio de ndice para uma tabela Stored Procedures, Triggers, etc.

Armazena informaes estatsticas utilizadas na otimizao de consultas


Cardinalidade da tabela, tipos de ndices, nmero de pgina de dados, etc.

Exerccio Fixao
Descreva a arquitetura de 3 camadas do SGBD e explique porque precisamos de mapeamentos entre os nveis. Justifique como diferentes linguagens de definio de esquemas suportam essa arquitetura