Alors...
Oracle et Microsoft préconisent les deux solutions pour leur SGBD. Cela dépend en fait de ce qu'on veut faire des documents recensés dans la base.
Si on ne fait aucun traîtement dessus, alors un VARCHAR(255) - norme ANSI - suffit à stocker le nom du chemin dans une table. Ensuite, via un programme, on va chercher le document en question (attention, si le programme tourne sur une autre machine que celle où se trouve le document penser à mettre l'accès réseau !) et l'ouvre avec le soft adéquat (le plus simple, l'envoyer à l'explorateur - si on tourne que sous Windows) en spécifiant le type MIME du fichier et l'OS s'occupe du reste.
La seconde solution, qui demande un serveur plus robuste, consiste à se dire que quitte à mettre des documents liés à la base, autant pouvoir faire des requêtes de recherche dessus. Ca tombe bien, Oracle Text Search et Microsoft Full Text Search supportent le PDF, les fichiers HTML/XML et toute la clique Office. A ce moment, on stocke le contenu du fichier dans un champ de type "BLOB" (ou IMAGE pour SQL Server), et ton type/mime dans un varchar à côté.
Ensuite, on peut utiliser les fonctions de recherche sur texte pour jouer avec les fichiers. Et enfin, le programme chargé de charger le fichier pourra charger le contenu du document, toujours en le balançant avec le bon type/mime à l'explorateur, ou par recherche dans la BDR. Autre avantage de cette seconde solution : on n'a pas à se soucier d'où est éxécutée la requête, le programme pourra toujours trouver le fichier, sans passer par un lecteur réseau ou un protocole type FTP.