1/6
Banco de Dados
O que é um Banco de Dados ?
“Uma coleção de dados relacionados” [ELMASRI/NAVATHE]
“Conjunto de dados integrados que tem por objetivo atender a uma comunidade
específica” [HEUSER]
“Um conjunto de dados” [KORTH/SILBERCHATZ]
O que são dados ?
“São um conjunto de fatos distintos e objetivos, relativos a eventos. São registros
estruturados de transações Ex: venda de gasolina gera alguns dados: data da compra,
preço, qtde “ [DAVENPORT/PRUZAC]
“São fatos conhecidos que podem ser registrados e que possuem significado
implícito” [ELMASRI/NAVATHE]
¾ Geralmente, é feita distinção entre dados e informação:
Ex:
Dado: a temperatura é de 30 graus.
Informação: está muito quente para esta época do ano.
Sistema de Gerência de Banco de Dados (SGBD)
O que é um SGBD ?
“Em essência, um sistema de banco de dados é apenas um sistema computadorizado
de armazenamento de registros” [DATE]
“Uma coleção de dados inter-relacionados e um conjunto de programas para acessálos. [...] seu principal objetivo é prover um ambiente que seja adequado e eficiente
para recuperar e armazenar informações de banco de dados. O SGBD deve fornecer
meios para que seja feita a definição das estruturas para armazenamento, uma forma
de manipulá-las e garantir a segurança e integridade dos dados.”
[KORTH/SILBERCHATZ]
“Uma coleção de programas que possibilita que os usuários criem e mantenham um
banco de dados. O SGBD é portanto um sistema de software com finalidade
genérica que facilita o processo de definição, construção e manipulação de banco de
dados para várias aplicações” [ELMASRI/NAVATHE]
“Software que incorpora as funções de definição, recuperação e alteração de dados
em um banco de dados” [HEUSER]
2/6
Sistemas de arquivos X SGBD
¾ É possível armazenar os dados usando arquivos, e construindo programas para
manipular estes arquivos
¾ A manipulação dos arquivos é parte da implementação...
¾ Vantagens no uso de SGBDs:
a) Dados podem ser compartilhados
b) Redundância pode ser controlada
c) Inconsistência dos dados pode ser evitada (considerando dados redundantes)
d) É fornecido suporte efetivo a transações
e) Integridade pode ser mantida
f) Segurança pode ser reforçada
g) Acesso aos dados é facilitado
h) Padrões podem ser reforçados
i) Tempo de desenvolvimento de aplicações é reduzido
j) Maior flexibilidade para realizar alterações (independência de dados)
k) Maior economia, informações atualizadas, menor volume de papel....
Que características distinguem um SGBD de aplicações que utilizam processamento de
arquivos ?
1) Catálogo
- Um SGBD mantém não apenas o BD, mas também a definição e descrição
das estruturas e restrições (catálogo – metadados).
- A existência do catálogo permite que um mesmo SGBD possa ser utilizado
para aplicações distintas (o catálogo indica a estrutura física utilizada)
2) Independência de dados
- Um SGBD dá aos usuários uma visão abstrata dos dados, encobrindo
detalhes não relevantes (o usuário-desenvolvedor não precisa saber como os
dados são fisicamente armazenados).
3) Múltiplas Visões dos Dados
- Cada usuário pode exigir uma visão diferenciada da base de dados
4) Compartilhamento & Transações
- Controle de concorrência
3/6
¾ Para obter e visualizar as 3 primeiras características foi proposta uma arquitetura de
banco de dados (arquitetura ANSI/SPARC).
¾ A arquitetura ANSI/SPARC possui 3 níveis:
1) Nível Externo ou de Visões: descreve a parte de um BD que interessa a um grupo de
usuários
2) Nível Conceitual: descreve a estrutura de todo o banco de dados (dados
armazenados e a relações entre eles)
3) Nível Interno ou Físico: estrutura de armazenamento
Visão 1
Visão 2
Visão 3
Conceitual
Físico
¾ A descrição de um BD é denominada ESQUEMA do BD.
¾ Pode-se associar a ESQUEMA do BD a definição de uma variável em uma linguagem
de programação
Independência dos dados
¾ É a habilidade de modificar a definição de um esquema em nível mais baixo, sem
atingir um nível mais alto. Existem 2 níveis:
a) Independência física é a habilidade de modificar o esquema físico sem a
necessidade de reescrever os programas aplicativos.
b) Independência lógica é a habilidade de modificar o esquema conceitual sem a
necessidade de reescrever os programas aplicativos (mais difícil de atingir)
4/6
Linguagens do SGBD
¾ Data Definition Language – DDL (normalmente usada para definir os 3 esquemas)
¾ Data Manipulation Language – DML
¾ Data Control Language - DCL
Usuários de um SGBD:
¾ Projetistas:
Identificam os dados a serem armazenados
¾ DBA – Administrador de Banco de Dados:
Definição/Manutenção do esquema
Definição das estruturas de armazenamento e métodos de acesso
Concessão de autorização de acesso
Monitora utilização
Atividades de manutenção (Backups)
¾ Usuários
Leigos
Especializados (programadore, por ex)
Classificação dos SGBDs
¾ Modelo: Hierárquico, Rede, Relacional, OO, Objeto-Relacional
¾ Número de usuários: Monousuário/Multiusuário
¾ Local de armazenamento: Centralizado/Distribuído
5/6
VISÃO GERAL DE UM SGBD
Componentes principais de um SGBD
1) Compilador de DML: traduz comandos da linguagem de manipulação de dados
em instruções que possam ser executadas
2) Compilador de DDL: traduz as instruções da DDL e faz o registro das
modificações no catálogo
3) Gerenciador de segurança e integridade: verificam o cumprimento das regras de
integridade e normas de segurança
4) Gerenciador de transações: garante a consistência do banco de dados mesmo
quando da ocorrência de falhas de anomalias produzidas pela execução concorrente
de transações
5) Componentes para o tratamento de consultas (KORTH et.al.): executam
instruções de baixo nível geradas pelo compilador DML
6) Gerenciador de arquivos: gerencia a alocação de espaço em disco, a localização
dos arquivos que contém e as estruturas de dados utilizadas. O gerenciador de
arquivos responde as requisições do gerenciador de buffers
7) Gerenciador de buffers: gerencia a transferência de dados entra o disco e a
memória principal
8) Arquivo de dados: conteúdo do banco de dados
9) Catálogo: descreve a estrutura e as restrições sobre o banco
10) Índices: estruturas que permitem acesso rápido aos dados
11) Estatísticas: são informações relacionadas ao conteúdo do banco de dados usadas
na otimização de consultas
6/6
Usuário
Consulta, Atualizações
Compilador DML
Analisa a instrução/gera plano otimizado
Plano de consulta (sequência de operações)
Mecanismo de execução
Componentes
para tratamento
de consultas
Executa as operações geradas
solicitações de itens de
dados (tuplas de uma
relação)
Gerenciador de
índices/arquivos/registros
Conhece a estrutura dos arquivos
solicitação de páginas
Gerenciador de Buffer
Solicita páginas /Envia páginas para o disco
páginas de leitura/gravação
Gerenciador de arquivos
(Gerenciador de armazenamento)
Pode envolver comandos do SO, mas normalmente o SGBD
emite comando diretamente para o controlador de disco
Armazenamento
em disco
Durante a execução das transações (consultas/atualizações)
existe a participação do Gerenciador de transações
Download

Banco de Dados