Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo Os três níveis da arquitetura ...

30
Banco de Dados Parte 04 Ceça

Transcript of Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo Os três níveis da arquitetura ...

Page 1: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Banco de Dados Parte 04

Ceça

Page 2: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes2

Conteúdo Os três níveis da arquitetura Mapeamentos Arquitetura cliente-servidor

Page 3: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes3

Arquitetura de um SGBD

Arquitetura ANSI/SPARC ANSI/SPARC Study Group on Database Management

Systems

Três níveis de abstração Nível InternoInterno ou FísicoFísico

Descreve o modo como os dados estão armazenados Nível ExternoExterno ou Lógico de UsuárioLógico de Usuário

Descreve o modo como os dados são vistos pelos usuários (visões)

Nível ConceitualConceitual ou Lógico ComunitárioLógico Comunitário Nível de simulação entre os dois anteriores; descreve

dados e relacionamentos entre eles

Page 4: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes4

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)

Page 5: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes5

Exemplo: BD de Funcionários

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:d

ecimal)

Page 6: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes6

Exemplo: BD de Funcionários

Externo Java Externo Cobol

public class func { 01 FUNC

private String NOME; 02 NOME_F PIC X(29).

private double SAL; 02 SAL PIC 9(10,5).

Conceitual

FUNCIONARIO

NÚMERO_FUNCIONARIO CHARACTER (6)

NOME_FUNCIONARIO CHARACTER (29)

SALÁRIO 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

Page 7: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes7

Mapeamentos entre os níveis

Os itens de dados têm nomes diferentes em certos pontos

O nome do funcionário nas visões... Java é NOME Cobol é NOME_F Conceitual é NOME_FUNCIONARIO Interna é FUNN O sistema deve estar ciente dessas

correspondências (mapeamento entre visões)

Page 8: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes8

Mapeamentos

Aplicação Aplicação

Usuário 1 Usuário 2 Usuário n

Aplicação

EsquemaExterno A

EsquemaExterno B

Visão Externa A

Mapeamento externo/conceitual A

Mapeamento externo/conceitual B

SGBD

...

BD armazenado – Visão Interna

Visão Externa B

Mapeamento conceitual/interno

Definição da estrutura de

armazenamento Esquema

Interno

Esquema Conceitua

l

Visão ConceitualEsquemase mapeamentosconstruídos emantidospelo DBA

Page 9: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes9

Linguagens

Linguagem depende do usuário Programação convencional Linguagem de Consulta (SQL)

É uma combinação de uma DDL (Data Definition Language) e uma DML (Data Manipulation Language)

Page 10: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes10

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

Page 11: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes11

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 Linguagem de consulta mais amplamente

utilizada Select,Insert,Update, Delete

Page 12: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes12

Mapeamentos

Mapeamento conceitual/interno Um mapeamento Define a correspondência entre a visão

conceitual e o banco de dados fisicamente armazenado

Mapeamento 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

Page 13: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes13

SGBDProcessamentos 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:

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

Page 14: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ambiente SGBD

Ceça Moraes14

Page 15: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Arquiteturas de acesso em

Camadas

Page 16: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes16

Arquitetura de Aplicação Cliente-

Servidor Aplicações

Programas Ferramentas

Processadores de consultas

Geradores de relatório Extração de dados

AplicaçõesClientes

UsuáriosFinais

SGBDServidor

Dados

Page 17: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Cliente-Servidor

Ceça Moraes17

Page 18: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Cliente-Servidor

Ceça Moraes18

Page 19: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

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

Ceça Moraes19

Page 20: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Cliente-Servidor 2 Camadas

Ceça Moraes20

Page 21: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Cliente-Servidor 2 Camadas

Ceça Moraes21

Page 22: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes22

Cliente-Servidor 3 Camadas (Web)

Clientes

UsuáriosFinais

Aplicações AplicaçõesAplicações

WEBWEB

SGBDServidor

Dados

Page 23: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Módulos do SGBD

Ceça Moraes23

Page 24: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

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

Ceça Moraes24

Page 25: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

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 Uma vez que o dado está nos buffers da memória

principal, pode ser processado por outros módulos do SGBD

Ceça Moraes25

Page 26: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

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 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 Moraes26

Page 27: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Interação entre Módulos do SGBD

processador de banco de dados em tempo de execução (runtime) 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

27

Page 28: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

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

Ceça Moraes28

Page 29: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

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..

Ceça Moraes29

Page 30: Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.

Ceça Moraes30

Referências & Leitura

Navathe – Capítulo 2

Date – Capítulo 2