cin/ufpe - bd multimídia valéria times banco de dados bd multimídia valéria cesário times...

55

Click here to load reader

Upload: bernardo-gorjao-philippi

Post on 07-Apr-2016

228 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Banco de Dados

BD Multimídia

Valéria Cesário [email protected]

1/54

Page 2: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Tópicos

• BD Multimídia Definição

Aplicações

Aspectos importantes

• Tipos de dados multimídia

• Consultas de conteúdo Oracle InterMedia

• Uma aplicação multimídia

• Bibliografia 2/54

Page 3: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

BD Multimídia

• São bancos de dados que possuem diferentes tipos de dados diferentes meios (mídias) de armazenamento e edição

• Exemplos de mensagens multimídia um livro ilustrado (texto, imagens) filmes (vídeo, som) cartões postais (imagem, texto)

3/54

Page 4: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Os tipos principais de consultas são aquelas que envolvem a localização de informações multimídia que contêm certos objetos/atividades de interesse

• As consultas feitas ao BD multimídia são baseadas no conteúdo.

• Existem duas abordagens principais: ANÁLISE AUTOMÁTICA: determina certas características

matemáticas do conteúdo dos dados multimídia ANÁLISE MANUAL: Uso de esquemas de classificação

pré-determinados e de informações descritivas digitadas manualmente.

BD Multimídia

4/54

Page 5: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Comparação entre as abordagens: ANÁLISE AUTOMÁTICA:

• Processo (semi) automatizado• Redução do tempo e do trabalho• Baixa precisão

ANÁLISE MANUAL: • Pode ser aplicada a qualquer tipo de dados multimídia• Requer uma fase de preprocessamento manual, na

qual cada dado é pesquisado para identificar os objetos/atividades que ele contém.

Atualizações pode implicar em reprocessamento

BD Multimídia

5/54

Page 6: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Aplicações Multimídia Projetos de engenharia e arquitetura Registros médicos e aplicações em telemedicina Educação e treinamento Publicidade e turismo Trabalho Cooperativo Processamento de imagens de satélite Trademarks, copyrights e logos Galerias de artes e museus Franquias Moda e indústria de tecidos Decoração e projeto de interiores .......

BD Multimídia

6/54

Page 7: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Bancos de Dados Multimídia• Aspectos importantes

Modelagem: novos tipos de dados e objetos complexos Armazenamento: dispositivos específicos de

armazenamento e técnicas de compressão Acesso: diferenciado de chaves ou índices Performance: otimização de consultas e processamento

paralelo Interface: manipulação adequada para diferentes tipos de

dados• Realização de consultas com base no conteúdo• Considerar os diversos tipos de dados • Permitir consultas cooperativas • Ser independente dos outros níveis do sistema

7/54

Page 8: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Bancos de Dados Multimídia

• Características essenciais de um SGBD Multimídia Extensibilidade: inclusão de novos tipos de dados e novos

dispositivos de armazenamento e edição Flexibilidade: no armazenamento, transferência e edição

das informações multimídia Eficiência: no armazenamento e transferência de dados

multimídia• Tipos de dispositivos de armazenamento

Magnéticos Óticos

8/54

Page 9: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

BD Multimídia• Sistemas comerciais

Não existem SGBD• Projetados unicamente para o manuseio de dados

multimídia • Com funcionalidades para prover o suporte a todas as

aplicações de gerenciamento da informação multimídia Existem vários SGBD que manipulam tipos de dados

multimídia• Informix Dynamic Server• DB2 – IBM• Oracle 8i / 9i• CA – Jasmine• Sybase

• ODB II• CACHÉ

9/54

Page 10: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Tipos de Dados Multimídia• Imagem

Requer tratamento especial para armazenamento, transmissão e consulta

São armazenadas como um conjunto de valores de pixels / células ou em uma forma comprimida

Uma consulta típica de um BD de imagens: Encontre imagens que são similares a uma dada imagem

Para identificar os objetos de interesse, uma imagem é tipicamente dividida em segmentos homogêneos, usando um predicado de homogeneidade

Existem duas técnicas para este tipo de pesquisa:• Função de Distância• Função de Transformação

10/54

Page 11: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Imagem (Cont.) FUNÇÃO DE DISTÂNCIA: Compara a imagem dada com

as imagens armazenadas no BD e seus segmentos. Se o valor da distância retornado é pequeno, a probabilidade de casamento de padrões é elevada

FUNÇÃO DE TRANSFORMAÇÃO: Mede o número de transformações necessárias para transformar uma imagem em outra.

Tipos de Dados Multimídia

11/54

Page 12: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Som Necessita interface de áudio e dispositivo com alta capacidade de armazenamento Consiste de mensagens registradas, tais como:

• discursos• aulas• músicas • quebras de sigilo de conversas telefônicas, feitas por autoridades

Características da voz, tais como: volume, timbre e clareza, são usadas na indexação dessas informações multimídia

Tipos de Dados Multimídia

12/54

Page 13: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Tipos de Dados Multimídia

• Animações Seqüências temporais de dados gráficos ou imagens

13/54

Page 14: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Se pego noque estou pensando!?

Sou dono do Mundo!

14/54

Page 15: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Tipos de Dados Multimídia

• Vídeo Conjunto de dados fotográficos seqüenciados para

apresentação em velocidades específicas BD é dividido em segmentos de vídeo Cada segmento é formado por uma seqüência de

molduras que inclui os mesmos objetos/atividades Cada segmento é identificado pela sua moldura inicial e

final Os objetos e/ou atividades encontrados em cada

segmento podem ser usados para indexá-los

15/54

Page 16: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Tipos de Dados Multimídia

• Composto ou Misto Combinação de tipos de dados multimídia, tais como som e

vídeo.

16/54

Page 17: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Tipos de Dados Multimídia

• Composto ou Misto Combinação de tipos de dados multimídia, tais como som

e vídeo.

17/54

Page 18: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Documentos Conjunto de informações que apresentam uma

estrutura Composto de informações de naturezas diversas As palavras chaves que aparecem no texto e suas

freqüências são usadas para indexar documentos

Ao Vencedor

.....

Tipos de Dados Multimídia

18/54

Page 19: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Hipertextos Documentos estruturados através de uma rede

semântica Documentos são associados via links

• Hipermídia Hipertexto com dados multimídia

EntradaEntrada

Tipos de Dados Multimídia

19/54

Page 20: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Consultas de Conteúdo• Redução de custos de armazenamento e captura

de imagens tem permitido a criação de volumosas bases de imagens digitais Contudo, com o aumento da base de dados, aumenta

a dificuldade em recuperar imagens relevantes• Processamento de imagens no Oracle interMedia

pode se basear: Análise Manual Análise Automática

20/54

Page 21: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Ambas abordagens podem ser adotadas no Oracle interMedia: Atributos convencionais ( tipo texto, numérico ou data)

podem ser usados para descrever o significado semântico da imagem

• Foto de um automóvel: recebimento de uma premiação ou características do motor

Uso do tipo ORDImageSignature para permitir consultas de conteúdo baseadas nos atributos específicos da imagem

• Cor, formato e textura da imagem

Consultas de Conteúdo

21/54

Page 22: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Principais benefícios de consultas de conteúdo: Redução de tempo e trabalho para obter dados de

imagem Com a inclusão e atualização de imagens, é impossível

requerer a entrada manual de atributos necessários às consultas

Aumento de praticidade e flexibilidade, mesmo que com a baixa precisão.

Permite a realização de consultas sobre atributos difíceis de serem representados textualmente

• Permite a realização de consultas do tipo Encontre objetos semelhantes a este aqui!

Consultas de Conteúdo

22/54

Page 23: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Funcionamento de um sistema de consultas baseadas no conteúdo: Imagem é processada e uma abstração de seu conteúdo

baseada em atributos visuais é criada Qualquer consulta subseqüente é resolvida com base

nesta abstração Cada imagem inserida no BD é analisada e uma

representação compacta de seu conteúdo é armazenada em um vetor – assinatura

A imagem é segmentada em regiões para extração de sua assinatura

Consultas de Conteúdo

23/54

Page 24: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Assinatura contém informações sobre os seguintes atributos visuais: Cor: Representa a distribuição de cores da imagem

inteira Textura: Representa os padrões de textura da imagem

(aparência lisa ou granulada) Formato: Representa as geometrias que aparecem na

imagem definidas por técnicas de segmentação Localização: Representa as posições dos componentes

anteriores.

Consultas de Conteúdo

24/54

Page 25: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Processo de comparação de imagens Imagens são recuperadas do BD com base em

comparações com uma dada imagem Tal imagem:

• Pode ser externa ou mantida no BD • Pode ser gerada automaticamente• Deve ter uma assinatura

Processo de comparação baseia-se em uma função de medida de similaridade

• No Oracle interMedia esta medida de similaridade se baseia no conceito de distância

Consultas de Conteúdo

25/54

Page 26: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Função de medida de similaridade: Baseia-se na distância entre os valores dos atributos

visuais Faz uso de um conjunto de pesos associados aos

atributos visuais• Pontuação

Distância relativa entre duas imagens sendo comparadas Reflete o grau de similaridade entre duas imagens sendo

comparadas para cada atributo visual

Consultas de Conteúdo

26/54

Page 27: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Exemplo de comparações de cores

Imagem 1 Imagem 2

Cor apenas: completa semelhança (0) porque cada cor ocupa o mesmo percentual do total Cor e Localização: nenhuma semelhança (100) porque não há sobreposições entre as cores

Consultas de Conteúdo

27/54

Page 28: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Imagens semelhantes quanto às cores

Consultas de Conteúdo

• Imagens semelhantes para cor e localização

28/54

Page 29: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Imagens de tecidos semelhantes quanto a textura

Consultas de Conteúdo

• Imagens semelhantes quanto ao formato

29/54

Page 30: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Preparação de Imagens p/ Consultas de Conteúdo Objetos de interesse na imagem devem ocupar todo o

espaço ou pelo menos, ser do mesmo tamanho e ocupar as mesmas posições

Eliminar elementos extras Na geração de assinaturas, imagens são temporariamente

escaladas para um tamanho padrão Quando se tem vários objetos na imagem, melhores

resultados são obtidos se:• Existem poucos e simples formatos• As cores de objetos adjacentes formam contrastes• Cores da imagem são totalmente distintas

Verde e Vermelho ao invés de Verde claro e Verde escuro

Consultas de Conteúdo

30/54

Page 31: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Áudio, Imagem, Vídeo e Documento • Gerencia imagens, áudios e vídeos de forma

integrada com outros dados por meio de tipos de objetos

• Estende confiabilidade, disponibilidade e gerenciamento de dados do Oracle para conteúdos multimídia

• Consiste de tipos de objetos com métodos para gerenciar e processar dados multimídia ORDAudio, ORDVideo, ORDImage, ORDDoc Armazenam informações da origem dos dados em um

tipo objeto-relacional conhecido como ORDSource

Oracle InterMedia

31/54

Page 32: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Tipo ORDSource Provê o acesso a uma variedade de fontes de dados

multímidia Todos os tipos do Oracle Intermedia possuem um

atributo deste tipo Principais atributos:

localData srcNamesrcTypesrcLocation

updateTimelocal

Oracle InterMedia

32/54

Page 33: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Como Oracle interMedia verifica a similaridade? Dados os pesos para cada atributo visual, o sistema

calcula uma medida de similaridade, chamada de pontuação ou distância

Pesos informados correspondem a valores entre [ 0 ; 1 ] e pelo menos um deles, deve ser maior que zero

Pontuação calculada pode variar de 0.0 (nenhuma diferença) até 100.0 (máxima diferença possível)

Grau de similaridade consiste na soma dos produtos entre a distância de cada atributo visual e seu respectivo peso

Oracle InterMedia

33/54

Page 34: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Pontuação de três imagens para dois atributos visuais: cor e formato

Imagem 1

Imagem 2

Imagem 3

Cor

Formato

Imagem 1: dado de referência (consulta)Imagens 2 e 3: mantidas no BD

Oracle InterMedia

34/54

Page 35: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Como interMedia verifica a similaridade ? (Cont.) Exemplo:

Atributo Visual Distância PesoCor 15 0.7Textura 5 0.2Formato 50 0.1

Grau = 0.7 * 15 + 0.2 * 5 + 0.1 * 50 = 16.5

Os pesos e o limite são dependentes da aplicação e determinados por meio de tentativas e testes.

Oracle InterMedia

35/54

Page 36: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Como interMedia verifica a similaridade? (Cont.) Exemplo: Recupere todas as imagens semelhantes a

uma dada imagem

CURSOR obtenhafotos IS SELECT produto_id , produto_foto FROM tabela WHERE ORDSYS.IMGSimilar ( foto_ass, comp_ass, ´color = “0.4”, texture = “0.10”, shape = “0.3”, location = “0.2” ´ , 20 ) =

1 ;

Oracle InterMedia

36/54

Page 37: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Métodos do Tipo ORDImageSignature Construtor: init()

• Inicializa instâncias deste tipo

BEGININSERT INTO tabela (produto_id, produto_foto, foto_ass)VALUES (1910, ORDSYS.ORDImage.init('FILE','FILE_DIR‘,'speaker.jpg'),ORDSYS.ORDImageSignature.init()) ;COMMIT;END; /

Oracle InterMedia

37/54

Page 38: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Métodos do Tipo ORDImageSignature (cont.) generateSignature()

• Gera uma assinatura para uma dada imagem

DECLARE t_image ORDSYS.ORDImage ; image_sig ORDSYS.ORDImageSignature ;BEGINSELECT p.produto_foto, p.foto_ass INTO t_image, image_sigFROM tabela p WHERE p.produto_id = 2402 FOR UPDATE;

-- Gera a assinaturaimage_sig.generateSignature (t_image) ;

UPDATE tabela p SET p.foto_ass = image_sigWHERE p.produto_id = 2402; END; /

Oracle InterMedia

38/54

Page 39: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Métodos do Tipo ORDImageSignature (cont.) isSimilar()

• Verifica se duas assinaturas são similares

DECLAREimage_sig1 ORDSYS.ORDImageSignature;image_sig2 ORDSYS.ORDImageSignature;valor INTEGER;BEGIN SELECT foto_ass INTO image_sig1 FROM tabela WHERE produto_id = 1910;

SELECT foto_ass INTO image_sig2 FROM tabela WHERE produto_id = 1940;

Oracle InterMedia

39/54

Page 40: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

isSimilar()

-- Compara as imagensvalor := ORDSYS.ORDImageSignature.isSimilar(image_sig1,image_sig2,'color="1.0",texture=0,shape=0,location=0',10);

IF valor = 1 THEN DBMS_OUTPUT.PUT_LINE(‘As imagens são similares');ELSIF valor = 0 THEN DBMS_OUTPUT.PUT_LINE(‘As imagens não são similares');END IF;Existem os operadores: IMGSimilar() e IMGScore()

Oracle InterMedia

40/54

Page 41: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

• Métodos do Tipo ORDImageSignature (cont.) evaluateScore()

• Computa a distância entre duas assinaturas com base na influência dos pesos passados como parâmetros

• Retorna um valor entre 0.0 (imagens idênticas) e 100.0 (imagens diferentes)

Oracle InterMedia

41/54

Page 42: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

DECLARE t_image ORDSYS.ORDImage; c_image ORDSYS.ORDImage; image_sig ORDSYS.ORDImageSignature; compare_sig ORDSYS.ORDImageSignature; pont FLOAT;BEGINSELECT p.produto_foto, p.foto_ass INTO t_image, image_sig FROM tabela pWHERE p.produto_id = 1910 FOR UPDATE;

-- Gera a assinaturaimage_sig.generateSignature(t_image);

UPDATE tabela p SET p.foto_ass = image_sigWHERE p.produto_id =1910;

Oracle InterMedia

42/54

Page 43: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

SELECT p.produto_foto, p.foto_ass INTO c_image, compare_sig FROM tabela pWHERE p.produto_id = 1940 FOR UPDATE;-- Gera a assinaturacompare_sig.generateSignature(c_image);

UPDATE tabela p SET p. foto_ass = compare_sigWHERE produto_id = 1940;

Oracle InterMedia

43/54

Page 44: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

-- Comparação entre duas imagens baseada na corSELECT p.produto_foto, p.foto_ass INTO t_image, image_sig FROM tabela p WHERE p.produto_id = 1910;

SELECT p.produto_foto, p.foto_ass INTO c_image, compare_sig FROM tabela p WHERE p.produto_id = 1940;

score:=ORDSYS.ORDImageSignature.evaluateScore(image_sig,compare_sig,'color="1.0",texture=0,shape=0,location=0');DBMS_OUTPUT.PUT_LINE(‘Distancia = ' || score) ;END ;/

Oracle InterMedia

44/54

Page 45: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

id_midia locado duracao preco capa nome_capa

Type t_midia

titulo diretor genero trailer nome_trailer

sinopse nome_sinops

Type t_dvd under t_midia

Exemplo

album artista estilo faixa nome_faixa

letra nome_letra

Type t_cd under t_midia

Oracle InterMedia

45/54

Page 46: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Criação dos Tipos

CREATE OR REPLACE TYPE t_midia AS OBJECT ( id_midia integer , locado varchar2 (5 ) , duracao integer , preco number (10 , 2 ) , nome_capa varchar2 (100 ) , capa ORDSYS.ORDImage , capa_sig ORDSYS.ORDImageSignature ) not final ;

Oracle InterMedia

46/54

Page 47: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Criação dos Tipos (Cont.)

CREATE OR REPLACE TYPE t_dvd UNDER t_midia ( titulo varchar2 ( 255 ) , diretor varchar2 ( 255 ) , genero varchar2 ( 255 ) , nome_trailer varchar2 (100 ) , trailer ORDSYS.ORDVideo , nome_sinopse varchar2 (100 ) , sinopse ORDSYS.ORDDoc ) ;

Oracle InterMedia

47/54

Page 48: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Criação dos Tipos (Cont.)

CREATE OR REPLACE TYPE t_cd UNDER t_midia ( album varchar2 ( 255 ) , artista varchar2 ( 255 ) , estilo varchar2 ( 255 ) , nome_faixa varchar2 (100 ) , faixa ORDSYS.ORDAudio , nome_letra varchar2 (100 ) , letra ORDSYS.ORDDoc ) ;

Oracle InterMedia

48/54

Page 49: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Criação de Tabelas

CREATE TABLE dvd OF t_dvd ( id_midia primary key ) ;

CREATE TABLE cd OF t_cd ( id_midia primary key ) ;

Oracle InterMedia

49/54

Page 50: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

Inserção de um CD no BD

CREATE OR REPLACE PROCEDURE insereCD ( duracao integer , preco number , nome_capa varchar2 , album varchar2 , artista varchar2 , estilo varchar2 , nome_faixa varchar2 , nome_letra varchar2 ) IS id_cd INT ; CapaObj ORDSYS.ORDImage ; CapaObj_sig ORDSYS.ORDImageSignature ; ctx_capa RAW (4000) : = NULL ;

Oracle InterMedia

50/54

Page 51: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

FaixaObj ORDSYS.ORDAudio ; ctx_faixa RAW (4000) : = NULL ;

LetraObj ORDSYS.ORDDoc ; ctx_letra RAW (4000) : = NULL ;

BEGIN -- insere a tuplaINSERT INTO cd VALUES (t_cd (seq_id_midia.nextVal, ´false´ , duracao, preco, nome_capa, ORDSYS.ORDImage.init (´FILE ´ , `IMAGENS´ , nome_capa) , ORDSYS.ORDImageSignature.init() , album , artista , estilo , nome_faixa , ORDSYS.ORDAudio.init() , nome_letra , ORDSYS.ORDDoc.init() ) ) ;

Oracle InterMedia

51/54

Page 52: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

-- pega o identificador da tupla inserida SELECT max (id_midia) INTO id_cd from cd ;

-- seleciona a tupla inseridaSELECT c.capa , c.capa_sig INTO CapaObj , CapaObj_sigFROM cd c WHERE c.id_midia = id_cd FOR UPDATE ;

-- seta as propriedades da imagem inserida CapaObj.setProperties ; CapaObj.import ( ctx_capa ) ; CapaObj_sig.generateSignature (CapaObj) ; UPDATE cd SET capa = CapaObj , capa_sig = CapaObj_sig WHERE id_midia = id_cd ; COMMIT ;

Oracle InterMedia

52/54

Page 53: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

-- pega o som inserido para colocar seu conteudo SELECT c.faixa INTO FaixaObj FROM cd c WHERE c.id_midia = id_cd FOR UPDATE ;

-- seta as propriedades do objeto do tipo audio FaixaObj.setSource (´FILE ´, `AUDIOS´, nome_faixa) ; FaixaObj.import ( ctx_faixa ) ; FaixaObj_setProperties (ctx_faixa) ;

-- atualiza a tupla UPDATE cd c SET c.faixa = FaixaObj WHERE c.id_midia = id_cd ;

COMMIT ;

Oracle InterMedia

53/54

Page 54: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times

-- coloca o documento na tupla SELECT c. letra INTO LetraObj FROM cd c WHERE c.id_midia = id_cd FOR UPDATE ;

LetraObj.setSource ( ´FILE ´, `DOCUMENTOS´, nome_letra) ; LetraObj.setMimeType ( ´application / pdf´) ; LetraObj.import ( ctx_letra , FALSE ) ; UPDATE cd c SET c. letra = LetraObj WHERE c.id_midia = id_cd ;

COMMIT ; END ;

Oracle InterMedia

54/54

Page 55: CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times vct@cin.ufpe.br 1/54

CIn/UFPE - BD Multimídia Valéria Times 55/7855/54