Как хранить метаданные для описания активов?
Учитывая, что я заранее не знаю, какие метаданные у меня будут.
У меня есть таблица с активами (скажем, человек),
таблица с полями метаданных («имя», «возраст», «день рождения», ...)
таблица со значениями метаданных, которая ссылается на таблицу полей метаданных («Джон Доу», 44, «1968-10-10», ...)
и перекрестные метаданные, которые связывают поля метаданных с активами.
Моя проблема заключается в том, как мне обрабатывать различные типы данных в таблице полей метаданных.
«Джон Доу» - это текст, 44 - это int, 1968-10-10 - это дата.
Сохраню ли я их в текстовом поле в моей таблице метаданных, но смогу ли я сравнить даты?
Или я могу сохранить тип данных в этой таблице и сделать 3 поля для txt, int и date. Но тогда у меня много пустых полей.
Или я создаю разные таблицы полей метаданных для каждого типа данных (например, metadatafields_txt, metadatafields_int, metadatafields_date), но тогда я не могу правильно связать таблицу метаданных.
Какая лучшая практика здесь?
ТХ