Bancos de Dados Pós-Relacionais Bernadette Farias Lóscio DI-UFPE
Plano de Aula Integração de BDs com outras áreas Visão dos sistemas Visão das aplicações Requisitos das novas aplicações Limitações dos BDs Relacionais Sistemas de BDs Pós-Relacionais Banco de Dados x KDD
Integração de BD com outras áreas  (Sistemas de BDs) Sistemas de Bancos de Dados Sist. de Suporte  a Decisão Outras áreas Linguagens de Programação Inteligência Artificial Sistemas Distribuídos  & Internet Temporal Espacial Espaço Temporal BD Multimídia BD Dimensional DW  BD Distribuídos BDOO BDDOO BD Ativo BDD BDD Ativo BDOO  Ativo BD de Restrições BD OO  Espacial
Integração de BD com outras áreas  (Aplicações) Linguagens de Programação Inteligência Artificial Sist. de Suporte  a Decisão Outras áreas Sistemas Distribuídos  & Internet Aplicações de Bancos de Dados BD Espacial DW BDOO BD Distribuídos BD Temporal BD Multimídia DW BDD BD Ativo Comércio  Eletrônico OLAP Monitoramento Digital  Publishing Restrições integridade Diagnóstico Data Mining CAD/CAM/SIGs
Requisitos das Novas Aplicações de BD Visualização dos dados:  Multidimensional  Multigranular Integração entre dados e programas: Integrar funcionalidades comuns de muitas aplicações de BDs no SGBD  Integração com sistemas de raciocínio e representação de conhecimento Integração com linguagens de programação
Requisitos das Novas Aplicações de BD Recuperação de Informações através da Internet/Intranet: Distribuição dos dados replicação e reconciliação interoperabilidade semântica do esquema linguagem de consulta autonomia confiabilidade/origem segurança  Integração de Informações Heterogêneas
Requisitos das Novas Aplicações de BD Manipulação de objetos complexos: Multimídia e Objetos n-dimensionais Novos tipos de Dados Consultas multiresolução Suporte para Interface com o usuário Objetos reais com estrutura  e comportamento Resumindo... Abstrações para facilitar a interação DADOS + CONSULTAS + USUÁRIO
Limitações dos BDs Relacionais Não possuem mecanismos para a definição e manipulação de tipos de dados complexos Não suportam itens de dados de grandes tamanhos Permitem apenas consultas com noções precisas Não permitem consultas ad-hoc Baixa performance e dificuldades de implementação  para aplicações mais complexas
“ Pontos Fortes” dos BDs Relacionais declaratividade  robustez simplicidade  (usa poucos conceitos poderosos) fundamentos formais tecnologia madura e eficiente para: oferecer persistência garantir segurança gerenciar memória secundária controlar transações Extensões ou novos modelos devem oferecer:
Sistemas de BDs Pós-Relacionais BD x DSS: BD Multidimensional Data Warehouse/Data Mart  BD Temporal BD x Aplicações: BD Ativo BD Orientado a Objetos  BD Objeto-Relacional BD x IA: BD Dedutivo  BD Dedutivo OO BD de Restrições BD x Sist. Distribuídos/Internet: BD Distribuídos BD Federados Arquitetura de Mediadores  BD x Agentes  BD Multimídia  BD x SIG BD Espacial
BD Multidimensional Dimensões:  diferentes perspectivas de visualização dos dados (podem ser compostas por múltiplos níveis) Elementos  (ou membros): posições segundo uma dimensão Medidas : conteúdo de uma célula Armazena os dados  em arrays multidimensionais com um número fixo de dimensões Permite uma visualização multidimensional e multigranular dos dados Tempo Produto P1 P2 P3 P4 Jan./99 Fev./99 BD x DSS 5 1 6 8 FORTALEZA SOBRAL NORDESTE CEARÁ SUDESTE  RIO DE JANEIRO PERNAMBUCO SÃO PAULO ...
BD Multidimensional - Exemplo Loja 5 1 6 8 3 Produto Tempo Impressora MW PCC Tabela relacional BD x DSS Jan/99 Fev/99 Mar/99 Abr/99 Monitor Scanner 5 Obter respostas a questões típicas de análise dos negócios de uma empresa geralmente requer a visualização dos dados segundo diferentes perspectivas Produto Loja Unidades Tempo Monitor Monitor Monitor Monitor Impressora Scanner MW MW MW MW PCC MW Jan/99 5 1 8 6 5 3 Abr/99 Fev/99 Fev/99 Mar/99 Mar/99
Data Warehouse Características: Orientado por temas Integrado Variante no tempo Não volátil Questões críticas: Integração de dados e metadados de várias fontes Qualidade dos dados: limpeza e refinamento Resumir e agregar os dados Sincronização das fontes com o DW Problemas de desempenho (unir em um mesmo ambiente os BDs corporativos operacionais e o DW) Contém dados extraídos ( selecionados, depurados e integrados ) do ambiente de produção da empresa, sendo otimizado para processamento de consultas ad-hoc e não para transações BD x DSS
Data Mart É uma implementação de um DW no qual o escopo dos dados é limitado, contém dados agregados apenas a nível departamental Uma maneira de construir um DW é através da criação e integração progressiva de data marts Problemas: escalabilidade em situações onde pequenos data marts iniciais crescem em múltiplas dimensões integração de dados (diferentes estruturas) BD x DSS
OLAP (On-Line Analytical Processing) Processamento e ferramentas voltados para análise de dados típica do suporte à decisão Os dados são apresentados através de uma visão multidimensional e multigranular A visão dos dados é independente de como eles estão armazenados (MOLAP x ROLAP) Eficiente para consultas  ad-hoc  complexas Exemplos de consultas: Quais os produtos que vendem bem? Qual o "ranking" dos vendedores da Região Nordeste? BD x DSS
OLAP x OLTP OLTP Modelo de dados Relacional Dados Atômicos Apenas informações atuais Orientados ao Processo Poucos tipos de consultas simples Atualizações e leituras rápidas OLAP Modelo de dados Multidimensional Dados Agregados Também informações históricas Orientados ao Negócio Grande variedade de consultas complexas Apenas leitura BD x DSS
BD Temporais Bancos de dados temporais apresentam rótulos temporais associados aos dados.  (i) bancos de dados de tempo de transação: associam aos dados o o instante em que foram inseridos no banco de dados;  (ii) bancos de dados de tempo de validade: associam aos dados o seu tempo de validade na realidade modelada;  (iii) bancos de dados bitemporais: associam o tempo de transação e o tempo de validade  Aspectos temporais podem ser: pontuais, intervalos de tempo ou relacionamentos abstratos (antes, depois, durante,...) BD x DSS
BD Ativo SGBD capaz de responder automaticamente a eventos ocorrendo: internamente (ex: atualizações no BD, restrições de integridade) externamente (ex: dispositivos de monitoramento, falhas de hardware) Capaz de monitorar e reagir a circunstâncias específicas de relevância para a aplicação (o comportamento reativo da aplicação é colocado dentro do SGBD)  Abordagem comum: regras Evento-Condição-Ação especificando comportamento reativo E vento:   descreve um acontecimento  C ondição:   examina o contexto onde o evento ocorreu A ção:   descreve as tarefas que devem ser executadas BD x Aplicações
BD Ativo (cont.) Vantagens: Não acarreta mudanças nas aplicações Incrementa a funcionalidade dos SGBDs Atende aos requisitos de restrições temporais das aplicações SGBD Ativo BD x Aplicações Consultas  e atualizações Eventos externos Especificação de eventos e condições a serem monitoradas Ações
BD Ativo - Exemplo Empregado(#emp, nome, salario, #gerente) Gerente(#gerente, #depto) Regra1: on update to salario of empregado if new.salario > update.gerente.salario do abort Regra2: on update to salario of empregado or insert to empregado if new.salario > update.gerente.salario do instead <informe o administrador do sistema> Regras podem ser disparadas e  executadas da seguinte forma: immediate deferred detached BD x Aplicações
Regras Ativas - Aplicações Manutenção: Restrições de Integridade Visões materializadas Descrever o comportamento/semântica das aplicações monitorar vendas em um BD para controle de estoque Em conjunto com dispositivos de monitoramento, podem ser usadas para registrar e responder a situações externas ao BD aplicações médicas  sistemas de monitoramento de tráfego aéreo BD x Aplicações
BD Orientado a Objetos (BDOO) Combina o paradigma OO com a tecnologia de BD Um SGBDOO é um SGBD com um modelo de dados OO Os requisitos para suportar um modelo de dados OO são: identidade de objetos objetos complexos classes encapsulamento herança overriding, overloading e  ligação dinâmica extensibilidade BD x Aplicações Funcionalidades dos BDs: dados persistentes gerenciamento de grandes conjuntos de dados gerenciamento de memória secundária gerenciamento de transações linguagem de consulta declarativa
BD Orientado a Objetos (cont.) OO em BD combina conceitos de várias áreas: Linguagens de Programação: tipos de dados abstratos e encapsulamento Tecnologia de Software: extensibilidade e reusabilidade de código e o princípio da modularização Modelagem de dados: relações aninhadas ou generalizações do modelo relacional, juntamente com os modelos de dados semânticos BD x Aplicações
Companhia Subsidiária Pessoa Empregado nome_comp localização #companhia qualificação salário nome idade domicílio Veículo produz é-um modelo fabricante cor Exemplo - Modelo ER possui administra trabalha rua gerencia possui_frota #pessoa 1 1 1 1 n 1 1 n n 1 n 1 1 1 1 nome_sub rua localização
classe3: Endereço: [ rua: String, localização: String] classe4: Pessoa: [ nome: String, idade: Integer; domicilio: Endereço, Frota: {Veiculos}] classe5: Empregado is-a Pessoa : [ qualificações: {String}, salário: Integer; Familiares: {Pessoa}] BD Orientado a Objetos - Exemplo classe1: Companhia: [ nome: String, matriz: Endereço ; Subsidiarias: {Subsidiaria}, Presidente: Empregado ] classe2: Subsidiaria: [ nome: String, escritório: Endereço; Gerente: Empregado, Empregados: {Empregado}] BD x Aplicações
BD Objeto Relacional (BDOR) Combina os benefícios do modelo Relacional com a tecnologia de Orientação a Objetos  O modelo de dados OR é uma extensão do modelo Relacional: permite estender o banco de dados com tipos e funções específicas da aplicação A linguagem de consulta OR (SQL3) é uma extensão da linguagem SQL para suportar o modelo de objetos As extensões incluem consultas envolvendo objetos, atributos multivalorados, TADs, métodos e funções como predicados de busca em uma consulta BD x Aplicações
BD Objeto Relacional - Exemplo CREATE  TYPE  Endereço  ( RuaNo VARCHAR(60), Cidade VARCHAR(40), ); CREATE  TYPE  Fornecedor  ( CodFornec  CHAR(4)  NomeFornec  VARCHAR(40) EndFornec  endereço, ); CREATE  TYPE  empregado ( nome CHAR(20), salário DECIMAL(10,2), ); CREATE  TABLE  Fornecedor OF Fornecedor CREATE  TABLE  empregados OF Empregado CREATE  TYPE  Companhia ( NomeComp  String, Matriz endereço, Subsidiarias  SET ( REF (Subsidiaria)), Presidente REF (Empregado), ); CREATE  TYPE  Subsidiaria ( NomeSub String, Escritório endereço, Empregados  SET ( REF (Empregado)), ); Criação de Tipos: Criação de Tabelas: BD x Aplicações
BD Dedutivo (BDD) Utiliza regras para deduzir ou inferir informações adicionais a partir dos fatos armazenados no BD Um BDD possui dois tipos principais de especificações: Fatos (são similares as tabelas dos BDs Relacionais) Regras (são similares as visões em BDs Relacionais) Os requisitos para suportar dedução são: linguagem declarativa predicados variáveis lógica unificação de termos com variáveis mecanismo de dedução BD x IA Funcionalidades dos BDs: dados persistentes gerenciamento de grandes conjuntos de dados gerenciamento de memória secundária gerenciamento de transações linguagem de consulta declarativa
BD Dedutivo (cont.) A linguagem Datalog é um subconjunto de Prolog utilizada em sistemas de BDD para definir regras e fatos A notação usada em Datalog é baseada em predicados com um número fixo de argumentos usados para definir fatos e regras se todos os argumentos de um predicado são constantes, então o predicado estabelece que um certo  fato  é verdade se um predicado tem variáveis como argumentos, então ele é considerado uma  consulta , ou parte de uma  regra  ou  restrição BD x IA
BD Dedutivo - Exemplo Fatos supervisiona(helena, maria) supervisiona(joão, luís) supervisiona(joão, josé) supervisiona(paula, helena)  supervisiona(paula, pedro) ... Regras superior(X,Y) :- supervisiona(X,Y) superior(X,Y) :- supervisiona(X,Z), supervisiona(Z,Y) subordinado(X,Y) :- supervisor(Y,X) Consultas superior(paula, Y)? superior(paula, maria) superior(joão, maria) BD x IA Uma consulta pode retornar: 1. As diferentes combinações de constantes que, quando unificadas às variáveis, podem tornar o predicado verdadeiro 2. Verdadeiro ou falso
BD Dedutivo Orientado a Objetos (BDDOO) BDD: alta capacidade de inferência fundamentos formais pobre poder de modelagem BDOO: rica capacidade de modelagem alta extensibilidade falta de consenso sobre o modelo de dados baixa capacidade de inferência fundamentos não tão bem formalizados quando os de BDD BDDOO: deve combinar as vantagens dos dois métodos acima BD x IA
BD Dedutivo Orientado a Objetos BD x IA Requisitos OO: identidade de objetos objetos complexos classes encapsulamento herança overriding, overloading  e ligação dinâmica extensibilidade Requisitos Raciocínio: linguagem declarativa predicados variáveis lógica unificação de termos  com variáveis mecanismo de dedução Requisitos BD: dados persistentes gerenciamento de grandes conjuntos de dados gerenciamento de memória secundária gerenciamento de transações linguagem de consulta declarativa BDDOO
BDDOO - Exemplo A hierarquia é-um: empl::person student::person child(person)::person faculty::empl manager::empl yuppie::young yuppie::midaged article::report cacm::article jacm::article john:student john:empl sally:student sally:empl alice:child(john) mary:faculty bob:faculty bob:manager phil:empl 20:young 30:yuppie 40:midaged codd70:cacm flogic94:jacm cs1:dept cs2:dept integer:datatype string:datatype “ CS”:string “ Mary”:string “ Bob”:string ms:degree phd:degree BD x IA
BDDOO - Exemplo (cont.) Assinatura de Classes: faculty [boss=>(faculty, manager); age=>midaged; highestDegree=>degree; papers->>article; highestDegree*->phd; avgSalary->50000] person [name=>string; friends=>>person; children=>>child(person); empl [affiliation=>dept; boss=>empl; jointWorks@empl=>>report] dept [assistants=>>(student, empl); mngr=>empl] BD x IA
BDDOO - Exemplo (cont.) Fatos da base (BD extensional) bob [name-> “Bob”; age->40; affiliation->cs1[dname-> “CS”; mngr ->bob; assistants->> {john, sally}]] mary [name-> “Mary”; highestDegree->ms; friends->>{bob, sally} affiliation->cs2[dname->”CS”]] Regras dedutivas: E[boss->M] :- E:empl ^ D:dept   ^ E[affiliation->D[mngr->M:empl]] X [jointWorks@Y->>Z] :- Y:faculty ^ X:faculty ^ Y [papers->>Z] ^ X [papers->>Z] BD x IA
BDDOO - Exemplo (cont.) Consultas: Quem são os empregados de meia idade do departamento CS e quem são os seus gerentes? ?- X:empl ^ X [boss-> Y; age->Z:midaged; affiliation->D[dname->”CS”]]. Quem publicou juntamente com Mary no Jornal da ACM? ?- mary[jointWorks@Y->>jacm90]. Onde Mary tem publicações em conjunto com Phil? ?- mary[jointWorks@phil->>Z]. BD x IA
Banco de Dados de Restrições Generalizam BD Relacionais através de representações finitas de relações infinitas Modelo de Dados de Restrições: BD x IA Entrada: BD Relacional Entrada: BD de  Restrições Saída: BD Relacional Saída: BD de  Restrições Consulta de Restrições Consulta  Relacional
Banco de Dados de Restrições - Exemplo Representação Relacional: Tuplas: (n,a,b,c,d) Consulta:  {(n 1 ,n 2 )|n 1     n 2     (  a 1 ,a 2 ,b 1 ,b 2 ,c 1 ,c 2 ,d 1 ,d 2 )(R(n 1 ,a 1 ,b 1 ,c 1 ,d 1 )    R(n 2 ,a 2 ,b 2 ,c 2 ,d 2 )    (   x,y  {a 1 ,a 2 ,b 1 ,b 2 ,c 1 ,c 2 ,d 1 ,d 2 }) (a 1     x    c 1      b 1     y    d 1    a 2     x    c 2    b 2     y    d 2 ))} BD x IA Problema: Um BD consiste em um conjunto de retângulos em um plano, e queremos computar os pares de retângulos distintos onde existe uma interseção (a 1 ,d 1 ) (c 1 ,d 1 ) (a 1 ,b 1 ) (c 1 ,b 1 ) (a 2 ,d 2 ) (c 2 ,d 2 ) (a 2 ,b 2 ) (c 2 ,b 2 )
Banco de Dados de Restrições - Exemplo Representação com Restrições: R (z,x,y) Tupla generalizada:  (z =n    ( a    x    c)  ( b    y    d)) Consulta:  {(n 1 ,n 2 )|n 1     n 2     (   x,y)(R(n1,x,y)    R(n2,x,y)} BD x IA Problema: Um BD consiste em um conjunto de retângulos em um plano, e queremos computar os pares de retângulos distintos onde existe uma interseção (a 1 ,d 1 ) (c 1 ,d 1 ) (a 1 ,b 1 ) (c 1 ,b 1 ) (a 2 ,d 2 ) (c 2 ,d 2 ) (a 2 ,b 2 ) (c 2 ,b 2 )
BD Distribuídos Fortaleza São Paulo Salvador Banco de Dados 1 Brasília Banco de Dados 2 Banco de Dados 4 Banco de Dados 3 BD x Internet/Sist.Distribuídos Rede de Comunicação SGBD Distribuído
BD Distribuídos Classificação quanto ao grau: de Heterogeneidade  de Autonomia Local de Transparência de Distribuição/Integração Enfoques para Integração de Informações: Materializado :as informações relevantes são extraídas, filtradas e integradas previamente, de formas a agilizar as consultas  Virtual: as informações são extraídas das fontes de informação somente quando requisitadas BD Federados Mediadores BD x Internet/Sist.Distribuídos
BD Federados - Arquitetura Esquema Exportado 1 Esquema Exportado 2 Esquema Exportado n Esquema Componente 1 Esquema Componente n Esquema Externo 1 Esquema Externo 2 Esquema Externo n Esquema Local 1 Esquema Local n DBS Componente 1 DBS Componente n … … … … … BD x Internet/Sist.Distribuídos Enfoque Fortemente Acoplado Esquema Global
Mediadores - Arquitetura  Mediador 1 Mediador 2 Tradutor 1 Tradutor 2 Tradutor 3 BD1 BD2 BD3 BD x Internet/Sist.Distribuídos Enfoque Fracamente Acoplado Consultas através de mediadores: 1.   As consultas são submetidas ao sistema,  via mediador , e este as transforma em subconsultas a serem enviadas às bases de dados.  2.  As subconsultas geradas pelo mediador devem ser traduzidas para linguagens de consultas de cada SGBD componente. 3.  Os resultados das consultas são traduzidos e a resposta é devolvida ao usuário
BD x Agentes Dedução embutida Atualização de DW/Data Mart Personalização de interfaces Variedades de aplicações integrando BD com Internet Os agentes podem ter diferentes funções: notificação mediação aquisição de conhecimento BD x Internet/Sist.Distribuídos
BD Multimídia Armazenam informações que se originam de diferentes tipos de mídia: textos, imagens, áudio e vídeo Os requisitos para suportar dados multimídia são: Novos tipos de Dados Qualidade do Serviço Consultas multiresolução Suporte para Interface com o usuário BD x Internet/Sist.Distribuídos
BD Multimídia - Aplicações Gerenciamento de documentos os dados podem incluir projetos de engenharia, registros médicos, etc Disseminação do conhecimento bibliotecas digitais, livros eletrônicos e repositórios de informação Monitoramento e controle em tempo real  juntamente com BD Ativo  pode ser muito útil para o controle de operações nucleares, pacientes em UTIs, sistemas de transporte, etc BD x Internet/Sist.Distribuídos
BDs Espaciais Oferecem tipos de dados espaciais em seu modelo de dados e linguagem de consulta Estes sistemas devem: combinar informações geométricas e temáticas ser o mais geral possível ter uma semântica formalmente definida ser independente de SGBD, mas cooperativo com qualquer SGBD usar técnicas de implementação eficientes para operações em objetos n-dimensionais ter uma interface visual para os usuários Aplicações: Sistemas de Informação Geográficas  CAD/CAM Robótica BD x SIG
Banco de Dados x KDD Vantagens da aprendizagem a partir de BDs: Os dados são armazenados de maneira mais ou menos estruturada Algum conhecimento do domínio é implicitamente armazenado no BD Ferramentas de consultas, manipulação de dados e transações estão disponíveis O número de BD com dados aplicáveis as técnicas de mineração é grande e continua crescendo!
Banco de Dados x KDD Restrições da aprendizagem a partir de BDs: O volume de dados é tipicamente muito grande Os dados podem conter ruídos e informações incompletas Os dados não foram coletados com o propósito de descoberta de conhecimento Conhecimento pode ser descoberto a partir de diferentes fontes de dados Dados relacionais Dados OO Dados textuais Dados temporais Dados espaciais Dados na Web Dados de DW
Bibliografia Database research: achievements and opportunities for the 21st century  The emergence of post-relational databases by Richard Currier, Chairman - Strategic Marketing - April 1997  The Asilomar Report on Database Research Fundamentals of Database Systems Database Issues in Knowledge Discovery and Data Mining
Bibliografia Logic and databases: a 20 year retrospective  A survey of research on deductive database systems  Active database systems  Comparing deductive and active databases  Object-oriented DBMS and beyond  Constraint Databases: A Survey

Bancos de Dados Pós-Relacionais

  • 1.
    Bancos de DadosPós-Relacionais Bernadette Farias Lóscio DI-UFPE
  • 2.
    Plano de AulaIntegração de BDs com outras áreas Visão dos sistemas Visão das aplicações Requisitos das novas aplicações Limitações dos BDs Relacionais Sistemas de BDs Pós-Relacionais Banco de Dados x KDD
  • 3.
    Integração de BDcom outras áreas (Sistemas de BDs) Sistemas de Bancos de Dados Sist. de Suporte a Decisão Outras áreas Linguagens de Programação Inteligência Artificial Sistemas Distribuídos & Internet Temporal Espacial Espaço Temporal BD Multimídia BD Dimensional DW BD Distribuídos BDOO BDDOO BD Ativo BDD BDD Ativo BDOO Ativo BD de Restrições BD OO Espacial
  • 4.
    Integração de BDcom outras áreas (Aplicações) Linguagens de Programação Inteligência Artificial Sist. de Suporte a Decisão Outras áreas Sistemas Distribuídos & Internet Aplicações de Bancos de Dados BD Espacial DW BDOO BD Distribuídos BD Temporal BD Multimídia DW BDD BD Ativo Comércio Eletrônico OLAP Monitoramento Digital Publishing Restrições integridade Diagnóstico Data Mining CAD/CAM/SIGs
  • 5.
    Requisitos das NovasAplicações de BD Visualização dos dados: Multidimensional Multigranular Integração entre dados e programas: Integrar funcionalidades comuns de muitas aplicações de BDs no SGBD Integração com sistemas de raciocínio e representação de conhecimento Integração com linguagens de programação
  • 6.
    Requisitos das NovasAplicações de BD Recuperação de Informações através da Internet/Intranet: Distribuição dos dados replicação e reconciliação interoperabilidade semântica do esquema linguagem de consulta autonomia confiabilidade/origem segurança Integração de Informações Heterogêneas
  • 7.
    Requisitos das NovasAplicações de BD Manipulação de objetos complexos: Multimídia e Objetos n-dimensionais Novos tipos de Dados Consultas multiresolução Suporte para Interface com o usuário Objetos reais com estrutura e comportamento Resumindo... Abstrações para facilitar a interação DADOS + CONSULTAS + USUÁRIO
  • 8.
    Limitações dos BDsRelacionais Não possuem mecanismos para a definição e manipulação de tipos de dados complexos Não suportam itens de dados de grandes tamanhos Permitem apenas consultas com noções precisas Não permitem consultas ad-hoc Baixa performance e dificuldades de implementação para aplicações mais complexas
  • 9.
    “ Pontos Fortes”dos BDs Relacionais declaratividade robustez simplicidade (usa poucos conceitos poderosos) fundamentos formais tecnologia madura e eficiente para: oferecer persistência garantir segurança gerenciar memória secundária controlar transações Extensões ou novos modelos devem oferecer:
  • 10.
    Sistemas de BDsPós-Relacionais BD x DSS: BD Multidimensional Data Warehouse/Data Mart BD Temporal BD x Aplicações: BD Ativo BD Orientado a Objetos BD Objeto-Relacional BD x IA: BD Dedutivo BD Dedutivo OO BD de Restrições BD x Sist. Distribuídos/Internet: BD Distribuídos BD Federados Arquitetura de Mediadores BD x Agentes BD Multimídia BD x SIG BD Espacial
  • 11.
    BD Multidimensional Dimensões: diferentes perspectivas de visualização dos dados (podem ser compostas por múltiplos níveis) Elementos (ou membros): posições segundo uma dimensão Medidas : conteúdo de uma célula Armazena os dados em arrays multidimensionais com um número fixo de dimensões Permite uma visualização multidimensional e multigranular dos dados Tempo Produto P1 P2 P3 P4 Jan./99 Fev./99 BD x DSS 5 1 6 8 FORTALEZA SOBRAL NORDESTE CEARÁ SUDESTE RIO DE JANEIRO PERNAMBUCO SÃO PAULO ...
  • 12.
    BD Multidimensional -Exemplo Loja 5 1 6 8 3 Produto Tempo Impressora MW PCC Tabela relacional BD x DSS Jan/99 Fev/99 Mar/99 Abr/99 Monitor Scanner 5 Obter respostas a questões típicas de análise dos negócios de uma empresa geralmente requer a visualização dos dados segundo diferentes perspectivas Produto Loja Unidades Tempo Monitor Monitor Monitor Monitor Impressora Scanner MW MW MW MW PCC MW Jan/99 5 1 8 6 5 3 Abr/99 Fev/99 Fev/99 Mar/99 Mar/99
  • 13.
    Data Warehouse Características:Orientado por temas Integrado Variante no tempo Não volátil Questões críticas: Integração de dados e metadados de várias fontes Qualidade dos dados: limpeza e refinamento Resumir e agregar os dados Sincronização das fontes com o DW Problemas de desempenho (unir em um mesmo ambiente os BDs corporativos operacionais e o DW) Contém dados extraídos ( selecionados, depurados e integrados ) do ambiente de produção da empresa, sendo otimizado para processamento de consultas ad-hoc e não para transações BD x DSS
  • 14.
    Data Mart Éuma implementação de um DW no qual o escopo dos dados é limitado, contém dados agregados apenas a nível departamental Uma maneira de construir um DW é através da criação e integração progressiva de data marts Problemas: escalabilidade em situações onde pequenos data marts iniciais crescem em múltiplas dimensões integração de dados (diferentes estruturas) BD x DSS
  • 15.
    OLAP (On-Line AnalyticalProcessing) Processamento e ferramentas voltados para análise de dados típica do suporte à decisão Os dados são apresentados através de uma visão multidimensional e multigranular A visão dos dados é independente de como eles estão armazenados (MOLAP x ROLAP) Eficiente para consultas ad-hoc complexas Exemplos de consultas: Quais os produtos que vendem bem? Qual o &quot;ranking&quot; dos vendedores da Região Nordeste? BD x DSS
  • 16.
    OLAP x OLTPOLTP Modelo de dados Relacional Dados Atômicos Apenas informações atuais Orientados ao Processo Poucos tipos de consultas simples Atualizações e leituras rápidas OLAP Modelo de dados Multidimensional Dados Agregados Também informações históricas Orientados ao Negócio Grande variedade de consultas complexas Apenas leitura BD x DSS
  • 17.
    BD Temporais Bancosde dados temporais apresentam rótulos temporais associados aos dados. (i) bancos de dados de tempo de transação: associam aos dados o o instante em que foram inseridos no banco de dados; (ii) bancos de dados de tempo de validade: associam aos dados o seu tempo de validade na realidade modelada; (iii) bancos de dados bitemporais: associam o tempo de transação e o tempo de validade Aspectos temporais podem ser: pontuais, intervalos de tempo ou relacionamentos abstratos (antes, depois, durante,...) BD x DSS
  • 18.
    BD Ativo SGBDcapaz de responder automaticamente a eventos ocorrendo: internamente (ex: atualizações no BD, restrições de integridade) externamente (ex: dispositivos de monitoramento, falhas de hardware) Capaz de monitorar e reagir a circunstâncias específicas de relevância para a aplicação (o comportamento reativo da aplicação é colocado dentro do SGBD) Abordagem comum: regras Evento-Condição-Ação especificando comportamento reativo E vento: descreve um acontecimento C ondição: examina o contexto onde o evento ocorreu A ção: descreve as tarefas que devem ser executadas BD x Aplicações
  • 19.
    BD Ativo (cont.)Vantagens: Não acarreta mudanças nas aplicações Incrementa a funcionalidade dos SGBDs Atende aos requisitos de restrições temporais das aplicações SGBD Ativo BD x Aplicações Consultas e atualizações Eventos externos Especificação de eventos e condições a serem monitoradas Ações
  • 20.
    BD Ativo -Exemplo Empregado(#emp, nome, salario, #gerente) Gerente(#gerente, #depto) Regra1: on update to salario of empregado if new.salario > update.gerente.salario do abort Regra2: on update to salario of empregado or insert to empregado if new.salario > update.gerente.salario do instead <informe o administrador do sistema> Regras podem ser disparadas e executadas da seguinte forma: immediate deferred detached BD x Aplicações
  • 21.
    Regras Ativas -Aplicações Manutenção: Restrições de Integridade Visões materializadas Descrever o comportamento/semântica das aplicações monitorar vendas em um BD para controle de estoque Em conjunto com dispositivos de monitoramento, podem ser usadas para registrar e responder a situações externas ao BD aplicações médicas sistemas de monitoramento de tráfego aéreo BD x Aplicações
  • 22.
    BD Orientado aObjetos (BDOO) Combina o paradigma OO com a tecnologia de BD Um SGBDOO é um SGBD com um modelo de dados OO Os requisitos para suportar um modelo de dados OO são: identidade de objetos objetos complexos classes encapsulamento herança overriding, overloading e ligação dinâmica extensibilidade BD x Aplicações Funcionalidades dos BDs: dados persistentes gerenciamento de grandes conjuntos de dados gerenciamento de memória secundária gerenciamento de transações linguagem de consulta declarativa
  • 23.
    BD Orientado aObjetos (cont.) OO em BD combina conceitos de várias áreas: Linguagens de Programação: tipos de dados abstratos e encapsulamento Tecnologia de Software: extensibilidade e reusabilidade de código e o princípio da modularização Modelagem de dados: relações aninhadas ou generalizações do modelo relacional, juntamente com os modelos de dados semânticos BD x Aplicações
  • 24.
    Companhia Subsidiária PessoaEmpregado nome_comp localização #companhia qualificação salário nome idade domicílio Veículo produz é-um modelo fabricante cor Exemplo - Modelo ER possui administra trabalha rua gerencia possui_frota #pessoa 1 1 1 1 n 1 1 n n 1 n 1 1 1 1 nome_sub rua localização
  • 25.
    classe3: Endereço: [rua: String, localização: String] classe4: Pessoa: [ nome: String, idade: Integer; domicilio: Endereço, Frota: {Veiculos}] classe5: Empregado is-a Pessoa : [ qualificações: {String}, salário: Integer; Familiares: {Pessoa}] BD Orientado a Objetos - Exemplo classe1: Companhia: [ nome: String, matriz: Endereço ; Subsidiarias: {Subsidiaria}, Presidente: Empregado ] classe2: Subsidiaria: [ nome: String, escritório: Endereço; Gerente: Empregado, Empregados: {Empregado}] BD x Aplicações
  • 26.
    BD Objeto Relacional(BDOR) Combina os benefícios do modelo Relacional com a tecnologia de Orientação a Objetos O modelo de dados OR é uma extensão do modelo Relacional: permite estender o banco de dados com tipos e funções específicas da aplicação A linguagem de consulta OR (SQL3) é uma extensão da linguagem SQL para suportar o modelo de objetos As extensões incluem consultas envolvendo objetos, atributos multivalorados, TADs, métodos e funções como predicados de busca em uma consulta BD x Aplicações
  • 27.
    BD Objeto Relacional- Exemplo CREATE TYPE Endereço ( RuaNo VARCHAR(60), Cidade VARCHAR(40), ); CREATE TYPE Fornecedor ( CodFornec CHAR(4) NomeFornec VARCHAR(40) EndFornec endereço, ); CREATE TYPE empregado ( nome CHAR(20), salário DECIMAL(10,2), ); CREATE TABLE Fornecedor OF Fornecedor CREATE TABLE empregados OF Empregado CREATE TYPE Companhia ( NomeComp String, Matriz endereço, Subsidiarias SET ( REF (Subsidiaria)), Presidente REF (Empregado), ); CREATE TYPE Subsidiaria ( NomeSub String, Escritório endereço, Empregados SET ( REF (Empregado)), ); Criação de Tipos: Criação de Tabelas: BD x Aplicações
  • 28.
    BD Dedutivo (BDD)Utiliza regras para deduzir ou inferir informações adicionais a partir dos fatos armazenados no BD Um BDD possui dois tipos principais de especificações: Fatos (são similares as tabelas dos BDs Relacionais) Regras (são similares as visões em BDs Relacionais) Os requisitos para suportar dedução são: linguagem declarativa predicados variáveis lógica unificação de termos com variáveis mecanismo de dedução BD x IA Funcionalidades dos BDs: dados persistentes gerenciamento de grandes conjuntos de dados gerenciamento de memória secundária gerenciamento de transações linguagem de consulta declarativa
  • 29.
    BD Dedutivo (cont.)A linguagem Datalog é um subconjunto de Prolog utilizada em sistemas de BDD para definir regras e fatos A notação usada em Datalog é baseada em predicados com um número fixo de argumentos usados para definir fatos e regras se todos os argumentos de um predicado são constantes, então o predicado estabelece que um certo fato é verdade se um predicado tem variáveis como argumentos, então ele é considerado uma consulta , ou parte de uma regra ou restrição BD x IA
  • 30.
    BD Dedutivo -Exemplo Fatos supervisiona(helena, maria) supervisiona(joão, luís) supervisiona(joão, josé) supervisiona(paula, helena) supervisiona(paula, pedro) ... Regras superior(X,Y) :- supervisiona(X,Y) superior(X,Y) :- supervisiona(X,Z), supervisiona(Z,Y) subordinado(X,Y) :- supervisor(Y,X) Consultas superior(paula, Y)? superior(paula, maria) superior(joão, maria) BD x IA Uma consulta pode retornar: 1. As diferentes combinações de constantes que, quando unificadas às variáveis, podem tornar o predicado verdadeiro 2. Verdadeiro ou falso
  • 31.
    BD Dedutivo Orientadoa Objetos (BDDOO) BDD: alta capacidade de inferência fundamentos formais pobre poder de modelagem BDOO: rica capacidade de modelagem alta extensibilidade falta de consenso sobre o modelo de dados baixa capacidade de inferência fundamentos não tão bem formalizados quando os de BDD BDDOO: deve combinar as vantagens dos dois métodos acima BD x IA
  • 32.
    BD Dedutivo Orientadoa Objetos BD x IA Requisitos OO: identidade de objetos objetos complexos classes encapsulamento herança overriding, overloading e ligação dinâmica extensibilidade Requisitos Raciocínio: linguagem declarativa predicados variáveis lógica unificação de termos com variáveis mecanismo de dedução Requisitos BD: dados persistentes gerenciamento de grandes conjuntos de dados gerenciamento de memória secundária gerenciamento de transações linguagem de consulta declarativa BDDOO
  • 33.
    BDDOO - ExemploA hierarquia é-um: empl::person student::person child(person)::person faculty::empl manager::empl yuppie::young yuppie::midaged article::report cacm::article jacm::article john:student john:empl sally:student sally:empl alice:child(john) mary:faculty bob:faculty bob:manager phil:empl 20:young 30:yuppie 40:midaged codd70:cacm flogic94:jacm cs1:dept cs2:dept integer:datatype string:datatype “ CS”:string “ Mary”:string “ Bob”:string ms:degree phd:degree BD x IA
  • 34.
    BDDOO - Exemplo(cont.) Assinatura de Classes: faculty [boss=>(faculty, manager); age=>midaged; highestDegree=>degree; papers->>article; highestDegree*->phd; avgSalary->50000] person [name=>string; friends=>>person; children=>>child(person); empl [affiliation=>dept; boss=>empl; jointWorks@empl=>>report] dept [assistants=>>(student, empl); mngr=>empl] BD x IA
  • 35.
    BDDOO - Exemplo(cont.) Fatos da base (BD extensional) bob [name-> “Bob”; age->40; affiliation->cs1[dname-> “CS”; mngr ->bob; assistants->> {john, sally}]] mary [name-> “Mary”; highestDegree->ms; friends->>{bob, sally} affiliation->cs2[dname->”CS”]] Regras dedutivas: E[boss->M] :- E:empl ^ D:dept ^ E[affiliation->D[mngr->M:empl]] X [jointWorks@Y->>Z] :- Y:faculty ^ X:faculty ^ Y [papers->>Z] ^ X [papers->>Z] BD x IA
  • 36.
    BDDOO - Exemplo(cont.) Consultas: Quem são os empregados de meia idade do departamento CS e quem são os seus gerentes? ?- X:empl ^ X [boss-> Y; age->Z:midaged; affiliation->D[dname->”CS”]]. Quem publicou juntamente com Mary no Jornal da ACM? ?- mary[jointWorks@Y->>jacm90]. Onde Mary tem publicações em conjunto com Phil? ?- mary[jointWorks@phil->>Z]. BD x IA
  • 37.
    Banco de Dadosde Restrições Generalizam BD Relacionais através de representações finitas de relações infinitas Modelo de Dados de Restrições: BD x IA Entrada: BD Relacional Entrada: BD de Restrições Saída: BD Relacional Saída: BD de Restrições Consulta de Restrições Consulta Relacional
  • 38.
    Banco de Dadosde Restrições - Exemplo Representação Relacional: Tuplas: (n,a,b,c,d) Consulta: {(n 1 ,n 2 )|n 1  n 2  (  a 1 ,a 2 ,b 1 ,b 2 ,c 1 ,c 2 ,d 1 ,d 2 )(R(n 1 ,a 1 ,b 1 ,c 1 ,d 1 )  R(n 2 ,a 2 ,b 2 ,c 2 ,d 2 )  (  x,y  {a 1 ,a 2 ,b 1 ,b 2 ,c 1 ,c 2 ,d 1 ,d 2 }) (a 1  x  c 1  b 1  y  d 1  a 2  x  c 2  b 2  y  d 2 ))} BD x IA Problema: Um BD consiste em um conjunto de retângulos em um plano, e queremos computar os pares de retângulos distintos onde existe uma interseção (a 1 ,d 1 ) (c 1 ,d 1 ) (a 1 ,b 1 ) (c 1 ,b 1 ) (a 2 ,d 2 ) (c 2 ,d 2 ) (a 2 ,b 2 ) (c 2 ,b 2 )
  • 39.
    Banco de Dadosde Restrições - Exemplo Representação com Restrições: R (z,x,y) Tupla generalizada: (z =n  ( a  x  c)  ( b  y  d)) Consulta: {(n 1 ,n 2 )|n 1  n 2  (  x,y)(R(n1,x,y)  R(n2,x,y)} BD x IA Problema: Um BD consiste em um conjunto de retângulos em um plano, e queremos computar os pares de retângulos distintos onde existe uma interseção (a 1 ,d 1 ) (c 1 ,d 1 ) (a 1 ,b 1 ) (c 1 ,b 1 ) (a 2 ,d 2 ) (c 2 ,d 2 ) (a 2 ,b 2 ) (c 2 ,b 2 )
  • 40.
    BD Distribuídos FortalezaSão Paulo Salvador Banco de Dados 1 Brasília Banco de Dados 2 Banco de Dados 4 Banco de Dados 3 BD x Internet/Sist.Distribuídos Rede de Comunicação SGBD Distribuído
  • 41.
    BD Distribuídos Classificaçãoquanto ao grau: de Heterogeneidade de Autonomia Local de Transparência de Distribuição/Integração Enfoques para Integração de Informações: Materializado :as informações relevantes são extraídas, filtradas e integradas previamente, de formas a agilizar as consultas Virtual: as informações são extraídas das fontes de informação somente quando requisitadas BD Federados Mediadores BD x Internet/Sist.Distribuídos
  • 42.
    BD Federados -Arquitetura Esquema Exportado 1 Esquema Exportado 2 Esquema Exportado n Esquema Componente 1 Esquema Componente n Esquema Externo 1 Esquema Externo 2 Esquema Externo n Esquema Local 1 Esquema Local n DBS Componente 1 DBS Componente n … … … … … BD x Internet/Sist.Distribuídos Enfoque Fortemente Acoplado Esquema Global
  • 43.
    Mediadores - Arquitetura Mediador 1 Mediador 2 Tradutor 1 Tradutor 2 Tradutor 3 BD1 BD2 BD3 BD x Internet/Sist.Distribuídos Enfoque Fracamente Acoplado Consultas através de mediadores: 1. As consultas são submetidas ao sistema, via mediador , e este as transforma em subconsultas a serem enviadas às bases de dados. 2. As subconsultas geradas pelo mediador devem ser traduzidas para linguagens de consultas de cada SGBD componente. 3. Os resultados das consultas são traduzidos e a resposta é devolvida ao usuário
  • 44.
    BD x AgentesDedução embutida Atualização de DW/Data Mart Personalização de interfaces Variedades de aplicações integrando BD com Internet Os agentes podem ter diferentes funções: notificação mediação aquisição de conhecimento BD x Internet/Sist.Distribuídos
  • 45.
    BD Multimídia Armazenaminformações que se originam de diferentes tipos de mídia: textos, imagens, áudio e vídeo Os requisitos para suportar dados multimídia são: Novos tipos de Dados Qualidade do Serviço Consultas multiresolução Suporte para Interface com o usuário BD x Internet/Sist.Distribuídos
  • 46.
    BD Multimídia -Aplicações Gerenciamento de documentos os dados podem incluir projetos de engenharia, registros médicos, etc Disseminação do conhecimento bibliotecas digitais, livros eletrônicos e repositórios de informação Monitoramento e controle em tempo real juntamente com BD Ativo pode ser muito útil para o controle de operações nucleares, pacientes em UTIs, sistemas de transporte, etc BD x Internet/Sist.Distribuídos
  • 47.
    BDs Espaciais Oferecemtipos de dados espaciais em seu modelo de dados e linguagem de consulta Estes sistemas devem: combinar informações geométricas e temáticas ser o mais geral possível ter uma semântica formalmente definida ser independente de SGBD, mas cooperativo com qualquer SGBD usar técnicas de implementação eficientes para operações em objetos n-dimensionais ter uma interface visual para os usuários Aplicações: Sistemas de Informação Geográficas CAD/CAM Robótica BD x SIG
  • 48.
    Banco de Dadosx KDD Vantagens da aprendizagem a partir de BDs: Os dados são armazenados de maneira mais ou menos estruturada Algum conhecimento do domínio é implicitamente armazenado no BD Ferramentas de consultas, manipulação de dados e transações estão disponíveis O número de BD com dados aplicáveis as técnicas de mineração é grande e continua crescendo!
  • 49.
    Banco de Dadosx KDD Restrições da aprendizagem a partir de BDs: O volume de dados é tipicamente muito grande Os dados podem conter ruídos e informações incompletas Os dados não foram coletados com o propósito de descoberta de conhecimento Conhecimento pode ser descoberto a partir de diferentes fontes de dados Dados relacionais Dados OO Dados textuais Dados temporais Dados espaciais Dados na Web Dados de DW
  • 50.
    Bibliografia Database research:achievements and opportunities for the 21st century The emergence of post-relational databases by Richard Currier, Chairman - Strategic Marketing - April 1997 The Asilomar Report on Database Research Fundamentals of Database Systems Database Issues in Knowledge Discovery and Data Mining
  • 51.
    Bibliografia Logic anddatabases: a 20 year retrospective A survey of research on deductive database systems Active database systems Comparing deductive and active databases Object-oriented DBMS and beyond Constraint Databases: A Survey