Newsgroup: it.comp.software.database
Titolo: HELP: Immagini in DB MySQL

Salve a tutti,
Problema:
realizzare un database in MySQL nel quale le tabelle contengono campi nei
quali si ha la necessità di inserire delle immagini.
vorrei sapere come fare per inserire in un campo un'immagine.
Grazie
Giuseppe Lupo
Palermo
P.S. scusate il cross-post

 campi nei quali si ha la necessità di inserire delle immagini.
Non mettere l'immagine nel database, lascia il file su disco e
nel database mettici il path/nome del file.
Davide
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in 
news:VoHk8.25121$
1S3.8...@twister1.libero.it
:

se in php:
sql="insert into table (campoblob) values (".addslashes($immagine).")";
non dare retta a davide...
la gestione su db, prestazioni a parte, è decisamente più facile e sicura.
ciao

 nel database mettici il path/nome del file.
la domanda che ha fatto mi sembra chiara...
non era "db||fs?" ma "db:come?"
ciao

Ciao
Effettivamente ho ancora dei dubbi: mettere le immagini nel db non ne fa
aumentare le dimensioni ben oltre l'effettivo ammontare dei file? Non si
finisce per
appesantire troppo il db?


la gestione su db, prestazioni a parte, è decisamente più facile e sicura.
Se parliamo di web, mettere le immagini nel db è invece decisamente
negativo. Alcune veloci considerazioni, visto che sono di fretta:
1) Il database diventa intrasportabile con connessioni lente.
2) Grossi problemi per far fare al web server il suo lavoro di caching.
Questo probabilmente è il punto più importante.
3) Impossibile lavorare direttamente sulle immagini o fare velocemente
semplici thumbnails delle cartelle.
Sono pochissime le reali esigenze per mettere le immagini nel db, se
proprio devi mettile su una tabella a parte.
Ciao.
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
http://www.cfmentor.com
--------------------

 appesantire troppo il db?
per un blob normale, oltre alla dimensione dell'immagine in se richiede 2 
bytes.
come gestione il db si appesantisce proprio come si appesantirebbe il 
filesystem...
ciao

 proprio devi mettile su una tabella a parte.
un campo blob viene comunque salvato in settori distinti dalla struttura 
fisica della tabella, e finché non viene selezionato direttamente non 
impatta con le scansioni...
poi non rischi avere incongruenze tra dato su tabella e dato su 
filesystem... e non è un rischio da poco!!!
ciao!

filesystem... e non è un rischio da poco!!!
Questo hai ragione ed è infatti forse il motivo principale per archiviare
in un db.


 Faser


 Ciao, grazie.
che il tuo script di gestione db->fs deve essere DAVVERO collaudato 
altrimenti rischi di trovarti record "defunti" nel db o files "cadaveri" 
che non vengono + ripescati da nessun record...
ovvero la struttura dei files tracciata dal db non corrisponde al 100% con 
quella reale...
(per errori di vario genere).
ciao!

che non vengono + ripescati da nessun record...
Per una gestione ordinaria, le due funzioni InsertFile e DeleteFile
basta che eseguano anche l'inserimento/cancellazione del DB... e la
gestione degli errori basta farla li'.
Per avere cintura e bretelle uno script che traversa il fs e a ogni
file controlla il DB elimina i record defunti; lo script simmetrico
che traversa il database elimina i files orfani.
Leonardo
-- 
".signature": bad command or file name

 che traversa il database elimina i files orfani.
trassare non risolve il problema...
se hai incongruenze, il problema non è toglierle. è che si creino.
se hai un file in +, come fai a sapere se è il file che non si è cancellato 
o il record che non si è inserito?
se hai un sistema "alla buona" va bene. ma se per esempio è l'anagrafica 
dei dipendenti di un'azienda, è diverso!!
ciao

o il record che non si è inserito?
In entrambi i casi ho una segnalazione di errore preesistente. Per es. se
non c'e' spazio su disco o sul DB, mi si crea una situazione losca, ed io
devo _comunque_ intervenire (non foss'altro che per verificare che non ci
sia stato un guaio di qualche tipo).
