Buscar

02_arquitetura

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Ramon Gomes Costa, Prof. D.Sc.
Aula Expositiva
Arquitetura de Sistemas Gerenciadores de
Bancos de Dados
Arquitetura de Sistemas Gerenciadores de
Bancos de Dados
Banco de Dados 2
Plano de Curso
 Arquitetura de Sistemas Gerenciadores de Bancos de Dados
 Introdução
 Arquitetura de três esquemas
 Linguagens de interface
 Arquiteturas de comunicação
 Interfaces múltiplas de usuário
 Módulos componentes do SGBD
 Exercícios. 
Banco de Dados 3
Introdução
 Antigamente, um SGBD era um Sistema Monolítico, hoje os SGBDs utilizam uma 
arquitetura cliente-servidor. 
 Módulo Cliente – Projetado para ser executado em uma estação de trabalho ou 
computador pessoal. De certo modo, o módulo cliente lida com a intervenção com 
o usuário e fornece uma interface amigável ao mesmo.
 Módulo Servidor – Lida com os armazenamentos dos dados, acessos, e tratam 
de retornar ao cliente qualquer operação feita.
Banco de Dados 4
Introdução
 Sistema Gerenciador de Bancos de Dados (SGBD) – Um sistema que possibilita que 
os usuários criem e mantenham um banco de dados (Ex.: Firebird, MySQL, Access, 
Oracle, etc).
Banco de Dados 5
Introdução
 Mapeamento (mapping) – É o processo de transformação de solicitações e de 
resultados. Como por exemplo, o passo de transformar uma consulta externa para uma 
linguagem ou consulta interna. 
 Os mapeamentos podem consumir tempo, portanto, alguns SGBDs não suportam 
visões externas.
Banco de Dados 6
Arquitetura de três esquemas
 A independência de dados
 Independência lógica de dados – É a 
capacidade de alternar o esquema 
conceitual sem ter que alterar 
esquemas externos ou programas de 
aplicação.
 Alterações em restrições de 
integridade podem ser aplicadas da 
mesma forma ao esquema conceitual, 
sem afetar os esquemas externos ou 
os programas de aplicação.
 Independência física de dados – É a 
capacidade de alterar o esquema 
interno sem ter que alterar os 
esquemas conceituais ou externos.
Arquitetura de três esquemas
(ANSI/SPARC)
Banco de Dados 7
Arquitetura de três esquemas
 Isolamento programas, dados e operações
 Se utilizarmos um SGBD, apenas modificamos os metadados, sem que precisamos 
(na maioria das vezes) fazer mudanças no programa. Chamamos essa propriedade de 
Independência entre programas e dados. (ex.: Acrescentar registros, modificar tipos de 
float para double, etc).
 Em alguns casos, podemos definir operações e guardá-las no catálogo. Através deste 
processo, chegamos à chamada Independência entre programa e operação. (ex.: Uso 
de Store Procedures).
 A característica que permite isto é a abstração de dados.
 
  struct aluno {
  char nome[35];
  int numero_aluno;
  int tipo_aluno;
  char curso[2];
  };
Banco de Dados 8
Arquitetura de três esquemas
 Representação Conceitual – Representação fornecida pelo SGBD que não inclui 
detalhes de armazenamento ou implementação de operações.
Banco de Dados 9
Arquitetura de três esquemas
 Modelo de dados – É o tipo de abstração de dados utilizada para fornecer uma 
representação conceitual.
 Modelo Relacional:
 Modelo Orientado a Objetos:
Banco de Dados 10
Arquitetura de três esquemas
 Modelo de dados – É o tipo de abstração de dados utilizada para fornecer uma 
representação conceitual.
 Modelo Hierárquico:
Banco de Dados 11
Arquitetura de três esquemas
 Modelo de dados – É o tipo de abstração de dados utilizada para fornecer uma 
representação conceitual.
 Modelo Hierárquico:
Banco de Dados 12
Arquitetura de três esquemas
 Modelo de dados – É o tipo de abstração de dados utilizada para fornecer uma 
representação conceitual.
 Modelo de redes:
Banco de Dados 13
Arquitetura de três esquemas
 A natureza autodescritiva de um SGBD
 Um SGBD contém uma definição 
completa e descrições das restrições e da 
estrutura do banco de dados.
 Catálogo – é o local onde são 
armazenadas as definições de um banco 
de dados.
 Metadados – são as definições de 
dados guardadas no catálogo.
 O Catálogo é local onde os metadados 
estão armazenados.
Banco de Dados 14
Arquitetura de três esquemas
 Metadados
Banco de Dados 15
Linguagens de interface
 Linguagens do SGBD
 Linguagens de definição de Dados (DDL – Data Definition Language)
 É utilizada para especificar os esquemas conceitual e interno para o banco de 
dados. O SGBD deve ter um compilador para DDL cuja função é processar 
declarações e armazenar a descrição do esquema no catálogo do SGBD.
 Ex.: (SQL) → CREATE TABLE, DROP TABLE, ALTER TABLE, etc.
 (XML) → DTD, XML Schema.
 (OO) → Classes.
Banco de Dados 16
Linguagens de interface
 Linguagens do SGBD
 Linguagens de manipulação de dados (DML – Data Manipulation Language)
 É utilizada para manipulações típicas, que incluem a recuperação, a exclusão e a 
modificação dos dados.
 Ex: (SQL) → SELECT, INSERT, DELETE, UPDATE.
Banco de Dados 17
Linguagens de interface
 Linguagens do SGBD
 Linguagens de definição de visão (VDL – View Definition Language)
 É utilizada para especificar visões do usuário. Em alguns casos, a DDL também 
faz o papel de VDL. Ex: CREATE VIEW, DROP VIEW.
Banco de Dados 18
Linguagens de interface
 Linguagens do SGBD
 Linguagens de definição de visão (VDL – View Definition Language)
 É utilizada para especificar visões do usuário. Em alguns casos, a DDL também 
faz o papel de VDL. Ex: CREATE VIEW, DROP VIEW.
 Uma visão pode ser um subconjunto de banco de dados ou pode conter apenas 
metadados que sejam derivados das tabelas de banco de dados.
 Os usuários comuns não precisam saber se uma tabela é uma visão ou não.
Banco de Dados 19
Linguagens de interface
 Linguagens do SGBD
 Linguagens de definição do armazenamento (SDL – Storage Definition Language)
 É utilizada para especificar o esquema interno e, neste caso, deixar que a DDL 
especifique apenas o esquema conceitual.
 Obs.1: Atualmente, A SDL é utilizada de forma automática pelo SGBD.
 Obs.2: Nos SGBDs atuais, não utilizamos todas estas linguagens como sendo 
distintas, mas uma única linguagem pode conter todas (ou várias) destas 
linguagens. EX: a SQL, ela pode representar a DDL, VDL e DML.
 Linguagem hospedeira – Linguagem de programação de uso geral, que utiliza de 
forma embutida, algumas das linguagens descritas anteriormente.
 Linguagem de consultas (Query) – São as linguagens (DDL, VDL, DML) utilizadas de 
uma maneira interativa individualizada.
Banco de Dados 20
Arquiteturas de comunicação
 Arquitetura Cliente/Servidor para SGBDs – Os componentes de sistemas que foram 
movimentados para o lado cliente foram a interface com o usuário e os programas de 
aplicação. As funcionalidades de transação permanecem do lado servidor.
 Quando o acesso ao SGBD é necessário, o programa cliente estabelece uma 
conexão com o programa que está do lado servidor. Os resultados da consulta são 
enviados de volta para o programa cliente.
Banco de Dados 21
Arquiteturas de comunicação
 Arquitetura Cliente/Servidor de três camadas (para aplicações Web) – A arquitetura 
de três camadas possui uma camada intermediária entre o cliente e o servidor de 
banco de dados.
 Esta camada intermediária se chama servidor WEB, que desempenha um papel 
intermediário, armazenando as regras de negócio (procedimentos ou restrições) que 
são utilizadas para acessar os dados do servidor de banco de dados.
 O servidor web pode retornar uma requisição em um formato mais adequado (ex: 
HTML).
Banco de Dados 22
Interfaces múltiplas de usuário
 Linguagens de Consulta
 Ex: SQL, XPATH, XLINK, XQUERY, OQL, etc.Banco de Dados 23
Interfaces múltiplas de usuário
 Interfaces com Linguagem de Programação
 Nativas ou através do uso de drivers (ex: JDBC)
 Interfaces Gráficas
 DBExpress, MySQL Administrator, MySQL Workbench, XML Spy, etc
Banco de Dados 24
Interfaces múltiplas de usuário
 Interfaces WEB Enabling
 Ex: PhpMyAdmin, PhpPgAdmin, etc. 
 Interfaces em Modo texto
 Prompt, Konsole, etc.
Banco de Dados 25
Arquiteturas para SBDs
 Exemplo de interação entre vários Servidores de bancos de dados
 DNS – Domain Name System
1 – recuperar IP para www.ufla.br
2 – recuperar IP para www.ufla.br
3 – Servidor de Nomes Responsável: fapesp (dominios .br)
4 – recuperar IP para www.ufla.br
5 – Servidor de Nomes Responsável: dns.ufla.br
6 – recuperar IP para www.ufla.br
7 – IP para www.ufla.br é 200.131.250.54
8 – IP = 200.131.250.54
Banco de Dados 26
Módulos componentes do SGBD
 Wrappers – wrappers são construídos para homogenizar a aparência das fontes de 
dados.
 Driver – Software que possibilita a comunicação de uma linguagem hospedeira e um 
SGBD especifico, fornecendo métodos que criam a interface com este. O driver faz 
uma interface com a linguagem de programação e uma interface com o SGBD, 
fazendo o papel de cliente/servidor.
 Componente Controle - faz a orquestração da comunicação entre os serviços 
componentes.
Banco de Dados 27
Módulos componentes do SGBD
 Gerente de metadados – componente responsável por gerenciar as fontes de dados, 
os metadados globais e as informações de mapeamento.
 Componente Processamento de Consultas - responsável por processar as 
requisições globais feitas pelas aplicações. Ele é composto por: parser, reescritor, 
otimizador de consultas e máquina de execução de consultas.
 Parser – Responsável pela análise léxica e sintática da consulta global submetida, de 
acordo com as informações contidas nos metadados, existindo a possibilidade de 
rejeição da consulta no caso de erros de sintaxe, de semântica ou de tipos incorretos. 
Quando acontece a rejeição, a consulta é retornada à aplicação cliente, com o 
respectivo motivo da rejeição (código de retorno).
Banco de Dados 28
Módulos componentes do SGBD
 Reescritor – reescreve a consulta submetida, agrupando as informações que devem 
ser fornecidas por cada fonte de dados.
 Otimizador – Responsável por produzir um plano de execução de consulta otimizado 
para a consulta. A permutação da ordem das operações dentro da árvore de operações 
pode fornecer muitas estratégias de execução. O papel do otimizador de consulta é 
encontrar a ordenação ótima destas operações.
 Máquina de Execução de Consultas – 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.
Banco de Dados 29
Ramon Gomes Costa, Prof. D.Sc.
ramongomescosta@gmail.com
Arquitetura de Sistemas Gerenciadores de
Bancos de Dados
Arquitetura de Sistemas Gerenciadores de
Bancos de Dados
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29

Outros materiais