Buscar

Aula 03 160211 Conceitos e Arquiteturas de Sistemas de BD

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 69 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 69 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 69 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de Dados
Haroldo Amaral (haroldo.amaral@gmail.com)
Licenciatura em Computação – 5º Período
16/02/2011
Aula 03 – Conceitos e Arquiteturas de Sistemas de BD
Modelos de Dados
Esquemas de um BD
Estado e Instâncias de um BD
Arquitetura de Três-Esquemas
Linguagens para BD
Interfaces com BD
O Ambiente de um Sistema de BD
Arquiteturas de SGBDs
Classificação de SGBDs
16/02/2011
Banco de Dados
2
16/02/2011
Banco de Dados
3
Como representar uma realidade – minimundo – num BD?
Modelos de Dados
16/02/2011
Banco de Dados
4
Um MODELO é uma ABSTRAÇÃO de algo que se quer representar
A abstração ignora detalhes irrelevantes, concentrando-se apenas no que é essencial (importante) para uma situação
Por exemplo, para os usuários de um BD, uma abstração seria ocultar detalhes do armazenamento dos dados
Todas as áreas da Computação são baseadas em modelos
Em BD, podemos definir MODELOS DE DADOS para representação dos dados
Modelos de Dados
16/02/2011
Banco de Dados
5
Em BD, um MODELO DE DADOS possui um conjunto de conceitos que pode ser usado para descrever a sua estrutura
Estrutura de um banco de dados  Tipos de dados, relacionamentos e restrições que suportam os dados
Um modelo de dados possui, também, uma série de operações básicas para a recuperação e atualizações no banco de dados
Mas, como um Modelo de Dados é definido?
Modelo de Dados
16/02/2011
Banco de Dados
6
Os modelos são classificados de acordo com os seus propósitos e, conseqüentemente, seus conceitos usados para descrever o BD
Assim, temos:
Modelos de Dados Conceituais (ou de alto nível)
Modelos de Dados Representacionais (ou de implementação, ou lógicos)
Modelos de Dados Físicos (ou de baixo nível)
Modelos de Dados Conceituais
16/02/2011
Banco de Dados
7
Possuem conceitos que descrevem os dados da forma mais próxima como os usuários os percebem
Por isso, são considerados modelos de alto nível
Para descrever os dados de um BD, utilizam conceitos, como:
Entidade  Representa um objeto ou um conceito do mundo real, como:
Um FUNCIONÀRIO ou um PROJETO
Atributo  Corresponde a alguma propriedade que descreve uma entidade, como:
O Nome ou o Salário de um FUNCIONÁRIO
RELACIONAMENTO entre duas ou mais entidades  Mostra uma associação entre as mesmas, como:
A relação de trabalho (trabalha-em) de um FUNCIONÁRIO com um PROJETO
Exemplos:
Entidade-Relacionamento (ER), OO
Modelos de Dados Lógicos
16/02/2011
Banco de Dados
8
Possuem conceitos que descrevem os dados de forma compreensível pelos usuários, mas não muito distante da forma como estarão organizados e armazenados num computador
Podem ser implementados diretamente num computador
Porém, ocultam detalhes de armazenamento dos dados
São utilizados pelos SGBDs, dentre eles:
Modelo Relacional, modelos legados (Rede e Hierárquico), modelo Orientado a Objetos, modelo Objeto-Relacional
Modelos de Dados Físicos
16/02/2011
Banco de Dados
9
Possuem conceitos que descrevem os detalhes de armazenamento dos dados em arquivos num computador
São significativos para os especialistas e não para os usuários finais
Entre os detalhes de armazenamento, estão:
Formato de registros, ordem do registros e rotas de acesso (access paths)
Rotas de acesso são estruturas que tornam eficiente a busca por registros de um BD, como, por exemplo, os índices
16/02/2011
Banco de Dados
10
Mas como descrever a estrutura de um BD, através de um modelo?
Esquemas de um BD
16/02/2011
Banco de Dados
11
Descrição do BD, sendo definida durante o projeto do BD
Não é alterado com freqüência, em contraste com os dados
Exceto quando os requisitos da aplicação são alterados  Evolução do Esquema
Os modelos descrevem seus esquemas através de diagramas
Cada objeto no esquema é chamado de CONSTRUTOR
Por exemplo, ALUNO ou CURSO
As descrições dos construtores do esquema e suas restrições são chamadas de METADADOS e armazenadas no CATÁLOGO do SGBD
16/02/2011
Banco de Dados
12
Qual o esquema para esse BD?
16/02/2011
Banco de Dados
13
Estado e Instâncias de um BD
16/02/2011
Banco de Dados
14
Os dados num BD são alterados com freqüência
O ESTADO de um BD ou INSTÂNTANEO (SNAPSHOT) refere-se aos dados presentes neste BD, num determinado instante
As INSTÂNCIAS estão associadas aos registros que os construtores possuem num determinado ESTADO do BD
O SGBD assegura que cada ESTADO do BD seja um estado válido
Um estado que satisfaz a estrutura e as restrições definidas no esquema
16/02/2011
Banco de Dados
15
INSTÂNCIAS de ALUNO
ESTADO do BD
Arquitetura de Três-Esquemas
16/02/2011
Banco de Dados
16
Relembrando, três características importantes do emprego da abordagem de BD:
Isolamento entre programas e dados  Independência de dados e operação dos programas
Suporte a múltiplas visões (views) de usuários
Natureza auto-descritiva do sistema de BD  Uso de catálogo para armazenar a descrição do BD (esquema)
Para realizar e visualizar essas características, foi definida uma arquitetura para os sistemas de BD
Arquitetura de Três-Esquemas
Arquitetura de Três-Esquemas
16/02/2011
Banco de Dados
17
O objetivo dessa arquitetura é separar o usuário da aplicação do BD físico
Nessa arquitetura, os esquemas são definidos em três níveis:
Nível interno
Nível conceitual (lógico)
Nível externo ou visão (view)
Arquitetura de Três-Esquemas
16/02/2011
Banco de Dados
18
Arquitetura de Três-Esquemas
16/02/2011
Banco de Dados
19
Arquitetura de Três-Esquemas
16/02/2011
Banco de Dados
20
Arquitetura de Três-Esquemas
16/02/2011
Banco de Dados
21
Separação entre o usuário e aplicação do banco de dados físico
Arquitetura de Três-Esquemas
16/02/2011
Banco de Dados
22
O conceito de independência de dados pode ser definido como a capacidade de mudar o esquema de um nível do sistema de BD sem que alterações em outro nível sejam necessárias
Assim, são definidos dois tipos de independência:
Independência lógica de dados  Capacidade de mudar o esquema conceitual sem alterar o esquema externo ou os programas
Independência física de dados  Capacidade de mudar o esquema interno (físico) sem alterar o esquema conceitual e, conseqüentemente, o esquema externo
Linguagens para BD
16/02/2011
Banco de Dados
23
Para implementar um BD, a partir de um SGBD, de acordo com a arquitetura de três-esquemas, os seguintes passos devem ser executados:
Especificação dos esquemas (níveis) interno, conceitual e externo
Mapeamentos entre os esquemas
Cada um dos passos é executado pelas LINGUAGENS oferecidas pelo SGBD
Linguagens para BD
16/02/2011
Banco de Dados
24
LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL – Data Definition Language)
Usada para especificar o esquema conceitual
LINGUAGEM DE DEFINIÇÃO DE ARMAZENAMENTO (SDL – Storage Definition Language)
Usada para especificar o esquema interno
Linguagens para BD
16/02/2011
Banco de Dados
25
Em muitos SGBDs, onde não há separação entre os níveis, A DDL é usada para projetar os dois esquemas
Um compilador de DDL é usado para executar as transformações
Nos SGBDs, onde é mantida uma separação entre os níveis conceitual e físico, as duas linguagens, DDL e SDL, são usadas
O MAPEAMENTO entre os esquemas interno e conceitual pode ser definido por qualquer uma das linguagens (SDL ou DDL)
Linguagens para BD
16/02/2011
Banco de Dados
26
Para completar a proposta da arquitetura de três-esquemas, LINGUAGEM DE DEFINIÇÃO DE VISÕES (VDL – View Definition Language)
Usada para especificar as visões dos usuários e os seus mapeamentos para o esquema conceitual
Na maioria dos SGBDs, a DDL é usada para definir ambos os esquemas, o conceitual e o externo
Linguagens para BD
16/02/2011
Banco de Dados
27
Finalmente, LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML – Data Manipulation Language)
Usada pelos usuários para manipular o banco de dados
Operações de recuperação, inserção, remoção e modificação
Existem dois tipos de DML
De alto nível ou não procedural
De baixo nível ou proceduralLinguagens para BD
16/02/2011
Banco de Dados
28
DML de alto nível
Instruções DML de alto nível são inseridas interativamente num monitor ou embutidas numa linguagem de programação
Numa LP, as instruções DML de alto nível são identificadas, no programa, e extraídas por um pré-compilador e processadas pelo SGBD
Uma DML de alto nível pode especificar e extrair muitos registros de uma única vez
Uma consulta em uma DML de alto nível especifica QUAIS dados recuperar, ao invés de COMO recuperá-los
Linguagem declarativa
Exemplo:
SQL
Linguagens para BD
16/02/2011
Banco de Dados
29
DML de baixo nível
Uma linguagem DML deve ser embutida numa linguagem de programação
Recupera registros individuais, processando-os cada um deles separadamente
Necessita de construções da LP, como o looping, para recuperação e processamento de cada registro de um conjunto de registros
Exemplo:
A linguagem DL/1 do modelo hierárquico
Linguagens para BD
16/02/2011
Banco de Dados
30
Considerações:
A linguagem de programação que incorpora comandos DML (de alto ou baixo nível) é chamada de LINGUAGEM HOSPEDEIRA e a DML de SUB-LINGUAGEM DE DADOS
Alguns SGBDs oferecem uma linguagem integrada como, por exemplo, a PL/SQL do SGBD Oracle
Linguagens para BD
16/02/2011
Banco de Dados
31
Nos SGBDs atuais, uma única linguagem integrada e abrangente é usada, com construções para as definições do esquema conceitual, das visões e da manipulação de dados
A definição do armazenamento é mantida separada
Um exemplo desse tipo de linguagem é a linguagem relacional de banco de dados SQL (Structured Query Language)
Combinação da DDL, VDL e DML, como também comandos para especificação de restrições, evolução de esquema e outros recursos
Então, precisamos aprender todos esses tipos de linguagens?
Interfaces com BD (SGBD)
16/02/2011
Banco de Dados
32
A manipulação das linguagens de BD, para usuários iniciantes ou casuais, requer um certo conhecimento técnico
Sendo assim, para esses grupos de usuários, existem interfaces amigáveis para interação com o banco de dados
Interfaces com BD (SGBD)
16/02/2011
Banco de Dados
33
Interfaces baseadas em Menus para Clientes Web ou para Navegação
Interfaces apresentadas ao usuário através de menus, escondendo a complexidade dos comandos da linguagem de consulta
Interfaces baseada em Formulários
Exibem formulários, onde os usuários podem preencher seus campos com dados de entrada ao BD
Interfaces Gráficas para os Usuários (GUI)
Exibe um esquema para o usuário num formulário (e, muitas vezes, menus também) diagramático, onde consultas podem ser especificadas pela manipulação dos diagramas
Interfaces com BD (SGBD)
16/02/2011
Banco de Dados
34
Interfaces de Linguagem Natural
Aceitam solicitações escritas em inglês ou em outra linguagem natural, sendo necessário um esquema e um dicionário com palavras importantes para entendimento
Entrada e Saída de Voz
O uso limitado da voz como entrada para uma consulta e como resposta para uma pergunta ou resultado de uma solicitação
Interfaces com BD (SGBD)
16/02/2011
Banco de Dados
35
Interfaces para Usuários Parametrizáveis
Para essa classe de usuários (por exemplo, os caixas de um banco), um pequeno conjunto de operações, que são realizadas repetidamente, são projetadas e implementadas por analistas de sistemas e programadores, através de uma interface especial
Interfaces para o DBA (Administrador de Banco de Dados)
Interfaces para comandos privilegiados (por exemplo, criação de contas, sistema de ajuste de parâmetros, mudança de esquemas e reorganização de estruturas de armazenamento), usados pelos DBAs
O Ambiente de um Sistema de BD
16/02/2011
Banco de Dados
36
SGBD
(Componentes)
Software de Sistemas que interagem
+
Ambiente de um Sistema de BD
Módulos do SGBD
16/02/2011
Banco de Dados
37
Ambiente de um Sistema de BD
Módulos do SGBD
16/02/2011
Banco de Dados
38
Na Figura anterior, os módulos do SGBD são divididos em duas partes:
A parte superior refere-se aos diversos usuários, que interagem com o ambiente de BD, e suas interfaces
A parte inferior ilustra os detalhes internos do SGBD, responsáveis pelo armazenamento de dados e processamento de transações
Ambiente de um Sistema de BD
Módulos do SGBD
16/02/2011
Banco de Dados
39
O BD e o Catálogo do SGBD são armazenados em disco, onde seu acesso é controlado pelo próprio SO (Leitura e Escrita)
Alguns SGBDs possuem o gerenciador de buffer para otimizar o desempenho
O Gerenciador de Dados Armazenados controla o acesso às informações do SGBD, armazenadas em disco do BD ou do Catálogo
Ambiente de um Sistema de BD
Módulos do SGBD (Parte Superior da Arq.)
16/02/2011
Banco de Dados
40
A parte superior contém as interfaces com os usuários (DBAs, usuários casuais, programadores de aplicação e usuários paramétricos)
Os DBAs definem o BD, podendo também alterar a sua definição por meio de instruções DDL e comandos privilegiados
O Compilador da DDL processa as definições de esquema especificadas, armazenando as descrições dos esquemas (metadados) no Catálogo do SGBD
O Catálogo contém informações como os nomes e tamanhos dos arquivos, nomes e tipos de dados dos itens de dados, detalhes de armazenamento de cada arquivo, informações de mapeamento entre esquemas e restrições, etc.
Ambiente de um Sistema de BD
Módulos do SGBD (Parte Superior da Arq.)
16/02/2011
Banco de Dados
41
Usuários casuais interagem através de algum tipo de interface (Interface de Consulta Interativa)
As consultas são analisadas e validadas, de acordo com a sua sintaxe, nomes de arquivos e elementos de dados, pelo Compilador de Consultas
As consultas são compiladas para um formato interno
As consultas internas ainda podem ser otimizadas pelo Otimizador de Consultas
Rearranjo e reordenação de operações, através da eliminação de redundâncias e uso de algoritmos e índices, durante a execução
O Otimizador consulta o Catálogo, buscando informações estatísticas e físicas dos dados armazenados
Um código executável é gerado para execução das operações da consulta, fazendo chamada ao Processador de BD em Tempo de Execução
Ambiente de um Sistema de BD
Módulos do SGBD (Parte Superior da Arq.)
16/02/2011
Banco de Dados
42
Os programadores de aplicação escrevem programas em linguagens hospedeiras, como Java, C, C++, etc., submetidos a um Pré-Compilador
O Pré-Compilador extrai os comandos DML, sendo enviados para o Compilador DML, para serem compilados em código-objeto para o acesso ao BD
O restante do programa é enviado para o Compilador da linguagem hospedeira
Os códigos-objeto para os comandos DML e o restante do programa são linkados, gerando uma transação programada, cujo código executável inclui chamadas para o Processador de BD em Tempo de Execução
Essas transações programadas podem, também, ser usadas pelos usuários paramétricos
Ambiente de um Sistema de BD
Módulos do SGBD (Parte Inferior da Arq.)
16/02/2011
Banco de Dados
43
Na parte inferior, o Processador de BD em Tempo de Execução executa:
Comandos privilegiados
Planos de consulta executáveis
Transações programadas com parâmetros em tempo de execução
Trabalha com o Catálogo do sistema, podendo, inclusive, atualizá-lo com estatísticas
Trabalha com o Gerenciador de Dados Armazenados, que utiliza o SO para executar operações de entrada e saída entre o disco e a memória principal
Ambiente de um Sistema de BD
Módulos do SGBD (Parte Inferior da Arq.)
16/02/2011
Banco de Dados
44
Considerações:
Atualmente, é comum ter um Programa Cliente que acessa o SGBD de outro computador separado daquele em que o BD está armazenado
O primeiro é chamado computador cliente, que executa um software cliente do SGBD
O segundo é chamado servidor de banco de dados
Em alguns casos, o cliente acessa um computador intermediário, o servidor de aplicação, que, por sua vez, acessa o servidor de banco de dados
Ambiente de um Sistema de BD
Utilitários do Sistema de BD – Funções
16/02/2011
Bancode Dados
45
Carregamento (loading)  Usado para carregar os arquivos de dados existentes, dentro do BD
O formato do arquivo de dados e a estrutura do arquivo do BD são especificados para o utilitário, que, então, formata os dados e os armazena no BD
Quando os dados são transferidos de um SGBD para outro, o carregamento é feito por ferramentas de conversão entre a fonte existente e as descrições de armazenamento no BD destino
Ambiente de um Sistema de BD
Utilitários do Sistema de BD – Funções
16/02/2011
Banco de Dados
46
Backup  Utilitário que cria uma cópia do BD, descarregando todo o BD para um meio de armazenamento em massa
Pode ser usada para restaurar o BD, em caso de falhas catastróficas
Existem também os backups incrementais, usados quando ocorrem apenas alterações depois que um backup anterior tenha sido gravado
Ambiente de um Sistema de BD
Utilitários do Sistema de BD – Funções
16/02/2011
Banco de Dados
47
Reorganização de arquivos  Usado para reorganizar a estrutura de um conjunto de arquivos do BD, como forma de melhorar o seu desempenho
Monitoramento de desempenho  Monitora o uso do BD, fornecendo estatísticas para o DBA para tomar decisões a fim de melhorar a performance do BD
Outros utilitários para:
Ordenação de arquivos, compressão de dados, monitoramento de acesso dos usuários, interface com a rede, etc.
Ambiente de um Sistema de BD
Ferram., Amb. de Aplicação e Func. de Comunicações
16/02/2011
Banco de Dados
48
Ferramentas CASE  Usadas na fase de projeto do sistema de BD
Sistema de Dicionário de Dados Expandido  Além de armazenar informações de catálogo (esquemas e restrições), armazena decisões de projeto, padrões de uso, descrições de programas de aplicações e informações dos usuários
Ambiente de um Sistema de BD
Ferram., Amb. de Aplicação e Func. de Comunicações
16/02/2011
Banco de Dados
49
Ambientes de Desenvolvimento de Aplicação  Incluem funcionalidades que auxiliam no projeto, no desenvolvimento de GUIs, nas consultas e atualizações, bem como na construção dos programas de aplicação
Interface com o Software de Comunicação  Permite que usuários, em locais remotos, acessem o BD por meio de terminais de computador, estações de trabalho ou PCs
Essas máquinas estão conectadas ao local do BD por meio do hardware de comunicação de dados, como roteadores de Internet, linhas de telefone, redes locais, redes de longa distância ou dispositivos de comunicação via satélite
Arquiteturas para SGBDs
16/02/2011
Banco de Dados
50
Arquiteturas Centralizadas
Arquiteturas Cliente/Servidor
Arquiteturas Centralizadas
16/02/2011
Banco de Dados
51
Seguem as arquiteturas antigas, caracterizadas pelo uso de grandes computadores centrais (mainframes) para processar todas as funções do sistema, incluindo:
Programas de aplicação e os de interface com os usuários, bem como as funcionalidades do SGBD
Os usuários acessam o sistema via terminais, que não possuem poder de processamento, oferecendo apenas possibilidades de exibição de dados
Todos os processos são executados remotamente pelo computador central
Arquiteturas Cliente/Servidor
16/02/2011
Banco de Dados
52
Cenário atual da computação
Substituição de computadores grandes e centralizados (mainframes) por vários PCs e estações de trabalho (workstations), conectados via redes de comunicação a diversos servidores
Servidores Web, servidores de BD, servidores de arquivos, servidores de aplicação
Com isso, as arquiteturas de SGBDs evoluíram de sistemas monolíticos (bloco único) para sistemas modulares, com uma arquitetura cliente/servidor
Arquiteturas Cliente/Servidor
16/02/2011
Banco de Dados
53
Arquiteturas Cliente/Servidor
16/02/2011
Banco de Dados
54
A arquitetura lógica de cliente/servidor
Arquiteturas Cliente/Servidor
16/02/2011
Banco de Dados
55
Arquitetura física de cliente/servidor
Arquiteturas Cliente/Servidor de Duas Camadas para SGBDs
16/02/2011
Banco de Dados
56
Numa estrutura de SGBD cliente/servidor, as funcionalidades do sistema são distribuídas entre dois tipos de módulos
O módulo cliente  Projetado para ser executado numa estação de trabalho ou num PC
São processados, nesse módulo, os programas de aplicação e as interfaces de usuário que acessam o BD
Conseqüentemente, esse módulo trata da interação com os usuários, oferecendo uma interface amigável, como formulários ou GUIs
O módulo servidor  Trata de armazenamento de dados, acessos, pesquisas e outras funções
Por isso, são chamadas de arquiteturas de duas camadas
Arquiteturas Cliente/Servidor de Duas Camadas para SGBDs
16/02/2011
Banco de Dados
57
Nessas arquiteturas, os programas de interface com o usuário e os de aplicação podem ser executados no lado cliente
As consultas e as funcionalidades de transação permanecem no lado do servidor
O servidor é geralmente chamado de servidor de consulta ou servidor de transação, por oferecer as duas funcionalidades
Para os SGBDs Relacionais, o servidor é conhecido por servidor SQL, uma vez que são baseados na linguagem e padrões SQL
Arquiteturas Cliente/Servidor de Duas Camadas para SGBDs
16/02/2011
Banco de Dados
58
Quando é necessário acessar o SGBD, o programa cliente estabelece uma conexão com o programa do lado do servidor, usando o driver do SGBD
Padrões de conectividade:
ODBC (Open Database Connectivity)  Fornece uma API (Application Programming Interface) que permite que os programas no lado cliente se conectem com o SGBD, desde que ambas as máquinas tenham o software instalado
JDBC (Java Database Connectivity)  Padrão relacionado à linguagem Java, permitindo que um programa Java do lado cliente acesse o SGBD por meio de sua API
Arquiteturas Cliente/Servidor de Três Camadas para SGBDs
16/02/2011
Banco de Dados
59
Muitas aplicações para a Web usam uma arquitetura baseada em três camadas, que possui uma camada intermediária entre o cliente e o servidor de BD
Essa camada é chamada servidor de aplicações ou servidor Web, dependendo da aplicação
Esse servidor desempenha um papel intermediário armazenando as regras de negócio (procedimentos ou restrições) que são usadas para acessar os dados do servidor de BD
Pode também incrementar a segurança do BD, checando as credenciais do cliente antes de enviar uma solicitação ao servidor de BD
Arquiteturas Cliente/Servidor de Três Camadas para SGBDs
16/02/2011
Banco de Dados
60
Os clientes possuem interfaces GUI e algumas regras de negócio adicionais específicas para a aplicação
O servidor intermediário aceita as solicitações do cliente, as processa e envia comandos de BD ao servidor de BD que, por sua vez, retorna os dados processados para os clientes
Assim, a interface com o usuário, as regras da aplicação e o acesso aos dados atuam em três camadas
Arquiteturas Cliente/Servidor de Três Camadas para SGBDs
16/02/2011
Banco de Dados
61
Arquitetura lógica cliente/servidor de três camadas
Classificação dos SGBDs
16/02/2011
Banco de Dados
62
Vários critérios podem ser usados para classificar os SGBDs, entre eles:
Quanto ao número de usuários
Quanto ao uso
Quanto ao número de locais pelos quais o BD está distribuído
Quanto ao custo
Quanto ao modelo de dados
Classificação dos SGBDs
16/02/2011
Banco de Dados
63
Quanto ao número de usuários
Sistemas de usuário único suportam apenas um usuário por vez, sendo mais usados em computadores pessoais
Sistemas multiusuários, que incluem a maioria dos SGBDs, auxiliam múltiplos usuários simultaneamente
Quanto ao uso
De uso geral ou especial
SGBDs especiais são projetados para atender a necessidades específicas de uma aplicação
Por exemplo, sistemas de reservas aéreas são desenvolvidos na categoria de sistemas de processamento de transação on-line (OLTP – OnLine Transaction Processing), para dar suporte a um grande número de transações simultâneas sem causar atrasos excessivos
Classificação dos SGBDs
16/02/2011
Banco de Dados
64
Quanto ao número de locais pelos quais o BD está distribuídoCentralizado, quando o BD e o SGBD são armazenados num único site, embora possa suportar vários usuários
Distribuído pode ter o BD e o SGBD distribuídos em vários sites, conectados por uma rede
Seguindo essa linha, ainda podemos ter:
Os SGBDs homogêneos, que usam o mesmo software de SGBD em todos os locais
Os SGBDs heterogêneos, que podem usar softwares de SGBDs diferentes em cada local
Nesse caso, faz-se necessário o desenvolvimento de um software de middleware para acessar vários BDs armazenados sob SGBDs heterogêneos  SGBD Federado (ou sistema multibanco de dados)
Classificação dos SGBDs
16/02/2011
Banco de Dados
65
Quanto ao custo
Critério de difícil classificação
SGBDs de código aberto (MySQL e PostgreSQL), com suporte de fornecedores por serviços adicionais
Disponíveis em versões gratuitas para testes
Versões pessoais, com mais funcionalidades, que podem custar menos de US$ 100
Sistemas gigantes, sendo vendidos em módulos, na forma de licenças
Funcionalidades adicionais por módulos
Recurso de data warehousing e de mineração de dados
Milhões de dólares por ano, pela instalação e manutenção
Classificação dos SGBDs
16/02/2011
Banco de Dados
66
Quanto ao modelo de dados
Considerado o principal critério para classificação, os SGBDs pode ser baseados nos seguintes modelos:
Relacional
De Objetos
Objeto Relacional
Legados
De Rede
Hierárquico
XML
Classificação dos SGBDs
16/02/2011
Banco de Dados
67
Modelo Relacional
Principal modelo de dados utilizado na maioria dos SGBDs comerciais
Representa um BD como uma coleção de tabelas, onde cada uma é armazenada num arquivo separado
Usa uma linguagem de consulta de alto nível, SQL
Suporte à definição de visões (views) de usuários
Objeto
Define um BD em termos de objetos, suas propriedades (atributos) e comportamentos (operações)
Objetos com mesma estrutura e comportamento são agrupados em classes, organizadas em hierarquias
As operações de cada classe são especificadas em termos de métodos
Classificação dos SGBDs
16/02/2011
Banco de Dados
68
Objeto Relacional
São BD Relacionais com seus modelos estendidos para incorporar os conceitos de BD de Objetos
Legados
De Rede  Representa os dados como tipos de registros interligados, formando uma rede
Hierárquico  Representa os dados como estruturas de árvores hierárquicas
XML (eXtensible Markup Language)
Considerado o padrão para troca de dados na Internet, também usa estruturas de árvores hierárquicas
Combina conceitos de BD com os de modelos de representação de documentos
Referências Usadas
16/02/2011
Banco de Dados
69

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes