ustify>Capa SQl 33

Clique aqui para ler todos os artigos desta edição

Banco de dados multimídia

Desenvolvendo uma aplicação com BD Multimídia

 

     Com o avanço da tecnologia e a progressiva informatização no gerenciamento dos dados nas empresas, o banco de dados não pode mais apenas armazenar informações no formato de texto, deve também armazenar outros tipos de informações, por exemplo, multimídia. Podemos citar como exemplo a área hospitalar que utilizaria este recurso para o armazenamento de imagens dos exames de um paciente.

     Neste artigo vamos conhecer um pouco mais sobre este assunto através da discussão sobre os principais conceitos relacionados a esse tema nos principais SGBDs: MySQL, Oracle e SQL Server. Em seguida falaremos como armazenar um arquivo no MySQL 5.0 através da própria interface do MySQL. Ao final, descreveremos uma aplicação prática de um banco de dados multimídia no SQL Server 2000.

 

O que é um banco de dados multimídia?

 

     Podemos considerar um banco de dados como sendo multimídia quando este armazena além de textos, outros tipos de informações como imagens, vídeos, sons e etc. Dentre os SGBDs mais utilizados (SQL Server 2000, Oracle e MySQL), todos oferecem suporte para este recurso.

     Para armazenarmos este tipo de informação, utilizamos um campo do tipo BLOB (Binary Large Object – Grande Objeto Binário). Este é um tipo criado para armazenar qualquer informação (documentos, pdf, executáveis, e também arquivos multimídias) no formato binário dentro de uma tabela em um banco de dados. A seguir vamos ver como os três SGBDs citados tratam este tipo de informação, começando pelo MySQL.

 

Tipos de campos BLOB no MySQL

 

     No MySQL existem quatro tipos de campos BLOB que diferem apenas pelos valores máximo de informação que podem armazenar, como mostrado na Tabela 1.

 

Tabela 1. Característica dos tipos BLOB oferecidos palo MySQL versão 5.0 Segundo o site oficial do produto (veja endereço na sessão de links).

 

     Existem também no MySQL quatro tipos TEXT: TINYTEXT, TEXT, MEDIUMTEXT, e LONGTEXT, sendo que eles correspondem aos quatro tipos BLOB, ou seja, possuem o mesmo tamanho máximo. A única diferença entre os tipos BLOB e TEXT é que a ordenação e a comparação são realizadas no modo case-sensitive para valores BLOB e no modo case-insensitive para valores TEXT. Ou seja, um TEXT é um BLOB no modo case-insensitive. Dessa forma, você pode utilizar tanto o TEXT quanto o BLOB para gravar seus arquivos no banco de dados.

Características:

Se você atribuir um arquivo a uma coluna BLOB ou TEXT que exceda o tamanho máximo do tipo da coluna, o valor é truncado para servir ao campo.

Não há remoção de espaços extras para campos BLOB e TEXT quando os valores são armazenados, como há em campos VARCHAR.

Colunas BLOB e TEXT não podem ter valores padrões.

Colunas BLOB e TEXT não podem ser um índice ou uma chave primaria.

     O tamanho máximo de uma objeto BLOB ou TEXT é determinado pelo seu tipo, mas o maior valor que você pode, atualmente, transmitir entre o cliente e o servidor é determinado pela quantidade de memória disponível e o tamanho dos buffers de comunicação, uma vez que, como poderemos ver mais adiante, o que gravamos na tabela do banco de dados é o código binário do arquivo a ser armazenado.

 

Tipos de campos BLOB no SQL Server 2000

 

No SQL Server 2000 temos três tipos de dados binários. Estes se diferenciam apenas pela capacidade de armazenamento conforme podemos ver na Tabela 2 ...

Quer ler esse conteúdo completo? Tenha acesso completo