Campo Blob

16/09/2004

0

Sempre utilizo campo Blob para imagens mas não sei qual o tamanho do
campo (size) na hora de configurar . eu uso 80 .

?Qual seria a capacidade de armazenar uma figura no Blob com (80)de tamanho?


Minuto

Minuto

Responder

Posts

16/09/2004

Vinicius2k

Colega,

Qual o banco de dados?
Se for Firebird, um BLOB não tem tamanho, tem limites... veja :
[quote:501e3f57cc=´Documentação´]O tamanho máximo de um Blob dependerá do tamanho de página de uma Base de Dados. Assim:
1Kb de tamanho de página à 64Mb
2Kb de tamanho de página a 512Mb
4Kb de tamanho de página a 4Gb
8Kb de tamanho de página a 32 Gb
O tamanho máximo de um segmento de um Blob é de 64Kb. [/quote:501e3f57cc]

Veja também este texto :
O tipo de Dado BLOB, tem o tamanho variável, isto é, não sabemos na hora da criação do campo BLOB qual será o seu tamanho realmente, mas, o limite do campo Blob que está na documentação do Firebird, é de 64k por segmento. Este tipo de campo é o tipo indicado para armazenar Textos Grandes “Memos”, Fotos, Gráficos, Ícones, isto é, aparentemente não tem um tipo de dado que não possa ser armazenado no Campo Blob. Campos Blob´s não podem ser indexados. Saber qual o sub-tipo correto utilizar é essencial para criar aplicativos que se utilizem dos campos BLOBs. Os BLOBs se apresentam em 3 versões : Sub-tipo 0 - Armazena dados em formato binário – Fotos, etc. Sub-tipo 1 - Armazena dados em formato texto – Memos. Sub-tipos definidos pelo usuário. Além dos 2 Sub-tipos pré-definidos, também existem os Sub-tipos definidos pelo usuário. Esses tipos são determinados com o uso de valores negativos logo após a palavra SUB_TYPE. O número utilizado é um inteiro determinado arbitrariamente pelo usuário de acordo com sua preferência, desde que seja negativo. O uso de -1 é funcionalmente equivalente ao uso de -2, -3,etc. A única consideração que deve ser tomada é a de se certificar de sempre armazenar o tipo pré-determinado de informação no respectivo sub-tipo de BLOB. O Firebird não faz nenhuma análise dos dados que estão sendo gravados, portanto essa é uma responsabilidade do aplicativo. Nenhum erro será retornado pelo Firebird se um tipo errado de dado for inserido em um BLOB de sub-tipo incorreto, mas um aplicativo pode ser prejudicado se ao recuperar as informações do BLOB, a mesma não corresponder ao formato esperado. Sintaxe : Estas declarações é na criação da tabela : MEMO BLOB SUB_TYPE 1; FOTO BLOB SUB_TYPE 0; CREATE TABLE FUNCIONARIOS ( ID INTEGER NOT NULL PRIMARY KEY, NOME VARCHAR(50) NOT NULL, ...., FOTO BLOB SUB_TYPE 0, EXPERIENCIA BLOB SUB_TYPE 1 SEGMENT SIZE 80, ) Na criação da tabela acima, você verificou uma nova informação “SEGMENT”. Abaixo a explicação : O tamanho de segmento (Segment Size), é um pequeno pedaço de informação, tipo um conselho, que é mantido com a definição de um Blob. Quando se abre um Blob, pode-se perguntar por segmentos de qualquer tamanho, mas para alguns Blobs um determinado tamanho é mais conveniente que um outro. Blobs que armazenam texto, por exemplo, freqüentemente utilizam segmentos de tamanho 80. O préprocessador e outros programas utilitários usam o tamanho do segmento para determinar o tamanho de buffers que são necessários para transferência de dados para e do Blob.


Espero ter ajudado...
T+


Responder

16/09/2004

Minuto

[color=red:443fdbebef]Na criação da tabela acima, você verificou uma nova informação “SEGMENT”. Abaixo a explicação :
O tamanho de segmento (Segment Size), é um pequeno pedaço de informação, tipo um conselho, que é mantido com a definição de um Blob. Quando se abre um Blob, pode-se perguntar por segmentos de qualquer tamanho, mas para alguns Blobs um determinado tamanho é mais conveniente que um outro. Blobs que armazenam texto, por exemplo, freqüentemente utilizam segmentos de tamanho 80. O préprocessador e outros programas utilitários usam o tamanho do segmento para determinar o tamanho de buffers que são necessários para transferência de dados para e do Blob. [/color:443fdbebef]

Pelo que entendi segmento de tamanho 80 é muito utilizados para texto.

posso usar o mesmo tamanho para fotos?

e vc Vinicius quando cria um campo blob no firebird usa que tamanho? (se usa)


Responder

16/09/2004

Vinicius2k

Pelo que entendi segmento de tamanho 80 é muito utilizados para texto.

Sim. Mas, até onde eu sei, é apenas uma convenção... Vc utilizar um segmento de tamanho 80, pode facilitar a troca de informações entre o seu banco e uma aplicação que busque esta informação no campo... para ter um aproveitamento real disto, vc teria que preparar sua aplicação para fazer esta leitura e isto eu, honestamente, não sei como fazer...

posso usar o mesmo tamanho para fotos?

Creio que sim, mas faria sentido? Não sei... teria que pesquisar mais sobre o assunto...

e vc Vinicius quando cria um campo blob no firebird usa que tamanho? (se usa)

Eu só uso Blobs para imagens e apenas quando realmente necessário, já que fazem crescer, consideravelmente, o tamanho da base... e eu não uso nenhuma informação de tamanho de segmento...

T+


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar