CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times 1/54.

Slides:



Advertisements
Apresentações semelhantes
Estudo de Caso, modelo Oracle 10g
Advertisements

Banco de Dados Prof. Antonio.
Evolução dos SGBD’s (2ª Parte).
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados SQL Stored Procedures
SISTEMAS DE INFORMAÇÃO
Maurício Edgar Stivanello
Análise e Projeto de Sistemas
Sistema Gerenciador de Banco de Dados SGBD
Sistema Gerenciador de Banco de Dados SGBD
Introdução a Bancos de Dados
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Material III-Bimestre Wagner Santos C. de Jesus
Análise Léxica Supondo o trecho de programa abaixo:
Bancos de Dados Orientados a Objeto
Integrando Textura e Forma para a Recuperação de Imagens por Conteúdo
Linguagem de Banco de Dados - SQL
Banco de dados Profª Kelly Medeiros.
Introdução à Multimídia
Paradigmas de programação
A área de banco de dados Cristina Paludo Santos –
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
Bancos de Dados Espaciais
Web Services Uninorte Semana de Tecnologia da Informação
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
DISCIPLINA: SR, Geoprocessamento I e II e Cartografia A tecnologia do Geoprocessamento – Aplicações e Potencialidades 12/3/ Aula 5.
Primeira aula de PL/SQL Parte II
Banco de Dados Multimídia
Projeto de Banco de Dados
III – Oracle10g Apontadores – Tipo de Dado (REF).
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
III – Oracle 10g Herança.
Desenvolvendo um script SQL
BANCOS DE DADOS ATIVOS Weyler M Lopes © Especialização em Banco de Dados.
Banco de dados.
Baseado no material do Professor Raul Paradeda
A abordagem de banco de dados para gerenciamento de dados
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
Microsoft SQL Server 2008 SPARSE. Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Introdução a Banco de Dados Aula 04
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
TECNOLOGIAS E LINGUAGENS PARA BANCO DE DADOS I
1 15/4/ :36 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Requisitos de Software
Ricardo Ferreira Schiavo
III – Oracle 9i Indexação. Índices Baseados em Funções É um índice baseado no valor de retorno de uma expressão ou função –A função pode ser um método.
Banco de Dados I I Comandos SQL
Banco de dados 1 Modelagem de Dados Utilizando MER
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
III - Oracle9i Apontadores – Tipo de Dado (REF). Identificador de Objeto A todo objeto de uma “object table” é associado um OID (“Object IDentifier”)
Conceitos de SGBD Objeto-Relacional Oracle 10g [2] Monitoria GDI André Braga, Daniel Penaforte, Domingos Ribeiro, João Pascoal, Maria Carolina.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
Banco de Dados e Internet
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Daniel Paulo Introdução Informações de uma tabela ou view podem ser encontradas de maneira mais rápida através da utilização.
Projeto de Banco de Dados
PSI2653: Meios Eletrônicos Interativos I I – Informação Digital Escola Politécnica da USP Engenharia de Sistemas Eletrônicos Meios Eletrônicos Interativos.
Linguagem de definição de dados - SQL
BD Multimídia Valéria Times. 10/31/2015 © CIn/UFPE2 Tratamento de Dados Multimídia.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Banco de Dados Multimídia:
Sistemas Multimídia Distribuídos Projeto Carlos A. G. Ferraz
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Banco de Dados II Prof: Márcio Soussa Curso de Sistemas de Informação Faculdades Jorge Amado.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Transcrição da apresentação:

CIn/UFPE - BD Multimídia  Valéria Times Banco de Dados BD Multimídia Valéria Cesário Times 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

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

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

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

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

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

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

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

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

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

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

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

CIn/UFPE - BD Multimídia  Valéria Times Se pego no que estou pensando!? Sou dono do Mundo! 14/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

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

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

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

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 Entrada Tipos de Dados Multimídia 19/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

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

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

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

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

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

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

CIn/UFPE - BD Multimídia  Valéria Times Exemplo de comparações de cores Imagem 1Imagem 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

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

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

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

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

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: localDatasrcName srcType srcLocation updateTime local Oracle InterMedia 32/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é (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

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

CIn/UFPE - BD Multimídia  Valéria Times Como interMedia verifica a similaridade ? (Cont.)  Exemplo: Atributo VisualDistânciaPeso Cor Textura 50.2 Formato Grau = 0.7 * * * 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

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

CIn/UFPE - BD Multimídia  Valéria Times Métodos do Tipo ORDImageSignature  Construtor: init() Inicializa instâncias deste tipo BEGIN INSERT 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

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 ; BEGIN SELECT p.produto_foto, p.foto_ass INTO t_image, image_sig FROM tabela p WHERE p.produto_id = 2402 FOR UPDATE; -- Gera a assinatura image_sig.generateSignature (t_image) ; UPDATE tabela p SET p.foto_ass = image_sig WHERE p.produto_id = 2402; END; / Oracle InterMedia 38/54

CIn/UFPE - BD Multimídia  Valéria Times Métodos do Tipo ORDImageSignature (cont.)  isSimilar() Verifica se duas assinaturas são similares DECLARE image_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

CIn/UFPE - BD Multimídia  Valéria Times  isSimilar() -- Compara as imagens valor := 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

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 (imagens diferentes) Oracle InterMedia 41/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; BEGIN SELECT p.produto_foto, p.foto_ass INTO t_image, image_sig FROM tabela p WHERE p.produto_id = 1910 FOR UPDATE; -- Gera a assinatura image_sig.generateSignature(t_image); UPDATE tabela p SET p.foto_ass = image_sig WHERE p.produto_id =1910; Oracle InterMedia 42/54

CIn/UFPE - BD Multimídia  Valéria Times SELECT p.produto_foto, p.foto_ass INTO c_image, compare_sig FROM tabela p WHERE p.produto_id = 1940 FOR UPDATE; -- Gera a assinatura compare_sig.generateSignature(c_image); UPDATE tabela p SET p. foto_ass = compare_sig WHERE produto_id = 1940; Oracle InterMedia 43/54

CIn/UFPE - BD Multimídia  Valéria Times -- Comparação entre duas imagens baseada na cor SELECT 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

CIn/UFPE - BD Multimídia  Valéria Times id_midialocadoduracaoprecocapanome_ capa Type t_midia titulodiretorgenerotrailernome_ trailer sinopsenome_ sinops Type t_dvd under t_midia Exemplo albumartistaestilofaixanome_ faixa letranome_ letra Type t_cd under t_midia Oracle InterMedia 45/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

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

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

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

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

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 tupla INSERT 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

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 inserida SELECT c.capa, c.capa_sig INTO CapaObj, CapaObj_sig FROM 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

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

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

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