Я создаю веб-приложение Java, где пользователи могут загружать несколько текстовых документов, и мне интересно, как лучше использовать базу данных для отображения определенных загруженных пользователем документов.
До сих пор я думал о нескольких путях, но ни один из них не кажется хорошим решением.
Решение 1:
Храните таблицу "uploads" рядом с таблицей "users", а затем запросите ее примерно так:
"SELECT * FROM uploads WHERE USER_ID = "+id+";".
Решение 2:
Добавьте столбец загрузок в мою таблицу "users" и сохраните все пользовательские загрузки в виде строки, которую я могу грубо разобрать как список:
"SELECT uploads FROM users WHERE USER_ID = "+id+";"
может возвращать строку: "upload1.txt, upload2.txt, upload3.txt"
Решение 3:
Пропустите базу данных полностью для загруженных файлов и добавьте USER_ID в начало имени файла:
"<some user id>_upload1.txt"
Кажется, у всех трех из них есть довольно существенные недостатки, поэтому я уверен, что никто из них не прав. Я только учил себя о базах данных в течение последних нескольких дней, поэтому я уверен, что есть предпочтительный способ сделать это, о котором я еще не знаю, но я не могу понять, что это может быть.
Решение 1 лучше всего в моих глазах. Хорошая нормализация и гибкость.