Думаю, файлы нужно хранить на файловой системе, а не в базе данных. В базе данных нужно хранить путь к файлам, а уж потом разбираться в зависимости от прав доступа выдавать путь к файлу или нет. Хотя если только юзерпики, то можно и в базе данных. Понятное дело, что выбор решения зависит от обьёмов данных которые вы собираетесь сохранять.