• Nenhum resultado encontrado

Sistemas locais integrados, homogêneos, com arquitetura cliente-servidor (SGBD Cliente-Servidor)

N/A
N/A
Protected

Academic year: 2019

Share "Sistemas locais integrados, homogêneos, com arquitetura cliente-servidor (SGBD Cliente-Servidor)"

Copied!
12
0
0

Texto

(1)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

401

Arquiteturas para SGBDs

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 402

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 402

Caracterização de SGBDs

Quanto ao Modelo de Dados:

relacional

orientado-a-objeto

semi-estruturado

outros

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 403

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 403

Caracterização de SGBDs

Quanto à Arquitetura:

centralizada

cliente-servidor

distribuída

paralela

estendível

outras

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 404

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 404

Caracterização de SGBDs

Quanto às características dos dados

ou da aplicação:

dados clássicos

texto/documentos

multimídia

geográfico

outros

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 405

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 405

Caracterização de SGBDs

Características das Arquiteturas:

Distribuição do Controle (Autonomia Local):

A0. sistemas totalmente integrados

A1. sistemas semi-autônomos

A2. sistemas autônomos

Distribuição dos Dados:

D0. sistemas centralizados

D1. sistemas cliente-servidor

D2. sistemas distribuídos (peer-to-peer systems)

Heterogeneidade:

H0. sistemas homogêneos

H1. sistemas heterogêneos

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 406

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 406

Caracterização de SGBDs

Exemplos de Arquiteturas:

(A0,H0,D1)

Sistemas locais integrados, homogêneos, com

arquitetura cliente-servidor (SGBD Cliente-Servidor)

(A2,H1,D1)

Sistemas locais autônomos, heterogêneos, com

arquitetura cliente-servidor

(A0,H0,D2)

Sistemas locais integrados, homogêneos, com

arquitetura distribuída (SGBDD Homogêneo)

(A2,D2,H2)

(2)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 407

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 407

SGBDs Centralizados

Descrição do Banco de Dados:

nível externo:

especificação da organização

conceitual do BD, vista por um

grupo de usuários

nível conceitual:

especificação da organização

conceitual do BD, ou seja, o quê

o BD armazena

nível físico ou interno:

especificação das estruturas de

armazenamento do BD, ou seja,

como o BD está armazenado

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 408 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes

SGBDs Centralizados -

Arquitetura

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 409

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 409

SGBDs Cliente-Servidor

Servidor de Objetos:

servidor transfere objetos para a object cache area do

cliente

cliente é responsável por:

executar os métodos comandados pela aplicação

obter do servidor os objetos necessários

gerenciar os objetos armazenados na object cache area

local, incluindo a criação, atualização e remoção de objetos

servidor é responsável pelo:

processamento de consultas, incluindo a recolocação dos

objetos atualizados no banco

gerência de transações, incluindo a sincronização da object

cache area dos cliente

servidor pode fazer pre-fetch de objetos e enviá-los ao

cliente

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 410

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 410

SGBDs Cliente-Servidor

Servidor de Páginas:

servidor transfere páginas para a buffer pool

area do cliente

cliente é responsável por:

executar os métodos comandados pela aplicação

implementar toda a semântica associada a objetos

servidor é responsável pelo:

armazenamento físico dos objetos apenas

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 411

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 411

SGBDs Cliente-Servidor

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 412

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 412

SGBDs Distribuídos e

Homogêneos

BD Distribuído:

banco de dados armazenado em vários

servidores, conectados por uma rede de

comunicação de dados

SGBD Distribuído:

(3)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 413

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 413

SGBDs Distribuídos e

Homogêneos

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 414

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 414

SGBDs Distribuídos e

Homogêneos

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 415

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 415

Multi-SGBDs Heterogêneos

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 416

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 416

SGBDs Paralelos

Combinam técnicas de gerência de dados e

processamento paralelo para aumentar

desempenho e confiabilidade:

particionamento do BD em discos controlados por

multiprocessadores resulta em aumento da taxa de

transferência de dados da memória secundária para

memória principal (I/O bandwidth)

paralelização do processamento interno de consultas

resulta em diminuição do tempo de resposta

paralelização do processamento de transações resulta

em aumento da capacidade do sistema (throughput)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 417

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 417

SGBDs Paralelos

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 418

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 418

SGBDs e a WEB

WIIS - Web information integration system:

sistema para processar consultas sobre dados

extraídos de vários Web sites

WIIS X Multi SGBDD:

WIIS compartilham com Multi SGBDDs os

mesmos problemas

WIIS devem ainda lidar com:

(4)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 419

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 419

SGBDs e a WEB

Enfoques para construção de WIIS:

Enfoque de Data Warehouse:

dados de várias fontes são extraídos e

armazenados em uma warehouse

dados são atualizados periodicamente

interessante quando:

os dados são pouco voláteis

processamento de consultas deve ser

eficiente

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 420

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 420

SGBDs e a WEB

Enfoques para construção de WIIS:

Multi-SGBD:

dados são mantidos nos Web sites

consultas são decompostas e enviadas aos várias

Web sites envolvidas

processamento de consultas é mais sofisticado

interessante quando:

o número de Web sites é muito grande;

os dados são voláteis

há pouco controle sobre os Web sites

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 421

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 421

SGBDs e a WEB

Componentes de um WIIS:

Wrapper:

programa construído para traduzir os dados de um Web site

para uma forma que pode ser processada pelo WIIS

Web source:

combinação de um Wrapper com o Web site associado

Mediated Schema:

conjunto de visões sobre os dados armazenados nos Web

sites

Source Descriptions:

conjunto de metadados e regras de reescrita indicando ao

WIIS como reformular as consultas sobre o mediated

schema para consultas sobre as Web sources

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 422

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 422

SGBDs para Estações Móveis

Características:

topologia:

um backbone fixo com estações de controle

também fixas

conjunto de células nas quais transitam as

estações móveis

localização dos dados:

dados residem tanto nas estações fixas

quanto nas móveis ("walkstations")

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 423

ECO022 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 423

SGBDs para Estações Móveis

Manutenção do Diretório:

Problema:

como localizar as estações móveis que contêm os dados desejados

Alternativas:

armazenar a localização da estação móvel apenas nas sua estação

de base

distribuir a informação sobre a localização das estações móveis

pre-anunciar o roteiro de cada estação móvel

Caching:

Problema:

limite da bateria da estação móvel impõe restrições sobre o grau de

caching

Alternativas:

mover consultas para estações fixas, transferindo apenas resultados

adotar filtros semânticos mais sofisticados para reduzir o tamanho

do cache

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

424 424

(5)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 425

Banco de dados na Internet

Sistemas de Banco de dados com

base na web são comuns.

Em um sistema com base na web, o

protocolo de comunicações usado é o

protocolo de transferência de

hipertexto (http).

425 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 426

Banco de dados na Internet

O software servidor sendo executado

em um servidor web espera por uma

requisição de um usuário.

Quando uma requisição de usuário é

enviada, o software responde a ela e

retorna uma página correspondente.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 426

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 427

Banco de dados na Internet

Quando um banco de dados é usado em

conjunto com uma página web, um servidor

de banco de dados é adicionado ao

sistema.

Esse sistema pode ser configurado em três

camadas e é chamado de sistema

cliente/servidor de três camadas.

Consiste de uma camada de apresentação,

uma de lógica e uma de dados.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 427 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 428

Banco de dados na Internet

A camada de apresentação recebe entradas

de usuário, como condições de consulta,

que precisam ser passadas para o banco de

dados.

Processa resultados de consultas recebidas

pelo banco de dados para que eles possam

ser exibidos.

Um browser funciona como ferramenta de

apresentação para o usuário.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 428

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 429

Banco de dados na Internet

A camada de lógica efetua o processamento dos

dados.

Essa camada é onde os comandos SQL são

compostos.

Os processos executados são escritos em uma ou

mais linguagens de programação.

Dependendo dos conteúdos e da carga dos

processos, diversos servidores, tal como um

servidor de aplicações e um servidor web, podem

ser usados para lidar com o processamento.

429 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 430

Banco de dados na Internet

A camada de dados processa dados

em um servidor de banco de dados.

Os resultados de consultas são

retornados do banco de dados em

resposta a consultas SQL.

430 ECO031 - Banco de Dados - Aulas Teóricas -

(6)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 431

Uso de Procedimentos

Armazenados

Em um sistema com base na web,

muito tráfego na rede pode ser um

problema.

Pode-se manter lógica de

programação dentro do próprio

servidor de banco de dados como

procedimento armazenado (stored

procedure).

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 431 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 432

Uso de Procedimentos

Armazenados

Procedimentos armazenados nos servidores de BD

ajudam a reduzir a carga na rede, porque eliminam

a necessidade de transferências frequentes de

consultas SQL.

Armazenar procedimentos torna mais fácil

desenvolver aplicativos, uma vez que processos

padronizados podem ser encapsulados em

procedimentos também torna mais fácil

desenvolver aplicativos, uma vez que processos

padronizados podem ser encapsulados em

procedimentos fáceis de usar

.

432 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 433

Banco de Dados Distribuído

Em um sistema com base na web, o

processamento é distribuído entre um

servidor de banco de dados, um servidor de

Internet e um programa navegador, cada

um responsável por diferentes tarefas.

Este tipo de sistema distribuído permite

flexibilidade e diminui a capacidade de

processamento necessária em cada

servidor.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 434

Banco de Dados Distribuído

Um servidor de BD por si só pode ser

distribuído entre diversos servidores.

Servidores de BD distribuídos podem ser

tratado como se fosse um único BD.

Se o BDD parece ser um servidor único, o

usuário não precisa se preocupar com a

localização dos dados ou com

transferências.

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 435

Banco de Dados Distribuído –

Distribuição Horizontal

Utiliza diversos servidores de BD em

colaboração igualitária.

Cada servidor de BD pode usar dados dos

outros e, cada um está disponível para

todos os demais.

É um sistema projetado para ser resistente

a falhas, uma vez que problemas num

servidor não afetarão a operação do banco

como um todo.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 436

Banco de Dados Distribuído –

Distribuição Vertical

Atribui diferentes funções para diferentes

servidores de BD.

Um deles funciona como servidor principal e

executa um papel central, enquanto outros

estão encarregados de tarefas de

processamento enviadas a eles.

Facilita o gerenciamento do servidor

principal, embora possa receber uma

grande carga.

(7)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 437

Particionamento de Dados

Em um BDD, os dados ficam

espalhados entre diversos servidores

de armazenamento.

Deve-se considerar cuidadosamente

como dividir os dados.

Eles podem ser particionados com:

Particionamento Horizontal

Particionamento Vertical

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 438

Particionamento Horizontal

É uma divisão tendo linhas como unidade.

Linhas resultantes dessa separação são

distribuídas por vários servidores.

Este tipo de particionamento é muito

utilizado quando dados que podem ser

ordenados em grupos relacionados,

frequentemente acessados ao mesmo

tempo, são armazenados em um mesmo

servidor.

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 439

Particionamento Vertical

É o que divide dados utilizando

colunas como unidade.

Colunas resultantes dessa divisão são

distribuídas entre servidores.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 440

Evitando Inconsistências

BD em servidores diferentes num sistema

distribuído podem ser configurados para

agir como se fossem um único banco no

ponto de vista dos usuários.

Para conseguir isso, vários passos têm que

ser seguidos para lidar com o fato de que os

dados estão espalhados entre diversos

servidores.

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 441

Evitando Inconsistências

Primeiro, sempre que ocorrer a

efetivação, os dados em todos os

servidores precisam ser atualizados

de forma consistente.

Em um sistema de BDD, o

método-padrão de efetivação pode fazer com

que um dos servidores seja atualizado

e outros não.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 442

Evitando Inconsistências

Isso é uma violação da propriedade de

atomicidade das transações, uma vez

que elas estariam sendo encerradas

não por uma efetivação (commit) nem

por uma reversão (rollback).

Isso também faria com que o sistema

de BD como um todo se tornasse

inconsistente.

(8)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 443

Evitando Inconsistências

Uma efetivação em duas fases é

adotada em um sistema de BDD.

Cria uma única operação de

efetivação a partir de duas ações

diversas.

Uma operação de efetivação em duas

fases envolve um coordenador e

outros participantes.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 444

Evitando Inconsistências

Na primeira fase o coordenador

pergunta aos participantes se a

operação de efetivação é possível.

Os participantes enviam a mensagem

OK se for o caso.

Esse passo é conhecido como

preparação.

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 445

Evitando Inconsistências

Na segunda fase, o coordenador envia

instruções para uma efetivação, e todos os

participantes procedem de acordo.

Se qualquer ponto falhar em assegurar o

procedimento de efetivação nessa operação

em duas fases, todos os participantes

recebem comandos para reversão.

É por isso que os BD em todos os

servidores permanecem consistentes entre

si.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 446

Replicação em Banco de

Dados

Alguns BDD contêm um BD em

duplicidade, ou réplica, que reduz a

carga da rede.

O BD primário é chamado de BD

principal, e a cópia é chamada de

réplica.

Há diversos tipos de Replicação.

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 447

Replicação em Banco de

Dados

Somente leitura (read-only)

Uma réplica somente para leitura é

criada e baixada do BD principal no

servidor principal.

Para alterar os dados, os usuários devem

conectar-se ao servidor principal.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 448

Replicação em Banco de

Dados

Replicação ativa em todos os

servidores

Nesse método, o mesmo BD principal é

compartilhado por todos os servidores.

Atualizações em qualquer um dos

servidores são feitas em todos os outros.

(9)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 449

Outras Aplicações de Banco

de Dados

XML

A linguagem extensível de marcação (XML) é

cada vez mais popular como um método de

armazenamento de dados.

O XML representa dados delimitando-os com

tags.

Já que essas tags podem trazer informações

sobre os dados que contêm, essa linguagem é

útil para armazenamento e recuperação de

dados.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 450

Outras Aplicações de Banco

de Dados

XML

O XML é útil porque sua sintaxe estritamente

estruturada facilita processos programados.

O XML aparece em arquivos de texto (fáceis de

editar) e pode se comunicar com outros

sistemas.

O XML é às vezes usado como um método de

representação de dados no lugar de um BD.

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 451

Outras Aplicações de Banco

de Dados

XML

Sua ideia é baseada em marcações (tags)

Extremamente flexível

Dela derivam-se diversas linguagens (XHTML,

MathML, SMIL....)

Fácil de entender

Muito simples e legível

Pode ser utilizada por diversas aplicações

Pode ser formal e estruturado

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 452

Outras Aplicações de Banco

de Dados

XML

Separa do usuário a interface de apresentação

dos dados estruturados

Pode armazenar valores e elementos

Diferenças HTML e XML:

Html define como o documento deve ser

apresentado ao usuário

XML define dados que podem ser utilizados pela

aplicação

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 453

Outras Aplicações de Banco

de Dados

XML

Definido em um formato de árvore

Os elementos ficam divididos em raiz e filhos

Todas as tags abertas precisam ser fechadas

<> </>

Case sensitive

Espaços são considerados

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 454

Outras Aplicações de Banco

de Dados

XML

(10)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 455

Outras Aplicações de Banco

de Dados

XML – Exemplo

<?xml version=“1.0” ?>

<produtos>

<fruta>

<codigo_produto>101</codigo_produto>

<nome_produto>Melão</nome_produto>

<preco_unitario>800</preco_unitario>

</fruta>

</produtos>

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 456

Outras Aplicações de Banco

de Dados

XML – Exemplo

<?xml version="1.0"?>

<aviso>

<para>Janice data="01/04/2000"</para>

<de>Jefferson</de>

<cabecalho>Lembre-se</cabecalho>

<corpo>Amanha voce tem prova de matematica</corpo>

</aviso>

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 457

Outras Aplicações de Banco

de Dados

XML – Exemplo

Usando um atributo para o sexo:

<pessoa sexo="feminino">

<nome>Ana</nome>

<sobrenome>Rachel</sobrenome>

</pessoa>

Usando um elemento para o sexo:

<pessoa>

<sexo>feminino</sexo>

<nome>Ana</nome>

<sobrenome>Rachel</sobrenome>

</pessoa>

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 458

Outras Aplicações de Banco

de Dados

XML

Linguagem para definir a estrutura do

documento XML

Verifica se são dados válidos

Verifica se esta bem formatado

Segundo a W3C, o XML não deve continuar a

ser lido a menos que passe pelo DTD

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 459

Outras Aplicações de Banco

de Dados

XML

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

XML

Parser

XML

Document

Parsed XML

“Not well-formed”

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 460

Outras Aplicações de Banco

de Dados

XML - DTD

Declarações <!____________>

Elementos <!ELEMENT ________>

Atributos <!ATTLIST ________>

Entidades <!ENTITY ________>

Novos tipos <!NOTATION ________>

Ex:

<!ELEMENT aviso(para, de, cabecalho, corpo)>

(11)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 461

Outras Aplicações de Banco

de Dados

XML – DTD exemplo

<!DOCTYPE recipecollection [

...

<!ELEMENT recipe

(title,author?,date?,description,ingredients,preparation,related)>

<!ATTLIST recipe id ID

#REQUIRED

category (breakfast|lunch|dinner|dessert|unknown)

#IMPLIED>

<!ELEMENT title (#PCDATA)>

<!ELEMENT author ANY>

… ]>

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 462

Outras Aplicações de Banco

de Dados

XML – DTD exemplo

<!DOCTYPE curso [

<!ELEMENT curso (modulo+,glossario)>

<!ELEMENT modulo (pagina+)>

<!ELEMENT glossario (define*)>

<!ELEMENT pagina (texto?, imagem?, botao*)>

<!ELEMENT define (#PCDATA)>

<!ELEMENT botao (#PCDATA)>

<!ELEMENT texto (#PCDATA)>

<!ATTLIST pagina id CDATA #IMPLIED

titulo CDATA #IMPLIED>

<!ATTLIST botao tipo CDATA #IMPLIED>

<!ATTLIST define termo CDATA #IMPLIED>]>

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 463

Outras Aplicações de Banco

de Dados

XML – DTD exemplo – Documento que satisfaz a DTD

<curso>

<glossario>

<define termo="GUI">

Grafical Users Interface - Interface gráfico com o utilizador.

</define>

</glossario>

<modulo>

<pagina id="unix1" titulo="Interpretador de comandos">

<botao tipo="Objectivos">

Introdução à shell de UNIX e aos seus comandos básicos

</botao>

<texto>

No <ref>interpretador de comandos</ref> o utilizador pode executar linhas de

comando. BL´A-BL´A...

</texto>

</pagina>

</modulo>

</curso>

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 464

Outras Aplicações de Banco

de Dados

XML

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

Validating

XML

Parser

XML

Document

Parsed XML

“Not valid”

DTD or XSD

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 465

Outras Aplicações de Banco

de Dados

XML – Tecnologias Associadas

Formatar: CSS, XSLT

Transformar, visualizar: XSL

Ligar/incluir: XLINK, XPOINTER

Processar, navegar: XPATH, SAX, DOM

Definir: XML Schema, RELaX

Pesquisar: XQUERY, XQL

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 466

Outras Aplicações de Banco

de Dados

Banco de Dados Orientado a Objeto

Um BD relacional armazena dados em

formato de texto em tabelas.

Ele pode ser inadequado quando se lida

com certos tipos de dados.

O método orientado a objetos utiliza

objetos – conjunto de dados e instruções

sobre como esses dados devem ser

usados.

(12)

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 467

Outras Aplicações de Banco

de Dados

Banco de Dados Orientado a Objetos

É possível ocultar os dados e expor apenas as

operações sobre os dados para lidar com o

objeto como um componente independente.

Essa técnica é chamada de encapsulamento.

Em um BD orientado a objeto, cada objeto é

representado com um identificador.

Um objeto também pode ser chamado de

instância.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 468

Outras Aplicações de Banco

de Dados

Banco de Dados Orientado a Objetos

Pode-se gerenciar objetos compostos –

um objeto definido dentro de outro.

Pode-se armazenar dados que consistem

em uma imagem com texto como um

único objeto.

O BD permite gerenciamento flexível de

dados complexos.

ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes

11/19/10 ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 469

Outras aplicações de Banco

de Dados

Banco de Dados Orientado a Objetos

Vários conceitos podem facilitar o

desenvolvimento do BD, tais como, a

herança e outros conceitos da orientação

a objetos.

ECO031 - Banco de Dados - Aulas Teóricas -

Fabiana Costa Guedes 11/19/10 ECO031 - Banco de Dados - Aulas Teóricas - Fabiana Costa Guedes 470

Exercícios

Num sistema cliente/servidor de três camadas, em qual delas

o BD opera?

Em um sistema Cliente/servidor de três camadas, em qual

delas ocorrem as interações com o usuário e onde os

resultados são apresentados?

Em um sistema de efetivação em duas fases, quais

instruções o coordenados dá durante a primeira fase?

Em um esquema de efetivação em duas fases, quais

instruções o coordenados dá durante a segunda fase?

Fale sobre o XML. Faça uma pesquisa sobre ela para

aumentar os seus conhecimentos e monte um texto

mostrando o que conseguiu aprender.

Fale sobre o BD orientado a objetos.

Referências

Documentos relacionados

Essencial para conversão da energia gerada pelos módulos fotovoltaicos de CC para CA, nos parâmetros adequados para conexão com o sistema elétrico local.. » Duas entradas

Porcas de fixação intercambiáveis, porcas de fixação estilo refrigerante e discos do refrigerante estão disponíveis e devem ser pedidos separadamente; consulte a página

Contudo, refletir acerca da inclusão escolar para o educando autista no contexto da Política Pública do município de Manaus, tendo como parâmetro os conceitos presentes na Política

Fornece as funções e meios de transferência de sequências de dados de uma fonte para um hospedeiro de destino através de uma ou mais redes.. Trata o encaminhamento de pacotes

oriundos de um banco de dados e outros elementos para criar arquivos HTML, dinamicamente, para que o.. servidor Web faça

The sample was composed of individuals of both genders, older than 11 years at the time of treatment, with severe sequelae in one hip, who were submitted to Schanz’s pelvic

todos muito peculiares, e porque o protagonista, o pr(ncipe =(chkin, nos encher&#34; de esperanças $le é um homem simples e benevolente, que sabe perdoar, mas, por  viver em uma

Ao se aproximar mais um pouco da análise, tendo como referência o estado de Minas Gerais, a realidade não é muito diferente da situação do país, embora os resultados