Fundamentos de Banco de Dados e Modelagem de Dados



Documentos relacionados
Fundamentos de Banco de Dados e Modelagem de Dados


Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Disciplina: Tecnologias de Banco de Dados para SI s

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Introdução Banco de Dados

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Disciplina de Banco de Dados Introdução

Sistemas Gerenciadores de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Prof.: Clayton Maciel Costa

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

SISTEMA GERENCIADOR DE BANCO DE DADOS

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Banco de Dados. Tópicos. CIn/UFPE. Conceitos Básicos

Introdução à Banco de Dados. Definição

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista

Docente: Éberton da Silva Marinho

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Sistemas Gerenciadores de Bancos de Dados

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Laboratório de Banco de Dados

Roteiro 2 Conceitos Gerais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Prof. Daniela Barreiro Claro

Sistemas Operacionais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

O Termo SIG é aplicado para sistemas que realizam o tratamento computacional de dados geográficos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Gerenciamento de Dados e Informação. Principais Tipos de SI. Papel de SI. Principais Tipos de SI. Principais Tipos de SI.

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

ORGANIZAÇÃO CURRICULAR

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Módulo 4: Gerenciamento de Dados

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

Bancos de dados NOSQL (Not Only SQL)

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Apresentação... Nome: Vanderlei Cordeiro Frazão

Banco de Dados I. Introdução. Fabricio Breve

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Persistência e Banco de Dados em Jogos Digitais

Uma Breve Introdução. Andréa Bordin

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

O que são Bancos de Dados?

Conceitos de Banco de Dados

Objetivos Específico

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Arquitetura de Banco de Dados

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Sistemas de Bases de Dados

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

UNIVERSIDADE FEDERAL DA BAHIA - UFBA

Prof. Marcelo Machado Cunha

Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc.

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

GERENCIAMENTO DE DISPOSITIVOS

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

Banco de Dados I. Quantidade de informação gerada em um dia. Aula milhões de clientes ativos; Mais de 42 terabytes de dados; Salários na área

Bancos de Dados não Convencionais

INTRODUÇÃO. Diferente de Bando de Dados

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Administração de Banco de Dados

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Introdução a Sistemas de Bancos de Dados

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor

MC536 Bancos de Dados: Teoria e Prática

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

Sistemas de Banco de Dados

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Banco de Dados I Introdução

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Banco de Dados. Maurício Edgar Stivanello

Transcrição:

Universidade Federal de Mato Grosso Instituto de Computação Pós Graduação Lato Sensu em Banco de Dados Fundamentos de Banco de Dados e Modelagem de Dados Prof. Dr. Josiel Maimone de Figueiredo josiel@ic.ufmt.br Março - 2015

Conteúdo Programático Aula 1.Introdução Histórico e evolução Arquitetura de SBD Aula 2.Modelagem de Dados Modelo Entidade Relacionamento Aula 3.Modelagem de Dados MER-Estendido

Conteúdo Programático Aula 4.Modelagem de Dados Modelo Orientado a Objetos Aula 5.Modelagem Lógica Modelo Relacional Aula 6.Mapeamento Modelagem Lógica x Conceitual

Conteúdo Programático Aula 7.Normalização e Desnormalização Aula 8.Padrão SQL Evolução Especificações Aula 9.Banco de Dados Não/Semi Estruturados Aula 10. Projetos / Prova

Pós Graduação Lato Sensu em Banco de Dados Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 1 Histórico e Evolução de Banco de Dados Prof. Dr. Josiel Maimone de Figueiredo josiel@ic.ufmt.br Março 2015

Conceitos básicos O que é um Banco de Dados? O que é um Sistema de Banco de Dados Quais os tipos de usuários? Onde está dentro do contexto de Engenharia de Software?

Conceitos básicos O que é um Banco de Dados? Conjunto de dados estruturados confiáveis, coerentes e compartilhados

Conceitos básicos O que é um Sistema de Banco de Dados? um ambiente eficiente para recuperar e armazenar informações de Bancos de Dados Eliminar ou Reduzir Redundância Inconsistência de Dados Permitir Rapidez no acesso aos Dados Concorrência Segurança

Conceitos básicos O que é um Banco de Dados? O que é um Sistema de Banco de Dados? Quais os tipos de usuários? Onde está dentro do contexto de Engenharia de Software?

Tipos de Usuários Usuários Programadores Incluem dados Fazem consultas Definem dados Criam programas que acessam os dados Administradores de BD (DBA) Responsável por manter o sistema funcionando

Conceitos básicos O que é um Banco de Dados? O que é um Sistema de Banco de Dados? Quais os tipos de usuários? Onde está dentro do contexto de Engenharia de Software?

Engenharia de Software IC - UFMT [Amber2001]

Engenharia de Software IC - UFMT [Amber2001]

Engenharia de Software BD Distribuídos Sistemas Distribuídos & Internet Sist. de Suporte a Decisão BD Multimídia BD Dimensional Sistemas de Bancos de Dados DW Inteligência Artificial Outras áreas Linguagens de Programação BDD Espacial BD Ativo BDD Ativo Temporal BDOO BDOO Ativo BDDOO BD OO Espacial Espaço Temporal BD de Restrições

Histórico Visão Visão Repositório Dispositivos de armazenamento Visão Global Arquitetura de Banco de Dados Visão Dado Evolução dos Dados Visão Conceitual Modelo de Dados

Repositório: cartão Visão Modelo Sistema de cartão perfurado Muito lento e tedioso para usar Erros de operação comumente realizados Correções de difícil execução

Repositório: fita Visão Modelo Fita magnética Em 1950 construída primeira fital comercial Armazenava 1 milhão de bits Recuperava uma palavra em 5 ms Propriedades Acesso sequencial

Repositório: disco Visão Modelo Em setembro de 1956 IBM apresenta RAMAC (Random Access Method of Accounting and Control), O primeiro sistema de disco de computador para armazenamento Mesmo princípio utilizado até os dias de hoje Disco(s) Cabeça(s) de leitura

Repositório: SSD Visão Modelo Solid State Drive Primeiro criado em 1976 Velocidade 555 MB/s de leitura e 520 MB/s de escrita Organizado em páginas e blocos

Histórico Visão Visão Repositório Dispositivos de armazenamento Visão Global Arquitetura de Banco de Dados Visão Dado Evolução dos Dados Visão Conceitual Modelo

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Componentes Usuário Software manipulação Hardware armazenamento

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Evolução 1ª geração: Software único controla: interface, manipulação, acesso, armazenamento e gerenciamento dos dados. Software Armazenamento

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Evolução 2ª geração: Software 2 camadas Aplicação (Cliente ) controla: manipulação, interface SGBD (Servidor) controla o acesso, armazenamento e gerenciamento dos dados. Aplicação Sistema Gerenciador de Banco de Dados Software

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Evolução 3ª geração: Software Distribuído Cliente (Aplicação) Servidor (SGBD) vários locais vários produtos Aplicação SGBD1 SGBD2 SGBD1 SGBD3 Software

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Evolução 4ª geração: Software 3 camadas Cliente (Aplicação) Navegador Web Servidor Web SGBD SGBD Servidor Web Navegador Web Software

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Evolução 5ª geração: Software Multi camadas Cliente: vários dispositivos Servidor de Aplicações componentes SGBD SGBD Cliente Servidor de Aplicações Software

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Evolução Nª geração: SGBD Paralelo Processamento paralelo SGBD SGBD Cliente Servidor de Aplicações SGBD SGBD Software

Arquitetura de um Sistema de Banco de Dados VisãoGlobal Evolução Nª geração: SGBD Cluster Servidor Vários nós com memória e disco compartilhados no1 SGBD no2 Cliente no3 Software

Arquitetura de um SGBD VisãoGlobal Evolução Nª geração: Software Universal Server Servidor Acessa várias fontes SGBD Cliente SGBD 2

Arquitetura de um SGBD VisãoGlobal Evolução Nª geração: SGBD Distribuído Distribuição transparente

Arquitetura de um SGBD VisãoGlobal Evolução Nª geração: Software Nuvem Cliente: vários dispositivos Servidor Elasticidade horizontal Multitenant

Arquitetura de um SGBD VisãoGlobal Evolução Nª geração: SGBD InMemory Dados em memória

Arquitetura de um SGBD VisãoGlobal Evolução Nª geração: BigData Ambiente Poliglota

Histórico Visão Visão Repositório Dispositivos de armazenamento Visão Global Arquitetura de Banco de Dados Componentes Visão Dado Evolução dos Dados Visão Conceitual Modelo

Conceitos Básicos Visão Dados Informação X Dado Fatos registrados, e que têm um significado implícito, sobre acontecimentos Gravação em código de uma observação, de um objeto, de um fenômeno

Conceitos Básicos Visão Dados Informação X Dado Conhecimento (compreensão / teoria) Informações (significado para organização) Dados (qualitativos / quantitativos) Abstração / Valor Ação (projetos / valores)

Dados Visão Dados Para definir um tipo de dado é preciso ter Propriedades: representação domínio Operações manipulação Em outras palavras: Operandos + Operadores

Dados: número Visão Dados Para definir um tipo de dado é preciso ter Propriedades: Representação: BCD, little endian, big endian Domínio: 64 bits Ordem total Operações Manipulação: soma, adição, etc Comparações: <, >, etc Padrão para arredondamento em contas

Dados: alfanumérico Visão Dados Propriedades: Representação: codificação de caracter UNICODE, ASCII, ISO 5960, etc Domínio: 16 bits para UNICODE (65535 caracteres) Operações Manipulação: concatenação, etc Comparações: ordem alfabética, etc

Dados Visão Dados Além da definição de Operandos + Operadores em Banco de Dados é preciso definir Método de Acesso (MA) Árvores Usam a propriedade de ordem total para dividir o domínio e diminuir o número de comparações Bitmap, etc

Dados: texto estruturado Visão Dados Propriedades: Representação: Convergindo para padrão XML (Extensible Markup Language) Estrutura hierárquica Diversos padrões: XHTML, SMIL, etc Domínio: Texto estruturado com marcações <xml> </xml>

Dados: texto longo Visão Dados Propriedades: Representação: Uso de método de acesso específico Padrão Full Text Formato do arquivo: ODF, DOC, PDF, etc Domínio: Texto com mais de 64Kb

Dados: imagem Visão Dados Propriedades: Representação: Resolução definida pela matriz de pixels (raster) Modelo de cores: RGB(aditivo), CMYK(subtrativo), HSB. Formato do arquivo: JPG, PNG, TIFF, etc Domínio: O tamanho da matriz pode ultrapassar Gigabytes

Dados: imagem Visão Dados Armazenamento Operações (não embutidas no SGBD) Manipulação: adição, subtração,etc Buscas de partes das imagens Em formato binário Métodos estatísticos e da área de reconhecimento de padrões podem normalmente não são escaláveis Comparações:???????? Imagem é um dado complexo!!

Dados: complexo Visão Dados Comparação Não possui relação de ordem total Não existe origem dos dados Ordenação dos dados: < <

Dados: complexo Visão Dados Comparação Não possui relação de ordem total Não existe origem dos dados Ordenação dos dados: < <

Dados: complexo Visão Dados Comparação Qual o parâmetro usar para comparação?

Dados: complexo Visão Dados Comparação: Similaridade entre objetos 45 49 Valor de Similaridade Criação de um Método de acesso: Domínio de dados complexo Permita buscas por similaridade 5

Dados: complexo Visão Dados Imagem é um dado complexo Pertence a um espaço métrico Exige a definição de uma métrica (p1) x, y S, d(x, y) 0 positiva, (p2) x, y S, d(x, y) = d(y, x) (p3) x S, d(x, x) = 0 e, em alguns casos, simétrica, reflexiva, (p4) x, y S, x y d(x, y) > 0 (p5) x, y, z S, d(x, y) d(x, z) + d(z, y) Desigualdade Triangular estritamente positiva. Indexação feita considerando a similaridade entre os objetos

Dados: complexo Visão Dados Método de Acesso Métrico Seleciona um ou mais objetos representativos Inserção de um novo objeto Distância aos representativos são calculados e armazenados Durante as consultas Usa a propriedade de desigualdade triangular para descartar os objetos

Dados: complexo Visão Dados Exemplo de MA: Slim-Tree: J B K E L I MD N O C P AG F Q H B E K E L C A B J B I A D F C H A G M D N F Q O C P

Dados: complexo Visão Dados Estaticas: GH-tree (Generalized Hyperplane Decomposition tree) VP-tree (Vantage Point tree) FQ-tree (Fixed Queries tree) GNAT (Geometric Near-Neighbor Access Tree) MVP-tree (Multi-Vantage Point tree)... Dinâmicas: M-tree Slim-tree...

Dados: complexo Visão Dados Buscas por similaridade Retorna o(s) objeto(s) mais similares ao objeto de consulta (referência) Principais tipos: Range Query - RQ k-nearest Neighbor Query - knnq

Dados: complexo Visão Dados Range Query Recupera todos os objetos que estão até uma distância rq ao objeto de consulta oq oq rq

Dados: complexo Visão Dados k-nearest Neighbor Query Recupera os k elementos mais similares ao objeto de consulta oq oq

Dado: áudio Visão Dados Propriedades: Representação: freqüência e altura Domínio: 64 bits Possui dimensão tempo Influencia nas comparações Formato de arquivos: Wav, Ogg Vorbis, MP3 Operações Manipulação: freqüência Comparações: intervalos

Dado: vídeo Visão Dados Propriedades: Representação: Domínio: Possui dimensão tempo Influencia nas comparações Imagem + som = sincronização Formato de arquivo: RM, SWF, MPEG,

Dado: genômico Propriedades: Representação: sequência de caracteres Domínio: combinação de nucleotídeos Visão Dados Operações Manipulação: regras de composição Comparações: faixas semelhantes, formas semelhantes

Dado: espacial Visão Dados Propriedades: Representação: coordenadas Domínio: espaço N-dimensional Operações Manipulação: pontos e regiões Comparações: métodos de acesso multidimensionais

Dado: espacial Visão Dados Consultas espaciais Seleção por ponto Seleção por região Seleção por janela Fonte: Karine Ferreira (2006)

Dado: espacial Visão Dados Junção espacial Para cada rodovia selecione as escolas que estão a menos de 1000 metros. Fonte: Karine Ferreira (2006)

Dado: espacial Visão Dados Predicados topológicos A B B B B- A A A- disjoint B- A A A equal B B B B B A B B- overlap B- A A A contains B A A A- A B B B B- A A A- meet A ABB B B A A A A- B B B- inside Fonte: Adaptado de Egenhofer e Herring (1991) B- A A A covers B A B B B B B A B- A A A- covered by

Dado:espacial Visão Dados Métodos de Acesso Multidimensionais: k-d Trees Fonte: Gilberto Ribeiro (2006)

Dado: espacial Visão Dados Métodos de Acesso Multidimensionais Fixed-Grid Fonte: Gilberto Ribeiro (2006)

Dado: espacial Visão Dados Métodos de Acesso Multidimensionais Quadtree

Dado: espacial Visão Dados Métodos de Acesso Multidimensionais R-Trees

Dado: composição Visão Dados Sistemas de Informação Geográfica Imagens georreferenciadas Sensores orbitais captam bandas do espectro eletromagnético Imagens podem atingir 200MB cada Todos os sensores captam TB de dados diariamente

Dado: composição Visão Dados fonte: NASA

Histórico Visão Visão Repositório Dispositivos de armazenamento Visão Global Arquitetura de Banco de Dados Visão Dado Evolução dos Dados Visão Conceitual Modelo de Dados

Modelo de Dados Coleção de construções lógicas usadas para representar estrutura de dados estruturados e seus relacionamentos em um banco de dados Modelos conceituais: natureza lógica de representação dos dados distante de tecnologia Modelos lógicos ênfase na forma como os dados são representados pelo banco de dados próximo de tecnologia 70

Modelo: arquivos Dados armazenados diretamente em arquivos Cada arquivo organizado pelo tipo de uso Dados redundantes Sem escalabilidade Dependência entre aplicação e estrutura dos dados Cada manipulação dependia de um programa (ou método) específico Baixa segurança Dados difíceis de serem representados Data: Fev 14, 1955 Hora: 2:00 p.m. Paciente:Joana, 455-0897 CID: 123456789 Nome: Rua: Cidade: Fone: Joana Av. Dom,123 Poconé 455-0897

Modelo: arquivos Limitações Separação e Isolamento de Dados Dificuldade no acesso aos dados porque eles são isolados em arquivos separados. Exemplo:Listar todos os pacientes que foram atendidos em fevereiro Criar um arquivo temporário dos pacientes Identificar os atendimentos de fevereiro Testar e sincronizar o processamento dos dois arquivos para garantir a extração correta dos dados. Data: Fev 14, 1955 Hora: 2:00 p.m. Paciente:Joana, 455-0897 CID: 123456789 Nome: Rua: Cidade: Fone: Joana Av. Dom,123 Poconé 455-0897

Modelo: arquivos Limitações Dependência entre Dados e Programas Dificuldade em mudar as definições das estruturas de arquivo existentes. Exemplo:Aumentar o tamanho do campo de endereço do paciente Criar um programa de conversão para: Abrir o arquivo original para leitura Abrir um arquivo temporário representando a nova estrutura Ler um registro do arquivo original, converter o dado e gravá-lo no arquivo temporário. Repetir isto p/ todos os registros. Remover o arquivo original. Renomear o arquivo temporário.

Modelo: arquivos Limitações Incompatibilidade de Formatos de Arquivos Como a definição dos arquivos são embutidas nos programas de aplicação, os formatos destes arquivos dependem da linguagem de programação escolhida. Pode haver a necessidade de escrita de um software para converter os arquivos para um formato comum e facilitar o processamento. Isto acarreta em consumo de tempo e dinheiro. Exemplo: O setor de diagnóstico pode desejar obter o nome e o endereço de todos os pacientes cujos diagnósticos envolvem dengue.

Modelo: arquivos Limitações Consultas Pré-determinadas Impossibilidade de realização de consultas nãoplanejadas (i.e. consultas ad-hoc). Aumento da carga de trabalho do Programador, resultando em: Programas inadequados ou ineficientes na satisfação dos requisitos dos usuários. Com documentação reduzida. De manutenção difícil. Omissão/Redução de funcionalidades importantes (e.g. recuperação, segurança,...)

Modelo: Hierárquico Visão Modelo Hierárquico Uma hierarquia define a organização e o acesso aos dados Cada nó pode ter diversos filhos

Modelo: Hierárquico Visão Vantagens Simplicidade conceitual Integridade da base de dados Independência de Dados Eficiência Desvantagens Implementação complexa Falta de padrão Dependência estrutural Limitação de implementação

Modelo: Redes Visão Cada registro pode ter diversos pais Composto de conjuntos Cada conjunto tem registro dono e registro membro Membro pode ter diversos donos

Modelo: Redes Visão Vantagens Simplicidade conceitual Manipula diversos tipos de relacionamento Flexibilidade no acesso aos dados Permite manter integridade Independência de dados Padronizado Desvantagens Complexidade das ligações (ponteiros) Falta de independência estrutural

Modelo: Relacional Visão Edgar Codd Pai do Modelo Relacional IBM San Jose Em 1970, Codd publicou: A Relational Model of Data for Large Shared Data Banks. Modelo Relacional consiste de: Independência de Dados com implementação e armazenamento em hardware. Navegação automática (alto nível) Linguagem não-procedural

Modelo: Relacional Visão A adoção do modelo relacional enfrentou dificuldades IBM investiu muito no sistema IMS Padrão CODASYL Primeiras implementações System R IBM Criou linguagem SEQUEL Ingres Berkeley Michael Stonebraker Eugene Wong

Modelo: Relacional Visão Modelo lógico Usuário considera que trabalha com uma coleção de tabelas que armazenam os dados Tabelas são uma série de intersecções de linhas/colunas Tabelas possui características parecidas com de entidades

Modelo: MER Visão Modelo Entidade Relacionamento Modelo conceitual Representa informações com Entidades representam entes do mundo real. Relacionamento representam interações entre as entidades.

Modelo: MER cor fabricante modelo 1 Veículo n 1 idade possui_frota 1 produz é-um 1 1 1 Companhia nome_comp domicílio #pessoa Pessoa n rua localização #companhia nome Visão 1 Empregado administra 1 1 possui trabalha 1 Subsidiária nome_sub rua localização qualificação n gerencia n salário 1

Modelo: OO Visão Modelo Paradigma Orientado a Objetos Classe e Objeto Encapsulamento Relacionamento Herança Associação Polimorfismo

Modelo: OO Visão Modelo Sistemas Orientados a Objetos Conceito mais especializado de detalhamento da realidade (herança) Conceito de reutilização: maior produtividade Melhor ligação: analista X usuário Suportam com mais flexibilidade alterações e evolução

Modelo: OO Visão Modelo Booch Rumbaugh Jacobson Fusion Meyer Operation descriptions, Message numbering Before and after conditions Embley Harel Singleton classes, High-level view State charts Gamma, et.al Wirfs-Brock Frameworks, patterns, notes Shlaer - Mellor Object Lifecycles Odell Classification Responsibilities

Modelo: OO Visão Modelo

Modelo: OO Visão Modelo Diagrama de Classes

BD x Aplicações Modelo: OO classe1: Companhia: [ nome: String, matriz: Endereço; Subsidiarias: {Subsidiaria}, Presidente: Empregado] classe2: Subsidiaria: [ nome: String, escritório: Endereço; Gerente: Empregado, Empregados: {Empregado}] 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}]

Modelo: objeto-relacional Visão Modelo Sistema Objeto-relacional Extensão de Tipo Básico em Contexto SQL Objetos Complexos em Contexto SQL Herança em Contexto SQL Suporte para Regras de Produção 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 Modelo: objeto-relacional Criação de Tipos: CREATE TYPE Endereço ( RuaNoVARCHAR(60), Cidade VARCHAR(40), ); CREATE TYPE Companhia ( NomeComp String, Matriz endereço, Subsidiarias SET(REF(Subsidiaria)), Presidente REF(Empregado), ); CREATE TYPE Fornecedor ( CodFornec CHAR(4) NomeFornec VARCHAR(40) EndFornec endereço, ); CREATE TYPE Subsidiaria ( NomeSub String, Escritório endereço, Empregados SET(REF(Empregado)), ); CREATE TYPE empregado ( nome CHAR(20), salário DECIMAL(10,2), ); Criação de Tabelas: CREATE TABLE Fornecedor OF Fornecedor CREATE TABLE empregados OF Empregado

Modelo: multidimensional Visão Modelo Armazena os dados em arrays multidimensionais com um número fixo de dimensões Permite uma visualização multidimensional e multigranular dos dados 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 Te m po Fev./13 Jan./13 NORDESTE 5 1 8 6 P1 P2 P3 P4 PERNAMBUCO CEARÁ FORTALEZA... SOBRAL SUDESTE RIO DE JANEIRO SÃO PAULO Produto

Modelo: multidimensional Visão Modelo Operações sobre o cubo P ro d u to Local Tem po P ro d u to Vendas Vendas Local Tem po Tem po Local Vendas P ro d u to

Modelo: multidimensional Operações sobre o cubo Visão Modelo

Classificação de SGBD Visão

Classificação de SGBD Visão

Evolução dos SGBD Visão Modelo Evolução nos tipos de dados adicionar novos tipos de dados nativos permitir tipos definidos pelo usuário (UDT) Evolução na produção dos dados Evolução na transmissão dos dados uso de MemCache redes de alta velocidade Evolução no armazenamento dos dados dispositivos SSD, alta velocidade

Evolução dos SGBD: Desafios Visão Modelo dados na ordem de dezenas ou centenas de TB poder de crescimento elástico horizontal controle de transação ACID torna inviável a elasticidade fácil distribuição dos dados e/ou processamento abordagem de cluster é cara SGBD paralelos são caros tipos de dados variados, complexos e/ou semiestruturados modelo de dados objeto-relacional não resolve todos os requisitos

Classificação de SGBD Visão OldSQL Tradicionais Relacionais (SQL) NoSQL Novos modelos de dados Novos controles transacionais NewSQL Novas tecnologias nos OldSQL

Modelo: NoSQL Visão Modelo Tipos NoSQL 234 1 {wiki: abc} 432 4 {test asdf} 423 4 {url: com} 527 3 {url: 123} 745 6 {qa: dfsdfd} 642 1 {234: 2342} 524 8 {id: 5248} 234 2 {e: as, r:eq} Key/value stores Graph database A 1 2 1 9 3 8 1 1 2 12 9 1 8 6 3 1 Document database Column family 1

Key-value Store Visão Modelo "Dynamo: Amazon's Highly Available Key-Value Store"[2007] Modelo de Dados: mapeamento global key-value altamente tolerante a falha Armazenamento de dados distribuído Altamente disponível Produtos: 2341 {wiki: abc} 4324 {test asdf} 4234 {url: com} 5273 {url: 123} 7456 {qa: dfsdfd} 6421 {234: 2342} 5248 {id: 5248} 2342 {e: as, r:eq} Key/value stores Riak, Redis, Voldemort, Dynamo, Berkeley DB, MemcacheDB,

Column Family Google's "Bigtable: A Distributed Storage System for Structured Data"[2006] Visão Modelo Data Model: grande tabela, com familia de colunas map-reduce para consultas e processamento modelo compacto e flexível 1 1 Produtos: HBase, HyperTable, Cassandra, SimpleDB, Cloudata, Cloudera, SciDB, 1 1 1 1 Column family

Document Family Modelo de Dados: Coleção de Documentos Um documento é uma coleção de key-value Centrado a índice, vários map-reduce Produtos: Visão Modelo MongoDB, CouchDB, RavenDB, A

Graph Family Modelo de Dados Nós com propriedades Relacionamentos com propriedades Hipergrafos Produtos Neo4, SonesGraphDB, OrientDB, Sones, HyperGraphDB, Virtuoso, VertexDB, Visão Modelo Graph database

Modelo: não convencionais Visão Modelo Tipos Transações Longas Controle de Versões Espaço-Temporais Baseado em Restrições

Ecossistema dos SGBD Visão T

Ecossistema dos SGBD Visão

Big Data x SGBD Visão

Big Data Visão http://www.economist.com/specialreports/displaystory.cfm?story_id=15557443

Big Data Visão Grande volume de dados na ordem de dezenas/centenas de TB Modelo flexível para armazenamento de dados complexos armazenados em clusters de processadores de baixo custo requer alto poder computacional para processamento, manipulação e armazenamento de dados tipos de dados variados, complexos e/ou semiestruturados e.g., projeto Square Kilometre Array (SKA) envolve a construção do maior radio telescópio que irá gerar até 1500 PBytes diariamente e.g., Facebook tem 2700 nós em seu cluster com 60PB de armazenamento (2011) poder de crescimento elástico horizontal Alocação/desalocação de recursos de hardware/software sob demanda da aplicação

Big Data (3V 4V 5V) Volume Velocidade Ordem de TB diários Alta taxa de geração e Transmissão de dados Variedade Estruturado (logs, transações de negócios) Semi-estruturado e não estruturado Maldição da dimensionalidade! Visão

Big Data(3V 4V 5V) Visão Big Data (3V)

Big Data(3V 4V 5V) Big Data 4 V Veracidade (ou Valor) Respostas rápidas x resultados confiáveis Visão

Big Data Big Data 5 V Variabilidade Interpretação diferente Mineração de padrões, tendências e relacionamentos Visualização diferente Visão

Big Data Volume LSST Large Synoptic Survey Telescope http://www.lsst.org/ Dados gerais: 20 Terabytes de imagens astronômicas todas as noites 100-200 Petabytes após 10 anos 20-40 Petabytes (Banco de Dados) 2-10 milhões de novos eventos no céu toda noite para serem classificados 8.4 meter diameter primary mirror = 10 square degrees! Hello! 100-200 Petabyte image archive 20-40 Petabyte database catalog

Big Data Volume Large Hadron Collider 700MB por seg, 60TB/dia, 20PB/ano Illumina HiSeq 2000 Sequencer ~1TB/dia Maioria dos laboratórios possuem 25-100 dessas máquinas

Big Data Volume A World Wide Web tem 20+ bilhões páginas x 20KB = 400+TB Um computador pode ler 30-35 MB/seg do disco => 4 meses para ler a Web

Big Data Velocidade http://practicalanalytics.files.wordpress.com/2012/10/60seconds.jpg

Big Data Velocidade http://practicalanalytics.files.wordpress.com/2012/10/newstyleofit.jpg

Big Data Velocidade x Volume Visão Quantidade de dados no Mundo Até 2003 5 bilhões de gigabytes (exabytes) Em 2011 a mesma quantidade era gerada a cada 2 dias. Em 2013, a mesma quantidade era gerada a cada 10 minutos Previsão de crescimento de 1000x em 10 anos e 1,000,000x em 20 anos. (http://money.cnn.com/gallery/technology/2012/09/10/big-data.fortune/index.html)

Big Data Variedade Internet das coisas (ubiquidade) Visão

Big Data x SGBD Visão Duas abordagens principais: SGBDR Paralelos Ferramentas NoSQL 123 /132

Big Data x SGBD x Usuários Visão Cientista de Dados http://www.oralytics.com/2012/06/data-science-is-multidisciplinary.html

Big Data x SGBD x Usuários Visão Cientista de Dados Data scientist jobs Indeed.com

Big Data x SGBD x Usuários Cientista de Dados http://becomingadatascientist.wordpress.com/2013/04/28/ideal-data-scientist/

Big Data x SGBD x Usuários Cientista de Dados http://www.edureka.co/blog/who-is-a-data-scientist/

Big Data x SGBD x Usuários Cientista de Dados = X-informata Domínio de Informática Domínio do contexto de negócio Ex: Físico-informata Médico-informata Bio-informata Genético-informata Informata-informata!

Ambiente dos SGBD Visão Ambiente Poliglota Demandas do contexto Big Data está alterando paradigmas Postura early adoption Protótipo/produto Aproximação Mercado x Ciência Os dois contextos têm o mesmo problema Influência das redes sociais

Ambiente dos SGBD Visão Ambiente Poliglota várias linguagens de programação vários produtos de armazenamento vários modelos de dados Várias ferramentas de análise

Ambiente dos SGBD Visão Maior intersecção entre papéis do Programador DBA Gerente de Dados Estatístico X-informata

Referências [Ambler2001] Ambler, S.W.; The Object Primer: Introduction to techniques for Agile Modeling ; Ronin International; 2001. http://www.databasecolumn.com http://www.dbms2.com http://www.wintercorp.com/ Brayner, A.; Aplicações Avançadas de Banco de Dados ; UNIFOR; 2005. Salgado, A. C.;Banco de Dados; UPFE; 2005. Lóscio, B. F.;Banco de Dados Pós-Relacionais; DI-UFPe; Ferreira, K. R.; Introdução a Geoprocessamento ; INPE;2009.