У меня есть несколько разных объектов с различным количеством атрибутов. До сих пор я сохранил данные в файлах XML, которые легко позволяют постоянно меняющееся количество атрибутов. Но я пытаюсь переместить его в базу данных.
Каким будет ваш предпочтительный способ хранения этих данных?
Несколько стратегий, которые я определил до сих пор:
- Наличие одного поля с именем "attributes" в таблице объектов и хранения данных, сериализованных или json'ed там.
- Сохранение данных в двух таблицах (объектах, атрибутах) и использование третьего для сохранения отношений, что делает его истинным отношением n: m. Очень чистое решение, но, возможно, очень дорогое для извлечения целого объекта и всех его атрибутов.
- Идентификация атрибутов, которые имеют все объекты, и создание полей для них в таблице объектов. Храните оставшиеся атрибуты в виде сериализованных данных в другом поле. Это имеет преимущество перед первой стратегией, упрощая поиск.
Любые идеи?