Você está na página 1de 29

Arquitetura

Arquiteturade
de Sistemas
Sistemas Gerenciadores
Gerenciadoresde
de
Bancos de Dados
Bancos de Dados

Ramon Gomes Costa, Prof. D.Sc.


Aula Expositiva
Plano de Curso

Arquitetura de Sistemas Gerenciadores de Bancos de Dados


Introduo
Arquitetura de trs esquemas
Linguagens de interface
Arquiteturas de comunicao
Interfaces mltiplas de usurio
Mdulos componentes do SGBD
Exerccios.

Banco de Dados 2
Introduo

Antigamente, um SGBD era um Sistema Monoltico, hoje os SGBDs utilizam uma


arquitetura cliente-servidor.
Mdulo Cliente Projetado para ser executado em uma estao de trabalho ou
computador pessoal. De certo modo, o mdulo cliente lida com a interveno com
o usurio e fornece uma interface amigvel ao mesmo.
Mdulo Servidor Lida com os armazenamentos dos dados, acessos, e tratam
de retornar ao cliente qualquer operao feita.

Banco de Dados 3
Introduo

Sistema Gerenciador de Bancos de Dados (SGBD) Um sistema que possibilita que


os usurios criem e mantenham um banco de dados (Ex.: Firebird, MySQL, Access,
Oracle, etc).

Banco de Dados 4
Introduo

Mapeamento (mapping) o processo de transformao de solicitaes 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 no suportam
vises externas.

Banco de Dados 5
Arquitetura de trs esquemas

A independncia de dados
Independncia lgica de dados a
capacidade de alternar o esquema
conceitual sem ter que alterar
esquemas externos ou programas de
aplicao.
Alteraes em restries de
integridade podem ser aplicadas da
mesma forma ao esquema conceitual,
sem afetar os esquemas externos ou
os programas de aplicao.
Independncia fsica de dados a
capacidade de alterar o esquema
interno sem ter que alterar os
esquemas conceituais ou externos.

Arquitetura de trs esquemas


(ANSI/SPARC)

Banco de Dados 6
Arquitetura de trs esquemas

Isolamento programas, dados e operaes


Se utilizarmos um SGBD, apenas modificamos os metadados, sem que precisamos
(na maioria das vezes) fazer mudanas no programa. Chamamos essa propriedade de
Independncia entre programas e dados. (ex.: Acrescentar registros, modificar tipos de
float para double, etc).
Em alguns casos, podemos definir operaes e guard-las no catlogo. Atravs deste
processo, chegamos chamada Independncia entre programa e operao. (ex.: Uso
de Store Procedures).
A caracterstica que permite isto a abstrao de dados.

structaluno{
charnome[35];
intnumero_aluno;
inttipo_aluno;
charcurso[2];
};

Banco de Dados 7
Arquitetura de trs esquemas

Representao Conceitual Representao fornecida pelo SGBD que no inclui


detalhes de armazenamento ou implementao de operaes.

Banco de Dados 8
Arquitetura de trs esquemas

Modelo de dados o tipo de abstrao de dados utilizada para fornecer uma


representao conceitual.
Modelo Relacional:

Modelo Orientado a Objetos:

Banco de Dados 9
Arquitetura de trs esquemas

Modelo de dados o tipo de abstrao de dados utilizada para fornecer uma


representao conceitual.
Modelo Hierrquico:

Banco de Dados 10
Arquitetura de trs esquemas

Modelo de dados o tipo de abstrao de dados utilizada para fornecer uma


representao conceitual.
Modelo Hierrquico:

Banco de Dados 11
Arquitetura de trs esquemas

Modelo de dados o tipo de abstrao de dados utilizada para fornecer uma


representao conceitual.
Modelo de redes:

Banco de Dados 12
Arquitetura de trs esquemas

A natureza autodescritiva de um SGBD


Um SGBD contm uma definio
completa e descries das restries e da
estrutura do banco de dados.
Catlogo o local onde so
armazenadas as definies de um banco
de dados.
Metadados so as definies de
dados guardadas no catlogo.
O Catlogo local onde os metadados
esto armazenados.

Banco de Dados 13
Arquitetura de trs esquemas

Metadados

Banco de Dados 14
Linguagens de interface

Linguagens do SGBD
Linguagens de definio 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 funo processar
declaraes e armazenar a descrio do esquema no catlogo do SGBD.
Ex.: (SQL) CREATE TABLE, DROP TABLE, ALTER TABLE, etc.
(XML) DTD, XML Schema.
(OO) Classes.

Banco de Dados 15
Linguagens de interface

Linguagens do SGBD
Linguagens de manipulao de dados (DML Data Manipulation Language)
utilizada para manipulaes tpicas, que incluem a recuperao, a excluso e a
modificao dos dados.
Ex: (SQL) SELECT, INSERT, DELETE, UPDATE.

Banco de Dados 16
Linguagens de interface

Linguagens do SGBD
Linguagens de definio de viso (VDL View Definition Language)
utilizada para especificar vises do usurio. Em alguns casos, a DDL tambm
faz o papel de VDL. Ex: CREATE VIEW, DROP VIEW.

Banco de Dados 17
Linguagens de interface

Linguagens do SGBD
Linguagens de definio de viso (VDL View Definition Language)
utilizada para especificar vises do usurio. Em alguns casos, a DDL tambm
faz o papel de VDL. Ex: CREATE VIEW, DROP VIEW.
Uma viso pode ser um subconjunto de banco de dados ou pode conter apenas
metadados que sejam derivados das tabelas de banco de dados.
Os usurios comuns no precisam saber se uma tabela uma viso ou no.

Banco de Dados 18
Linguagens de interface

Linguagens do SGBD
Linguagens de definio 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 automtica pelo SGBD.
Obs.2: Nos SGBDs atuais, no utilizamos todas estas linguagens como sendo
distintas, mas uma nica linguagem pode conter todas (ou vrias) destas
linguagens. EX: a SQL, ela pode representar a DDL, VDL e DML.

Linguagem hospedeira Linguagem de programao de uso geral, que utiliza de


forma embutida, algumas das linguagens descritas anteriormente.
Linguagem de consultas (Query) So as linguagens (DDL, VDL, DML) utilizadas de
uma maneira interativa individualizada.

Banco de Dados 19
Arquiteturas de comunicao

Arquitetura Cliente/Servidor para SGBDs Os componentes de sistemas que foram


movimentados para o lado cliente foram a interface com o usurio e os programas de
aplicao. As funcionalidades de transao permanecem do lado servidor.
Quando o acesso ao SGBD necessrio, o programa cliente estabelece uma
conexo com o programa que est do lado servidor. Os resultados da consulta so
enviados de volta para o programa cliente.

Banco de Dados 20
Arquiteturas de comunicao

Arquitetura Cliente/Servidor de trs camadas (para aplicaes Web) A arquitetura


de trs camadas possui uma camada intermediria entre o cliente e o servidor de
banco de dados.
Esta camada intermediria se chama servidor WEB, que desempenha um papel
intermedirio, armazenando as regras de negcio (procedimentos ou restries) que
so utilizadas para acessar os dados do servidor de banco de dados.
O servidor web pode retornar uma requisio em um formato mais adequado (ex:
HTML).

Banco de Dados 21
Interfaces mltiplas de usurio

Linguagens de Consulta
Ex: SQL, XPATH, XLINK, XQUERY, OQL, etc.

Banco de Dados 22
Interfaces mltiplas de usurio

Interfaces com Linguagem de Programao


Nativas ou atravs do uso de drivers (ex: JDBC)
Interfaces Grficas
DBExpress, MySQL Administrator, MySQL Workbench, XML Spy, etc

Banco de Dados 23
Interfaces mltiplas de usurio

Interfaces WEB Enabling


Ex: PhpMyAdmin, PhpPgAdmin, etc.

Interfaces em Modo texto


Prompt, Konsole, etc.

Banco de Dados 24
Arquiteturas para SBDs

Exemplo de interao entre vrios 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 Responsvel: fapesp (dominios .br)
4 recuperar IP para www.ufla.br
5 Servidor de Nomes Responsvel: 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 25
Mdulos componentes do SGBD

Wrappers wrappers so construdos para homogenizar a aparncia das fontes de


dados.
Driver Software que possibilita a comunicao de uma linguagem hospedeira e um
SGBD especifico, fornecendo mtodos que criam a interface com este. O driver faz
uma interface com a linguagem de programao e uma interface com o SGBD,
fazendo o papel de cliente/servidor.
Componente Controle - faz a orquestrao da comunicao entre os servios
componentes.

Banco de Dados 26
Mdulos componentes do SGBD

Gerente de metadados componente responsvel por gerenciar as fontes de dados,


os metadados globais e as informaes de mapeamento.
Componente Processamento de Consultas - responsvel por processar as
requisies globais feitas pelas aplicaes. Ele composto por: parser, reescritor,
otimizador de consultas e mquina de execuo de consultas.
Parser Responsvel pela anlise lxica e sinttica da consulta global submetida, de
acordo com as informaes contidas nos metadados, existindo a possibilidade de
rejeio da consulta no caso de erros de sintaxe, de semntica ou de tipos incorretos.
Quando acontece a rejeio, a consulta retornada aplicao cliente, com o
respectivo motivo da rejeio (cdigo de retorno).
Banco de Dados 27
Mdulos componentes do SGBD

Reescritor reescreve a consulta submetida, agrupando as informaes que devem


ser fornecidas por cada fonte de dados.
Otimizador Responsvel por produzir um plano de execuo de consulta otimizado
para a consulta. A permutao da ordem das operaes dentro da rvore de operaes
pode fornecer muitas estratgias de execuo. O papel do otimizador de consulta
encontrar a ordenao tima destas operaes.
Mquina de Execuo de Consultas Controla o acesso ao banco de dados em
tempo de execuo, recebe os comandos para a recuperao ou atualizao e os
executa no banco de dados.

Banco de Dados 28
Arquitetura
Arquiteturade
de Sistemas
Sistemas Gerenciadores
Gerenciadoresde
de
Bancos de Dados
Bancos de Dados

Ramon Gomes Costa, Prof. D.Sc.


ramon.costa@dcc.ufla.br

Banco de Dados 29

Você também pode gostar