Каков стандартный способ хранения `` подтипов '', если вы используете в реляционных базах данных, таких как MySQL?
В качестве примера, подумайте о фиде одного пользователя в Facebook. Все, что он содержит, - это «записи», но эти записи могут значительно различаться по типу и тому, что нужно хранить. Например, для статуса может потребоваться VARCHAR(255)
, тогда как для изображения может потребоваться BLOB
, а для заметки - TEXT
.
Полностью отдельные таблицы заставляют делать, казалось бы, ненужные сложные запросы, чтобы получить все последние записи любого типа. Просто кажется неловким, неэффективным и не совсем стабильным иметь много дополнительных столбцов, в которых только один может быть не NULL.
Я понимаю, что это должен быть общий вопрос, но я не могу найти что-то похожее, поэтому, пожалуйста, не стесняйтесь сообщить мне дубликат, и я с радостью закрою вопрос.