Sono entrambe scelte lecite. La soluzione "salvataggio completo" nel database può essere molto utile in caso di dati importanti che non si vogliano rendere raggiungibili tramite link diretto, il rovescio della medaglia del sistema è che i database normalmente si pagano in base alle dimensioni necessarie e salvando interi files si rischia di far crescere a dismisura la dimensione e quindi la spesa.

L'altra soluzione può essere vulnerabile all'hot-linking però ti fa risparmiare spazio in database. Se non ho necessità particolari, propendo per questa soluzione. Tra l'altro con uno script di download che è stato linkato molte volte anche qui sul forum è facile rendere disponibili file non raggiungibili dal browser (ossia residenti al di fuori della root -o virtuale- del sito)... semmai potesse tornarti utile, fai una ricerchina.