#mysql #sql #database #database-design
#mysql #sql #База данных #база данных-дизайн
Вопрос:
Я создаю таблицу базы данных, один из столбцов может принимать форму всех возможных мультимедиа (текст, видео, аудио, изображение). Не вдаваясь в излишества создания нескольких разных столбцов или нескольких таблиц, я решил, что мне лучше иметь указатель на файл, который указывает, где данные находятся на сервере, и иметь дополнительный столбец, который указывает тип данных, присутствующих для данной строки.
Я хочу знать, является ли это хорошей стратегией проектирования или существуют более эффективные существующие альтернативы?
Большое спасибо,
Париджат
Комментарии:
1. Я стараюсь признать всех, к сожалению, переполнение стека позволяет мне признать только один ответ 🙂
Ответ №1:
Это прекрасная стратегия. В дополнение к типу файла я бы рекомендовал добавить столбец, в котором хранится длина файла в байтах, чтобы вы не извлекали его из файловой системы, когда вам нужно указать его Content-length
, например, в заголовке.
Если вы ожидали, что все файлы будут иметь относительно одинаковый размер (не слишком большой, как видеофайлы), может быть предпочтительнее хранить данные в виде двоичных двоичных объектов в базе данных, но, учитывая, что вы ожидаете различные типы носителей и, возможно, очень разные размеры файлов, я думаю, что имеет смысл сохранитьфайлы в файловой системе и указывают на них из базы данных.