to get the file

Propaganda
Banco de Dados
Parte 04
Ceça
Conteúdo
 Os
três níveis da arquitetura
 Mapeamentos
 Arquitetura cliente-servidor
2
Ceça Moraes
Arquitetura de
um SGBD

Arquitetura ANSI/SPARC


ANSI/SPARC Study Group on Database Management
Systems
Três níveis de abstração

Nível Interno ou Físico


Nível Externo ou Lógico de Usuário


Descreve o modo como os dados são vistos pelos
usuários (visões)
Nível Conceitual ou Lógico Comunitário

3
Descreve o modo como os dados estão armazenados
Nível de simulação entre os dois anteriores; descreve
dados e relacionamentos entre eles
Ceça Moraes
Arquitetura de
um SGBD
Nível Externo
(Visões de usuários individuais
Nível Conceitual
(Visões Lógicas do Banco)
Nível Interno
(Visões do meio de armazenamento)
4
Ceça Moraes
Exemplo: BD de
Funcionários



5
Esquema Conceitual
 FUNCIONARIO(NUMERO_FUNCIONARIO:string,
NOME_FUNCIONARIO:string,SALARIO:decimal)
 DEPARTAMENTO(NUMERO_DEPTO:string,
NOME_DEPTO:string)
 LOTACAO(NUMERO_FUNCIONARIO:string,
NUMERO_DEPTO:string)
Esquema Físico
 Relações guardadas como arquivos desordenados
 Índices na segunda coluna de FUNCIONARIO
Esquema Externo
 info_func(NOME_FUNCIONARIO:string,SALARIO:
decimal)
Ceça Moraes
Exemplo: BD de
Funcionários
Externo Java
public class func {
private String NOME;
private double SAL;
Externo Cobol
01 FUNC
02 NOME_F PIC X(29).
02 SAL PIC 9(10,5).
Conceitual
FUNCIONARIO
NÚMERO_FUNCIONARIO
NOME_FUNCIONARIO
SALÁRIO
CHARACTER (6)
CHARACTER (29)
NUMERIC(5)
Interno
FUNC_ARMAZENADO BYTES=46
PREFIXO
TYPE=BYTE(6),OFFSET=0
FUN#
TYPE=BYTE(6),OFFSET=6,INDEX=FUNX
FUNN
TYPE=BYTE(29),OFFSET=12
PAGTO
TYPE=FULLWORD,OFFSET=41
6
Ceça Moraes
Mapeamentos
entre os níveis
Os itens de dados têm nomes diferentes em
certos pontos
 O nome do funcionário nas visões...






7
Java é NOME
Cobol é NOME_F
Conceitual é NOME_FUNCIONARIO
Interna é FUNN
O sistema deve estar ciente dessas
correspondências (mapeamento entre visões)
Ceça Moraes
Mapeamentos
Usuário 1
Usuário 2
Usuário n
Aplicação
Aplicação
Aplicação
Esquema
Externo B
Esquema Visão Externa A
Externo A
Mapeamento
externo/conceitual A
Esquemas
e
mapeamentos
construídos e
mantidos
pelo DBA
Mapeamento
externo/conceitual B
Esquema Visão Conceitual
Conceitual
SGBD
Mapeamento
conceitual/interno
Definição da
estrutura de
armazenamento
Esquema Interno
8
Visão Externa B
...
BD armazenado – Visão Interna
Ceça Moraes
Linguagens
 Linguagem
depende do usuário
Programação convencional
 Linguagem de Consulta (SQL)


9
É uma combinação de uma DDL (Data
Definition Language) e uma DML (Data
Manipulation Language)
Ceça Moraes
Linguagem de
Definição de
Dados (DDL)
 Fornece
uma notação para definir o
esquema do banco de dados
Ex: create table conta (
numero_conta char(10),
saldo
integer);
 Compilador
de DDL gera um conjunto
de tabelas que são armazenadas em
um dicionário de dados
10
Ceça Moraes
Linguagem de
Manipulação de
Dados (DML)
 Linguagem
para acessar e manipular os
dados organizados por um modelo
apropriado no BD
 Também conhecida com linguagem de
consulta
 SQL


11
Linguagem de consulta mais amplamente
utilizada
Select,Insert,Update, Delete
Ceça Moraes
Mapeamentos
 Mapeamento


Um mapeamento
Define a correspondência entre a visão
conceitual e o banco de dados fisicamente
armazenado
 Mapeamento


12
conceitual/interno
externo/conceitual
Vários, um para cada visão
Define a correspondência entre uma visão
externa específica e a visão conceitual
Ceça Moraes
SGBD
Processamentos
nos níveis
Trata todos os acessos ao banco.
 Um usuário faz um pedido de acesso
 O SGBD intercepta o pedido e o analisa
 O SGBD inspeciona, por sua vez:







13
o esquema externo para esse usuário,
o mapeamento externo/conceitual,
o esquema conceitual,
o mapeamento conceitual/interno e
a definição da estrutura de armazenamento
O SGBD executa as operações necessárias
sobre o banco de dados armazenado
Ceça Moraes
Ambiente
SGBD
14
Ceça Moraes
Arquiteturas de
acesso em
Camadas
Arquitetura de
Aplicação ClienteServidor

Usuários
Finais
Aplicações


Clientes
Aplicações
Programas
Ferramentas


Servidor
SGBD

Processadores de
consultas
Geradores de relatório
Extração de dados
Dados
16
Ceça Moraes
Cliente-Servidor
17
Ceça Moraes
Cliente-Servidor
18
Ceça Moraes
Cliente-Servidor 2
Camadas
 Existe
um padrão de estabelecer
conexão com a aplicação e o SGBD,
chamado Open Database
Connectiviy(ODBC)
 Na linguagem de programação Java é
JDBC
 simplicidade e a compatibilidade
19
Ceça Moraes
Cliente-Servidor 2
Camadas
20
Ceça Moraes
Cliente-Servidor 2
Camadas
21
Ceça Moraes
Cliente-Servidor 3
Camadas (Web)
Usuários
Finais
Aplicações
Clientes
Aplicações
Aplicações
WEB
Servidor
SGBD
Dados
22
Ceça Moraes
Módulos do SGBD
23
Ceça Moraes
Interação entre
Módulos do SGBD
O
BD e o dicionário de dados são
armazenados em disco

acesso ao disco é controlado
principalmente pelo sistema operacional
(SO)
 Módulo
de gerenciamento dos dados
armazenados do SGBD controla o
acesso aos dados e dicionário
24
Ceça Moraes
Interação entre
Módulos do SGBD
O gerenciador de dados armazenados pode
usar os serviços do SO para executar a
transferência de dados entre o disco e a
memória principal do computador
 O gerenciador controla a manipulação dos
buffers na memória


25
Uma vez que o dado está nos buffers da memória
principal, pode ser processado por outros módulos
do SGBD
Ceça Moraes
Interação entre
Módulos do SGBD
O compilador DDL processa as definições do
esquema e as armazena (metadados) no
dicionário
 O dicionário inclui






26
nomes e tamanhos dos arquivos
nomes e tipos de itens de dados,
detalhes de armazenamento de arquivos
informações de mapeamentos entre esquemas
restrições
Ceça Moraes
Interação entre
Módulos do SGBD
 processador
de banco de dados em
tempo de execução (runtime)



27
controla o acesso ao banco de dados em
tempo de execução,
recebe os comandos para a recuperação
ou atualização e os executa no banco de
dados
Os acessos passam pelo gerenciador de
dados armazenados
Interação entre
Módulos do SGBD
O
compilador de pesquisa (query)
manipula as consultas de alto nível que
são feitas interativamente
 analisa a sintaxe, compila ou interpreta
a consulta e então gera as chamadas
ao processador em tempo de execução
para executar o código
28
Ceça Moraes
Iterações entre
Módulos do SGBD
O
pré-compilador extrai os comandos
DML dos programas escritos em uma
linguagem de programação
 Esses
comandos são enviados para o
compilador DML para compilação,
gerando códigos para o acesso ao
banco de dados..
29
Ceça Moraes
Referências &
Leitura
 Navathe
 Date
30
– Capítulo 2
– Capítulo 2
Ceça Moraes
Download