Baixe o app para aproveitar ainda mais
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
Compartilhar