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