Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo .net Magazine 68 - Manipulando BLOBs
Trabalhando com campos BLOB com SQL Server e Oracle
.net Magazine 68
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 68
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 68
Manipulando BLOBs
Trabalhando com campos BLOB com SQL Server e Oracle
Do que trata o artigo
Este artigo mostra como armazenar dados não estruturados em bancos de dados SQL Server e Oracle. Os dados não estruturados nos permitem armazenar no banco de dados qualquer tipo de informação, como imagens, arquivos executáveis, arquivos zipados etc.
Para que serve
Os BLOBs são usados para armazenar imagens e outros dados binários, como arquivos executáveis, planilhas do Excel, arquivos zipados etc. Já os CLOBs permitem armazenar textos longos, como por exemplo, a descrição detalhada de um produto.
Em que situação o tema é útil
BLOBs/CLOBs podem reduzir muito o número de linhas de código de suas aplicações ao permitir o armazenamento de arquivos binários, por exemplo. Imagine uma aplicação que manipule uma quantidade muito grande de imagens, como um catálogo de produtos. Neste caso é mais prático armazenar as imagens no próprio banco de dados, pois se utilizássemos o sistema de arquivos seria necessária a criação de toda uma lógica de gerenciamento e sincronização entre produtos e imagens.
Resumo do DevMan
Os bancos de dados modernos como SQL Server e Oracle permitem armazenar em seus bancos de dados não somente dados estruturados como inteiros, decimais, strings etc., mas também dados binários. Usando LOBs (Large Objects) podemos armazenar qualquer tipo de informação no banco de dados, desde imagens até arquivos executáveis por exemplo. Neste artigo veremos como armazenar e recuperar imagens e textos longos em bancos de dados SQL Server 2005 e Oracle 10g através do desenvolvimento de um exemplo prático.
Os bancos de dados modernos permitem armazenar informações conhecidas como “não estruturadas”, ou seja, não se encaixam em nenhum tipo de dados com os quais costumamos trabalhar (inteiros, strings, decimais etc.). Estes tipos de dados são chamados de LOBs (Large Objects), que permitem armazenar no banco de dados diversos tipos de informações, como imagens, textos longos, arquivos zipados, arquivos executáveis, arquivos Xml etc.
O tipo de LOB mais comum e mais utilizado é o BLOB (Binary Large Object), que aceita qualquer tipo de informação. Paralelo a isso temos também a possibilidade de trabalhar com textos imensos, que são os chamados CLOBs (Character Large Objects).
Neste artigo veremos como manipular estes tipos de dados com os dois principais bancos de dados do mercado, SQL Server 2005 e Oracle 10g.
Vantagens na utilização de CLOBs/BLOBs
Você pode estar se perguntando neste momento qual a vantagem de utilizar campos BLOB para armazenar imagens e textos longos. Imagine um cadastro de produtos que armazene imagens para todos os itens do catálogo. Poderíamos ter uma coluna com o endereço físico do arquivo de imagem, neste caso a imagem seria armazenada em um arquivo do sistema operacional. Mas agora imagine este cenário com um cadastro imenso, com milhões de registros. Seria necessária a criação de uma lógica exclusiva para a manutenção de imagens no sistema de arquivos, o que adicionaria complexidade e consequentemente linhas de código à sua aplicação. Ao armazenar diretamente no banco de dados você não precisa preocupar-se com isso, pois as imagens estarão juntamente com os registros dos produtos.
É claro que esta não é a alternativa definitiva, depende muito de cada caso e os objetivos da aplicação sendo desenvolvida. Um inconveniente que você deve estar imaginando sobre essa solução é que seu banco de dados poderá crescer muito e rapidamente. Entretanto, com o custo que temos atualmente por GB não acho que isso seja impeditivo para este tipo de solução.
BLOBs/CLOBs no Oracle 10g
Para demonstrar o exemplo em Oracle 10g utilizaremos a ferramenta Oracle SQL Developer, uma ferramenta gratuita extremamente poderosa e essencial aos desenvolvedores que trabalham com o Oracle. Para baixá-la confira a seção de links no final do artigo. Caso você não tenha um servidor Oracle, é possível utilizar a versão gratuita (Oracle Database 10g Express Edition), cujo link para download também está disponível no final do artigo. Para armazenamento no Oracle 10g temos os tipos de dados BLOB (para objetos binários) e CLOB (para textos grandes).
O primeiro passo é criar a estrutura no Oracle para demonstrar nosso exemplo. Na Figura 1 você pode ver a criação da tablespace (e também do usuário que usaremos como exemplo) onde armazenaremos nossa tabela a qual conterá dados do tipo BLOB/CLOB. Após criar a estrutura, faça login como o usuário exemplo e crie a tabela conforme mostra a Listagem 1. Perceba que temos uma coluna CLOB (Descrição Completa do Produto) e uma coluna BLOB (Imagem do Produto).
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Trabalhando com campos BLOB com SQL Server e Oracle
Do que trata o artigo
Este artigo mostra como armazenar dados não estruturados em bancos de dados SQL Server e Oracle. Os dados não estruturados nos permitem armazenar no banco de dados qualquer tipo de informação, como imagens, arquivos executáveis, arquivos zipados etc.
Para que serve
Os BLOBs são usados para armazenar imagens e outros dados binários, como arquivos executáveis, planilhas do Excel, arquivos zipados etc. Já os CLOBs permitem armazenar textos longos, como por exemplo, a descrição detalhada de um produto.
Em que situação o tema é útil
BLOBs/CLOBs podem reduzir muito o número de linhas de código de suas aplicações ao permitir o armazenamento de arquivos binários, por exemplo. Imagine uma aplicação que manipule uma quantidade muito grande de imagens, como um catálogo de produtos. Neste caso é mais prático armazenar as imagens no próprio banco de dados, pois se utilizássemos o sistema de arquivos seria necessária a criação de toda uma lógica de gerenciamento e sincronização entre produtos e imagens.
Resumo do DevMan
Os bancos de dados modernos como SQL Server e Oracle permitem armazenar em seus bancos de dados não somente dados estruturados como inteiros, decimais, strings etc., mas também dados binários. Usando LOBs (Large Objects) podemos armazenar qualquer tipo de informação no banco de dados, desde imagens até arquivos executáveis por exemplo. Neste artigo veremos como armazenar e recuperar imagens e textos longos em bancos de dados SQL Server 2005 e Oracle 10g através do desenvolvimento de um exemplo prático.
Os bancos de dados modernos permitem armazenar informações conhecidas como “não estruturadas”, ou seja, não se encaixam em nenhum tipo de dados com os quais costumamos trabalhar (inteiros, strings, decimais etc.). Estes tipos de dados são chamados de LOBs (Large Objects), que permitem armazenar no banco de dados diversos tipos de informações, como imagens, textos longos, arquivos zipados, arquivos executáveis, arquivos Xml etc.
O tipo de LOB mais comum e mais utilizado é o BLOB (Binary Large Object), que aceita qualquer tipo de informação. Paralelo a isso temos também a possibilidade de trabalhar com textos imensos, que são os chamados CLOBs (Character Large Objects).
Neste artigo veremos como manipular estes tipos de dados com os dois principais bancos de dados do mercado, SQL Server 2005 e Oracle 10g.
Vantagens na utilização de CLOBs/BLOBs
Você pode estar se perguntando neste momento qual a vantagem de utilizar campos BLOB para armazenar imagens e textos longos. Imagine um cadastro de produtos que armazene imagens para todos os itens do catálogo. Poderíamos ter uma coluna com o endereço físico do arquivo de imagem, neste caso a imagem seria armazenada em um arquivo do sistema operacional. Mas agora imagine este cenário com um cadastro imenso, com milhões de registros. Seria necessária a criação de uma lógica exclusiva para a manutenção de imagens no sistema de arquivos, o que adicionaria complexidade e consequentemente linhas de código à sua aplicação. Ao armazenar diretamente no banco de dados você não precisa preocupar-se com isso, pois as imagens estarão juntamente com os registros dos produtos.
É claro que esta não é a alternativa definitiva, depende muito de cada caso e os objetivos da aplicação sendo desenvolvida. Um inconveniente que você deve estar imaginando sobre essa solução é que seu banco de dados poderá crescer muito e rapidamente. Entretanto, com o custo que temos atualmente por GB não acho que isso seja impeditivo para este tipo de solução.
BLOBs/CLOBs no Oracle 10g
Para demonstrar o exemplo em Oracle 10g utilizaremos a ferramenta Oracle SQL Developer, uma ferramenta gratuita extremamente poderosa e essencial aos desenvolvedores que trabalham com o Oracle. Para baixá-la confira a seção de links no final do artigo. Caso você não tenha um servidor Oracle, é possível utilizar a versão gratuita (Oracle Database 10g Express Edition), cujo link para download também está disponível no final do artigo. Para armazenamento no Oracle 10g temos os tipos de dados BLOB (para objetos binários) e CLOB (para textos grandes).
O primeiro passo é criar a estrutura no Oracle para demonstrar nosso exemplo. Na Figura 1 você pode ver a criação da tablespace (e também do usuário que usaremos como exemplo) onde armazenaremos nossa tabela a qual conterá dados do tipo BLOB/CLOB. Após criar a estrutura, faça login como o usuário exemplo e crie a tabela conforme mostra a Listagem 1. Perceba que temos uma coluna CLOB (Descrição Completa do Produto) e uma coluna BLOB (Imagem do Produto).
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal .net
Paulo Sergio Pereira
Space do autor
Bacharel em Ciência da Computação pela Univap(Universidade do Vale do Paraíba). É desenvolvedor Java, Visual Basic, Visual C++.NET e ADVPL. É administrador de bancos de dados Progress, SQL Server e DB2.
Space do autor



0
0
