Buscar

Histórico de Banco de Dados - Por: Prof. Dr. Josiel Maimone de Figueiredo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 118 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 118 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 118 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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 
Setembro - 2013
 
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
Setembro – 2013
 
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
➔ Incluem dados
➔ Fazem consultas
➔ Programadores
➔ 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
➔ 
Sist. de Suporte 
a Decisão
Sist. de Suporte 
a Decisão
Outras áreasOutras áreas
Linguagens de
Programação
Linguagens de
Programação
Inteligência
Artificial
Inteligência
Artificial
Sistemas 
Distribuídos 
& Internet
Sistemas 
Distribuídos 
& Internet
Sistemas de 
Bancos de Dados
Sistemas de 
Bancos de Dados
 Temporal TemporalEspacialEspacial
Espaço TemporalEspaço Temporal
BD MultimídiaBD Multimídia
BD DimensionalBD Dimensional
 DW DW 
BD DistribuídosBD Distribuídos
BDOOBDOO
BDDOOBDDOO
BD AtivoBD Ativo
BDDBDD
BDD AtivoBDD Ativo BDOO Ativo
BDOO 
Ativo
BD de
Restrições
BD de
Restrições
BD OO 
Espacial
BD OO 
Espacial
 
Histórico
G Visão Repositório
óDispositivos de armazenamento
G Visão Global
óArquitetura de Banco de Dados
G Visão Dado
óEvolução dos Dados
G Visão Conceitual
óModelo de Dados
Visão
 
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
G Visão Repositório
óDispositivos de armazenamento
G Visão Global
óArquitetura de Banco de Dados
G Visão Dado
óEvolução dos Dados
G Visão Conceitual
óModelo
Visão
 
Arquitetura de um Sistema de Banco 
de Dados
Componentes
➔ Usuário
➔ Software 
➔ manipulação
➔ Hardware
➔ armazenamento
VisãoGlobal
 
Arquitetura de um Sistema de Banco 
de Dados
Evolução
➔ 1ª geração:
➔ Software único
➔controla: interface, 
manipulação, acesso, 
armazenamento e 
gerenciamento dos 
dados.
VisãoGlobal
Armazenamento
 Software
 
 Software
Arquitetura de um Sistema de Banco 
de Dados VisãoGlobal
Aplicação
Sistema Gerenciador de
 Banco de Dados
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.
 
 Software
Arquitetura de um Sistema de Banco 
de Dados VisãoGlobal
Aplicação
SGBD1
Evolução
➔ 3ª geração:
➔ Software Distribuído
➔Cliente (Aplicação)
➔Servidor (SGBD)
➔vários locais
➔vários produtos
SGBD3SGBD1 SGBD2
 
Software
Arquitetura de um Sistema de Banco 
de Dados VisãoGlobal
Navegador Web
Evolução
➔ 4ª geração:
➔ Software 3 camadas
➔Cliente (Aplicação)
➔Navegador Web 
➔Servidor Web
➔SGBD
Servidor Web
SGBD
 
Software
Arquitetura de um Sistema de Banco 
de Dados VisãoGlobal
Cliente
Evolução
➔ 5ª geração:
➔ Software Multi camadas
➔Cliente: vários dispositivos
➔Servidor de Aplicações
➔componentes
➔SGBD
Servidor de 
Aplicações
SGBD
 
Software
Arquitetura de um Sistema de Banco 
de Dados VisãoGlobal
Cliente
Evolução
➔ Nª geração:
➔ SGBD Paralelo
➔Processamento paralelo
Servidor de 
Aplicações
SGBD
SGBD
SGBD
SGBD
 
Software
Arquitetura de um Sistema de Banco 
de Dados VisãoGlobal
Cliente
Evolução
➔ Nª geração:
➔ SGBD Cluster
➔Servidor 
➔Vários nós com memória e disco 
compartilhados
no1
no2
no3
SGBD
 
Arquitetura de um SGBD
VisãoGlobal
Cliente
Evolução
➔ Nª geração:
➔ Software Universal Server
➔Servidor 
➔Acessa várias fontes
SGBD SGBD2
 
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
➔ 2ª 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
G Visão Repositório
óDispositivos de armazenamento
G Visão Global
óArquitetura de Banco de Dados
óComponentes
G Visão Dado
óEvolução dos Dados
G Visão Conceitual
óModelo
Visão
 
Conceitos Básicos
Informação X Dado
Visão Dados
Gravação em código de uma 
observação, 
de um objeto, de um 
fenômeno
Fatos registrados, e que têm 
um significado implícito, 
sobre acontecimentos
 
Informação X Dado
Informações
(significado para organização)
Dados
(qualitativos / quantitativos)
Conhecimento
(compreensão / teoria)
Ação
(projetos / valores)
A
bstra
çã
o 
/ V
al
or
Conceitos Básicos
Visão Dados
 
Dados
Para definir um tipo de dado é preciso ter
➔ Propriedades: 
➔ representação
➔ domínio
➔ Operações
➔ manipulação
Em outras palavras:
➔ Operandos + Operadores
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
imagem
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
imagem
➔ Armazenamento
➔ Em formato binário
➔ Operações (não embutidas no SGBD)
➔ Manipulação: adição, subtração,etc
➔ Buscas de partes das imagens
➔ 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!!
 
➔ 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
 
Dados: complexo
➔ Comparação
➔ Qual o parâmetro usar para comparação?
Visão Dados
 
➔ Comparação:
➔ Similaridade entre objetos
➔ Criação de um Método de acesso:
➔ Domínio de dados complexo
➔ Permita buscas por similaridade
5
45
49
Valor de Similaridade
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) simétrica,
➔ (p3) ∀ x ∈ S, d(x, x) = 0 reflexiva,
➔ e, em alguns casos,
➔ (p4) ∀ x, y ∈ S, x ≠ y ⇒ d(x, y) > 0 estritamente positiva.
➔ (p5) ∀ x, y, z ∈ S, d(x, y) ≤ d(x, z) + d(z, y) Desigualdade Triangular
➔ 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:
K L GH M N Q O PIJE A D F CB
E A D F CB
C
B
D
E FG
HI
J
K
L
M
N O P
QA
CB A
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
➔ ...
Visão Dados
Dados: complexo
 
➔ 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
Visão Dados
Dados: complexo
 
➔Range Query
➔ Recupera todos os objetos que estão até 
uma distância rq ao objeto de consulta oq 
rqoq
Visão Dados
Dados: complexo
 
➔ k-Nearest Neighbor Query
➔ Recupera os k elementos mais similares 
ao objeto de consulta oq
oq
Visão Dados
Dados: complexo
 
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
Visão Dados
genômico
➔ Propriedades: 
➔ Representação: sequência de caracteres
➔ Domínio: combinação de nucleotídeos
➔ Operações
➔ Manipulação: regras de composição
➔ Comparações: faixas semelhantes, formas 
semelhantes
 
➔ 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
espacial
 
➔ Consultas espaciais
Dado: espacial
 Seleção por ponto Seleção por região Seleção por janela
Fonte: Karine Ferreira (2006)
Visão Dados
 
➔ Junção espacial
 Para cada rodovia selecione as escolas que estão a menos de 
1000 metros.
Dado: espacial
Fonte: Karine Ferreira (2006)
Visão Dados
 
Dado: espacial
BA
 ∅ ∅ ¬∅
 ∅ ∅ ¬∅
¬∅ ¬∅ ¬∅
∂A
A°
A-
∂B B° B-
disjoint
BA
meet contains
equal
BA
overlap
A B
inside
B A
covers
A B
covered by
¬∅ ∅ ¬∅
 ∅ ∅ ¬∅
¬∅ ¬∅ ¬∅
∂A
A°
A-
∂B B° B-
 ∅ ∅ ¬∅
¬∅ ¬∅ ¬∅
 ∅ ∅ ¬∅
∂A
A°
A-
∂B B° B-
¬∅ ∅ ¬∅
¬∅ ¬∅ ¬∅
 ∅ ∅ ¬∅
∂A
A°
A-
∂B B° B-
B A
¬∅ ∅ ∅
 ∅ ¬∅ ∅
 ∅ ∅ ¬∅
∂A
A°
A-
∂B B° B-
¬∅ ¬∅ ¬∅ 
¬∅ ¬∅ ¬∅ 
¬∅ ¬∅ ¬∅
∂A
A°
A-
∂B B° B-
 ∅ ¬∅ ∅
 ∅ ¬∅ ∅
¬∅ ¬∅ ¬∅
∂A
A°
A-
∂B B° B-
¬∅ ¬∅ ∅
 ∅ ¬∅ ∅
¬∅ ¬∅ ¬∅
∂A
A°
A-
∂B B° B-
BA B
Fonte: Adaptado de Egenhofer e Herring (1991)
➔ Predicados topológicos
Visão Dados
 
Dado:espacial
➔ Métodos de Acesso Multidimensionais: 
➔ k-d Trees
Fonte: Gilberto Ribeiro (2006)
Visão Dados
 
Dado: espacial
➔ Métodos de Acesso Multidimensionais
➔ Fixed-Grid
Fonte: Gilberto Ribeiro (2006)
Visão Dados
 
Dado: espacial
➔ Métodos de Acesso Multidimensionais
➔ Quadtree
Fonte: Gilberto Ribeiro (2006)
Visão Dados
 
Dado: espacial
➔ Métodos de Acesso Multidimensionais
➔ R-Trees
Visão Dados
 
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óricoG Visão Repositório
óDispositivos de armazenamento 
G Visão Global
óArquitetura de Banco de Dados
G Visão Dado
óEvolução dos Dados
G Visão Conceitual
óModelo de Dados
Visão
 70
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
 
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
Nome: Joana 
Rua: Av. Dom,123 
Cidade: Poconé
Fone: 455-0897
Data: Fev 14, 1955
Hora: 2:00 p.m.
Paciente:Joana , 455-0897
CID: 123456789
 
Modelo: arquivos
Nome: Joana 
Rua: Av. Dom,123 
Cidade: Poconé
Fone: 455-0897
Data: Fev 14, 1955
Hora: 2:00 p.m.
Paciente:Joana , 455-0897
CID: 123456789
➔ 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.
 
Modelo: arquivos
➔ Limitações
➔ Duplicação de Dados
➔ dados e programas desenvolvidos de forma 
independente.
➔ Duplicação excessiva de dados é problemática: 
➔ Custo adicional para 
➔ operações de entrada de dados e atualização.
➔ de espaço de armazenamento. 
➔ para detecção e correção de erros.
 
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ão-planejadas (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.
 
Companhia
Subsidiária
Pessoa
Empregado
nome_comp
localização
#companhia
nome_sub rua localização
qualificação
salário
nome idade
domicílioVeículo
produz é-um
modelo fabricantecor
possui
administra
trabalha
rua
gerencia
possui_frota #pessoa
1 1
1
1
n
1
1
n
n 1
n
1
1
1
1
Modelo: MER
Visão
 
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
 
Fusion
Operation descriptions,
Message numbering
Meyer
Before and after 
 conditions
Harel
State charts
Wirfs-Brock
Responsibilities
Embley
Singleton classes, 
High-level view
Odell
Classification
Shlaer - Mellor
Object Lifecycles
Gamma, et.al
Frameworks, patterns,
notes
Booch
JacobsonRumbaugh
Modelo: OO
Visão Modelo
 
Modelo: OO
Visão Modelo
 
Modelo: OO
Visão Modelo
➔ Diagrama de Classes
 
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}]
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
Modelo: OO
 
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 linguagemSQL 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
 
CREATE TYPE Endereço 
(
 RuaNoVARCHAR(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
Modelo: objeto-relacional
 
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 
Te
mp
o
5 1 68
Produto
P1 P2 P3 P4
Jan./13
Fev./13
FORTALEZA
SOBRAL
NORDESTE
CEARÁ
SUDESTE 
RIO DE JANEIRO
PERNAMBUCO
SÃO PAULO
...
➔ 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
 
Modelo: multidimensional
Visão Modelo
➔ Operações sobre o cubo
P r o d u t o
L o c a l
T e m p o
V e n d a s
L o c a l
T e m p o
P r o d u t o
V e n d a s
L o c a l
T e m p o
P r o d u t o
V e n d a s
 
Modelo: multidimensional
Visão Modelo
➔ Operações sobre o cubo
 
Modelo: multidimensional
Visão Modelo
Acesso à 
informação
Acesso aos 
dados Data 
Warehouse
Middleware 
ou transporte
Gerenciador de Processos
Acesso aos 
dados
Bd 
Operacional
Funções dos Dados Dicionário 
de Dados
 
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
➔ uso de MemCache 
➔ Evolução na transmissão dos dados
➔ 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
➔ abordagem de cluster é cara
➔ 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
➔ 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
G OldSQL → Tradicionais
ó Relacionais (SQL)
G NoSQL
ó Novos modelos de dados
ó Novos controles transacionais
G NewSQL
ó Novas tecnologias nos OldSQL
Visão
 
Modelo: NoSQL
Visão Modelo
➔ Tipos NoSQL
Key/value
stores
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}
Document
database
A
Column
family
Graph
database
1
1 2
1
9
3
1
1
8
6
1 9
3
2
2 8
1
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:
➔ Riak, Redis, Voldemort, Dynamo, Berkeley 
DB, MemcacheDB, … 
Key/value
stores
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}
 
Column Family
Visão Modelo➔ Google's "Bigtable: A Distributed Storage 
System for Structured Data"[2006]
➔ Data Model:
➔ grande tabela, com familia de colunas
➔ map-reduce para consultas e processamento
➔ modelo compacto e flexível
➔ Produtos:
➔ HBase, HyperTable, Cassandra, SimpleDB, 
Cloudata, Cloudera, SciDB, …
Column
family
1
1
1
1
1
1
 
Document Family
Visão Modelo
➔ Modelo de Dados:
➔ Coleção de Documentos
➔ Um documento é uma coleção de key-value
➔ Centrado a índice, vários map-reduce
➔ Produtos:
➔ MongoDB, CouchDB, RavenDB, …
A
 
Graph Family
Visão Modelo
➔ Modelo de Dados
➔ Nós com propriedades
➔ Relacionamentos com propriedades
➔ Hipergrafos
➔ Produtos
➔ Neo4, SonesGraphDB, OrientDB, Sones, 
HyperGraphDB, Virtuoso, VertexDB, …
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
➔ Grande volume de dados na ordem de dezenas/centenas de 
TB
➔ e.g., projeto Square Kilometre Array (SKA) envolve a construção do maior 
radio telescópio que irá gerar até 1500 PBytes diariamente
➔ requer alto poder computacional para processamento, manipulação e 
armazenamento de dados 
➔ tipos de dados variados, complexos e/ou semiestruturados
➔ Modelo flexível para armazenamento de dados complexos
➔ armazenados em clusters de processadores de baixo custo
➔ 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
G Big Data
ó 3 V
ãVolume
ãVelocidade
ãVariedade
ó 5 V
ã Variabilidade
ã Veracidade
Visão
 
Big Data
G Big Data (3V)
Visão
 
Big Data
➔ Big Data → 5 V
➔ Variabilidade
➔ Interpretação diferente
➔ Visualização diferente
➔ Veracidade
➔ Resultados confiáveis
Visão
 
Big Data
Visão
➔ Duas abordagens principais:
➔ SGBDR Paralelos
➔ Ferramentas NoSQL
 
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
➔ maior intersecção entre papéis do 
➔Programador
➔DBA
 
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.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Intro-4
	Intro-5
	Slide 49
	MAM ideia
	Slide 51
	Main MAMs
	Simil-Queries
	RQ
	kNNQ
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide69
	Database Models
	In the beginning…(in the 1950s)
	Slide 72
	Slide 73
	Slide 74
	Slide 75
	Slide 76
	Slide 77
	Slide 78
	Slide 79
	Slide 80
	Slide 81
	Slide 82
	Slide 83
	Slide 84
	Slide 85
	Slide 86
	Slide 87
	Slide 88
	Slide 89
	Slide 90
	Slide 91
	Slide 92
	Slide 93
	Slide 94
	Slide 95
	Slide 96
	Slide 97
	Slide 98
	Slide 99
	Slide 100
	Slide 101
	Slide 102
	Slide 103
	Slide 104
	Slide 105
	Slide 106
	Slide 107
	Slide 108
	Slide 109
	Slide 110
	Slide 111
	Slide 112
	Slide 113
	Slide 114
	Slide 115
	Slide 116
	Slide 117
	Slide 118

Outros materiais