Modelos e Tipos de Dados para
Banco de Dados Móveis
Equipe:
Aderval, Eudes, Ivanildo, Mozart, Pablo
Roteiro








Motivação
Conceitos
MOST
Modelo proposto por Bei Yi
Modelo para Rede de estradas
Tipos de Dados de BD Móveis
Conclusão
Referências
Motivação



Surgimento de Aplicações Móveis (Uso militar)
Interesse na possibilidade de capturar dados relativos
aos movimentos, cuja velocidade implicará em
aumento da taxa de transferência.
Exemplos: Fenômenos relacionados ao movimento
Motivação




Bancos de dados Espaço-Temporais são pouco
eficazes
Paradigmas de modelagem existentes são pouco
adequados
Linguagens de consultas existentes não possuem
operadores que exploram as novas possibilidades dos
objetos móveis
O modelo consiste em agrupar versão dos objetos
móveis em cada intervalo de tempo, formando assim a
sua trajetória
Conceitos

Objeto espaço-temporal: Atributos espaciais,
temporais e descritivos

Exemplos: Fazenda(Nome, Localização,
tempo);

Desafios: Complexidade em capturar,
armazenar e gerenciar grandezas envolvendo
Espaço e Tempo
Conceitos


Modelagem dependente da natureza dos objetos
Classificação: Forma de variação do espaço em
função do tempo
–
–
–
Continua: Modelagem de atributos através de um gráfico de
variação continua
Registro de Eventos: Variação de espaço em intervalos
discretos. Dados válidos apenas durante este intervalo
Mudança de Estado: Semelhante ao anterior, mas mantendo
a localização, mesmo fora dos intervalos do evento, até o
próximo evento ocorra
Conceitos

Objeto Móvel – qualquer objeto, pontual ou
com extensão, que muda sua posição
geográfica continuamente conforme o passar
do tempo.

Especialização de objeto espaço-temporal.

Ex : Táxi, Cardume de golfinhos.
Conceitos


Banco de Dados Móveis: Especialização de bases de
dados espaço-temporais
Problemas:
–
–
–
O número de registros cresceria muito se cada posição
exigisse o armazenamento um registro novo
A complexidade algorítmica dos operadores é muito maior
pois precisa considerar a continuidade do movimento.
Pode haver intervalo de tempo sem informação amostrada.
Isso pode apresentar ”lacunas”de informações, o que exige
técnicas de reconstituição da continuidade, usando técnicas
de aproximação como interpolação.
Modelo MOST
Modelo MOST



Moving Object Spatial Temporal.
Objeto Espacial - Coordenadas x, y, z
BD com atributos dinâmicos.
–
–
–
updatetime
value
function
Modelo MOST


Representação de estados do futuro.
DataBase History
–
–
Past Database History
Future Database History
Tipos de MOST Query

Consultas sobre o DataBase History:
Instantâneas

Contínuas

Persistentes

Instântaneas


Consulta avaliada em um tempo infinito
iniciando em um tempo t.
Presente
–

Ex : “Quais os supermercados que estão num raio
de 10 km da minha posição ?”
Futuro
–
Ex : “ Quais supermercados eu poderei chegar em
5 min.?”
Contínuas



Consulta contínua em t, é uma seqüência de
consultas instantâneas, uma para cada ponto
t’ >t.
Update explícito
Ex : “Quais supermercados vendem pão e
estão em um raio de 10 km?”
Persistentes


Seqüência de consultas instantâneas. Porém
estas consultas tem um mesmo tempo t inicial.
Persistentes x Contínuos
Modelo MOST

Vantagens:
–
–

Maioria dos casos o movimento permanece
uniforme.
Consultas sobre o futuro próximo.
Desvantagem:
–
–
Não Descreve a trajetória completa dos objetos
móveis.
Baseado em objetos pontuais.
Modelo proposto por
Claudia Medeiros
e
Bei Yi
Considerações do modelo

Tipos de objetos a serem modelados de
acordo com o comportamento temporal:
–
–
–

Estático
Temporal discreto
Temporal continuo
Atributos a serem consultados:
–
–
–
Descritivo ou convencional
Temporal
Espacial
Considerações do Modelo

Tipos de representação da trajetória:
–
–
–
Ponto
Linha
Polígono
Considerações do modelo


O que se consulta em um banco de dados de
objetos móveis?
Que dados de objetos móveis devem ser
guardados?
O que se consulta?

Consultas tradicionais em banco de dados
espaço-temporais:
–
–
No tempo t1 qual a localização do carro A?
Quando o carro A estava na coordenada (x1,y1)?
O que se consulta?
Existem outras necessidades de consulta:
 Relacionamentos entre um objeto móvel e um
estático.
–

Quando o carro A estava fora da área central
(demarcada pelo polígono X)?
Relacionamento entre dois objetos moveis.
–
No tempo t1, o carro A estava ao lado do carro B?
O que se consulta?
Existem outras necessidades de consulta:
 Estimativas sobre futuro.
–
–
Quando o carro A entrará na região central?
Qual o local provável de interseção das trajetórias
dos carros A e B?
Quais os dados armazenados?


Precisa-se armazenar a trajetória do objeto.
Trajetória é o registro do movimento,
mostrando a evolução da posição do objeto
indexado pelo tempo.
Quais os dados armazenados?

Por que armazenar os dados indexando pelo
tempo?
–

Dado um tempo, só existe um estado de
relacionamento espacial entre os objetos.
Qual o intervalo de tempo a se considerar?
Como tratar movimentos não uniformes?
–
Uma solução é dividir o percurso em intervalos
pequenos o suficiente para garantir movimento
uniforme nele.
Modelo proposto


Modelo orientado a objetos voltado a dados
vetoriais (geo-objetos).
Os objetos se relacionam, possuindo cada um
o seu estado (atributo) e comportamento
(métodos)
Modelo proposto
Modelo Proposto

Vantagens
–

Classes para representar os objetos e outras para
representar as trajetórias.
Desvantagens
–
–
O modelo não possui proposta de linguagem de
consulta.
Dificuldade de implementação devido ao alto grau
de abstração.
Modelo proposto para rede de
estrada – Serviço de Táxi
Serviço de táxi


Há uma grande variedade de aplicações que
manipulam objetos que se movimentam ao
passar do tempo. Porém, essas aplicações
geralmente são desprovidas de suporte a
banco de dados.
É um desafio projetar um modelo de banco de
dados para ser integrado a esses tipos de
aplicações.
Serviço de Táxi


Esses modelos precisam permitir o
armazenamento desses objetos como
entidades estruturadas e também permitir
consultas baseadas em sua estrutura espaçotemporal.
Apresentaremos um exemplo concreto de um
modelo para uma aplicação comercial que
utiliza objetos móveis.
Serviço de Taxi


Imagine um serviço de táxis que precisa saber
continuamente a localização de seus táxis e precisa
estar sempre otimizando o seu serviço.
Consultas possíveis:
–
–
–
–
Qual o táxi mais próximo a um dado endereço?
Quais táxis estarão ao menos a 5 km do endereço do cliente
nos´próximos 10 minutos.
As trajetórias de dois táxis A e B se cruzaram nas últimas 2h?
Assumindo que se sabe antecipadamente as trajetórias, dois
táxis A e B estarão a menos de 2 km em algum momento, nos
próximos 30 min?
Serviço de Táxi


A co-existência de atributos espaciais e
temporais nesse sistema tornam o
processamento de consultas um desafio.
O modelo proposto para suportar esse tipo de
problema vai ser descrito a seguir e foi
construído através da extensão das
tecnologias de banco de dados existentes.
Serviço de Táxi - Modelo


A informação inicial é a representação da rota
entre dois pontos da cidade. Cada ponto é
representado por uma coordenada (x,y) e a
rota entre dois pontos é uma polilinha que é
representada como uma seqüência de
coordenadas: (x1,y1), (x2,y2),...,(xn,yn).
Dessa forma, o mapa da cidade é
representado como um grafo não direcionado.
Serviço de Táxi - Modelo

Trajetória:
–
–
–
É a combinação da rota do objeto com o tempo que
esse objeto se encontrará em cada ponto da rota.
Essa rota é especificada pelo endereço ou ponto
inicial (x1,y1), o endereço ou ponto final (xn,yn) e o
tempo inicial t.
Uma rotina externa deve calcular o custo (caminho
ou tempo) mínimo entre esses dois pontos.
Serviço de Táxi - Modelo


A Trajetória T(o) de um objeto o, é especificado por
uma relação, cujas tuplas são denotados por [i, (x,y), ti,
b], onde (x,y) é o i-ésimo ponto intermediário na rota
L(o) do objeto o e o estará lá no tempo ti. Como uma
trajetória T(o) pode representar mais de uma viagem,
pode-se adicionar um atributo b, que diz se esse ponto
é um início de uma nova viagem ou não.
CREATE TYPE trajetoria AS OBJECT (sequence#
integer, x integer, y integer, ti real, b boolean)
Serviço de Táxi - Modelo
Serviço de Táxi - Modelo


CREATE TYPE objeto_movel AS OBJECT
(object_id integer, T trajetoria, cor integer, peso
integer, motorista pessoa_id)
É necessário, também, uma função que
retorne a distância percorrida entre dois pontos
quaisquer da trajetória e outra que retorne o
tempo entre eles. Essas duas funções
pertencem ao tipo objeto_movel.
Serviço de Táxi - Modelo
SELECT LOC(id, t) | WHEN_AT(id, location-L) |
<other attributes of T or moving objects relation>
FROM T
WHERE id WITHIN (DISTANCE s | TRAVELTIME t) FROM R
[(ALONG EXISTING PATH) | (ALONG SHORTEST PATH) ]
[(ALWAYS BETWEEN) | (SOMETIMES BETWEEN) starttime AND
endtime]
Serviço de Táxi - Modelo




LOC(id,t)
WHENAT(id, location-L)
WITHIN (DISTANCE s | TRAVELTIME t) FROM R –
retorna true se o objeto precisa alcançar R em no mínimo s
ou t.
Quantificadores para refinar WHITIN:
–
–
ALONG EXISTING PATH and ALONG SHORTEST PATH
ALWAYS BETWEEN and SOMETIMES BETWEEN starttime
AND endtime
Tipos de Dados de BD Móveis
Data Reduction


Técnica para otimizar o acesso / armazenamento /
processamento / transmissão de dados em
dispositivos móveis
Estratégias:
–
–
–
–
–
–
Abstração
Projeção
Seleção
Ordenamento
Substituição de dados / Tipos
Técnicas híbridas
Substituição de Tipos


Quanto mais complexo o tipo, mais recursos
ele vai demandar para acesso /
processamento / armazenamento /
transmissão
Quanto maior a diversidades de tipos, maiores
e mais complexas terão que ser as APIs
(espaço e processamento suficientes?)
SQL Server x SQL CE
binary
Binary (<=510), Image (>510) *
char
Nchar (<=255), ntext (>255) *
Varchar
Nvarchar (<=255), ntext (>255) *
SmallDateTime
DateTime **
SmallMoney
Money **
VarBinary
VarBinary (<=510), Image (>510) *
* Podem acontecer falhas na sincronização por causa de tamanho de campo
** Podem acontecer falhas na sincronização por causa de precisão
Oracle 9i x Oracle 9i Lite
1B
2B
4B
FLOAT
DATE
TIME
DOUBLE
LONGVARBINARY
VAR
CHAR
INTEGER
X
X
X
X
X
-
-
-
VARCHAR2
-
-
-
-
-
-
-
X
VARCHAR
-
-
-
-
-
-
-
X
CHAR
-
-
-
-
-
-
-
X
SMALLINT
X
X
X
X
X
-
-
-
FLOAT
X
X
X
X
X
-
-
-
DOUBLE
PRECISION
X
X
X
X
X
-
-
-
NUMBER
X
X
X
X
X
-
-
-
DATE
-
-
-
-
-
X
-
-
LONG RAW
-
-
-
-
-
-
X
-
BLOB
-
-
-
-
-
-
X
-
Conclusão



Os modelos para banco de dados móveis
estão sendo cada vez mais necessário.
Os desafios são grandes.
Existe grandes dificuldades em se encontrar
modelos bem detalhados.
Referências


A.P.Sistla, O.Wolfson , S.Chamberlain and
S.Dao. Modeling and querying moving objects.
In Proc. IEEE Intl. Conf. On Data Engeneering,
pages 422–432, Birminghan, UK, 1997.
Yi, B. and Medeiros, C.Bauzer. Um modelo de
Dados para Objetos Móveis. In IV Simpósio
Brasleiro de GeoInformática, pages 33-40,
2002.
Referências


AVazirgiannis, M. and Wolfson, O. A
Spatiotemporal Model and Language for Moving
Objects on Road Networks.
Wolfsony, O. Chamberlainx, S. Xuz, B. Jiang L.
Moving Objects Databases: Issues and
Solutions
Referências

Small Database Answers for Small Mobile Resources
–

Data Reduction an Adaptation Technique for Mobile Environments
–

http://www.oracle.com/technology/tech/wireless/papers/q402/Oracle_Lite_wp11-02.pdf
Oracle 9i Lite Developers Guide for Windows CE
–

http://citeseer.ist.psu.edu/120366.html
Oracle 9i Lite: A technical White Paper
–

http://citeseer.ist.psu.edu/lubinski00small.html
http://download-east.oracle.com/docs/html/A95913_01/toc.htm
SQL CE Supported DataTypes and Mappings
–
http://msdn.microsoft.com/library/default.asp?url=/library/enus/sqlce/htm/_lce_accessing_data.asp
Download

modelo de dados