Buscar

Aula 1 - Histórico e Evolução de Banco de Dados

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 87 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 87 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 87 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
Disciplina de Banco de Dados
Aula 1 
Histórico e Evolução de
Banco de Dados
Prof. MSc Allan Gonçalves de Oliveira
allan@pgfa.ufmt.br
Março – 2012
 
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
➔ 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
Linguagens de
Programação
Linguagens de
Programação
Inteligência
Artificial
Inteligência
Artificial
Sist. de Suporte 
a Decisão
Sist. de Suporte 
a Decisão
Outras áreasOutras áreas
Sistemas 
Distribuídos 
& Internet
Sistemas 
Distribuídos 
& Internet
Aplicações de 
Bancos de Dados
Aplicações de 
Bancos de Dados
BD EspacialBD Espacial
DWDW
BDOOBDOO
BD DistribuídosBD Distribuídos
BD TemporalBD Temporal
BD MultimídiaBD Multimídia
DWDW
BDDBDD
BD AtivoBD Ativo
Comércio 
Eletrônico
Comércio 
Eletrônico
OLAPOLAP
MonitoramentoMonitoramento
Digital 
Publishing
Digital 
Publishing
Restrições
integridade
Restrições
integridade
DiagnósticoDiagnósticoData MiningData Mining
CAD/CAM/SIGsCAD/CAM/SIGs
 
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
 
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
 
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
bs
tra
çã
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)
➔Estruturahierá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
 
Dado: composição
Visão Dados
 
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
 60
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 emfevereiro
➔ 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 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
 
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
 
2002
1998
1994
1990
1986
1982
1978
1974
1970
1958
1966
1962
Pré-SGBD: Estruturas de Acesso suportadas pelo SO
TOTAL Rede limitado
IMS Hierárquico
IDMS Rede 
Sistema R (Relacional), DATACOM, ADABAS
INGRES, ORACLE
DB2
Protótipos: Adaplex, Exodus, SDM
Ontos, O2, PostgresOntos, O2, Postgres
SGBD´s universais: Modelos OO/ORSGBD´s universais: Modelos OO/OR
Modelo UML
XML (SBDB Tamino)
Modelo ER
Evolução dos SGBD
 
Modelo: não convencionais
Visão Modelo➔ Tipos
➔ Grande Volume de Dados Estruturados
➔ Tipos de Dados Complexos (Textos, Gráficos, 
Imagens, Sons)
➔ Transações Longas
➔ Controle de Versões
➔ Espaço-Temporais
➔ Baseado em Restrições
➔ Orientado a Colunas
 
Sistemas de Banco de Dados
➔ 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
 
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
	Intro-4
	Intro-5
	Slide 38
	MAM ideia
	Slide 40
	Main MAMs
	Simil-Queries
	RQ
	kNNQ
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Database Models
	In the beginning…(in the 1950s)
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	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

Outros materiais