У меня есть данные JSON, которые имеют вложенные объекты и атрибуты. Например, один объект JSON:
(после json_decode в массив:)
Array
(
[attributename1] => attributevalue1
[attributename2] => attributevalue2
[NestedEntity1] => Array (
[0] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
[1] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
[2] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
[NestedEntity1.2] => Array (
[0] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
[1] => Array (
[attributename1] => attributevalue1
[attributename2] => attributevalue2
)
)
)
) )
Примечание: сущности могут быть далее вложены во вложенные сущности
Мой вопрос: как я могу сохранить эти данные в MySQL?
Если это просто атрибуты, это легко с таблицей в MySQL, настроенной для данных EAV. Но если у меня есть вложенные объекты, я совершенно заблудился, как их хранить. Важно то, что мне нужно было бы иметь возможность поворачивать таблицу и делать запросы типа "ВЫБРАТЬ * ОТ СУЩНОСТИ, ГДЕ Б, Б и т. Д.
Я подозреваю, что мне, возможно, придется разделить вложенные сущности на новые собственные таблицы, а затем создать отношение «один ко многим» между «родителем» и «потомком». Тем не мение:
(1) Я понятия не имею, как это сделать, чтобы можно было разместить любые данные json. Это, вероятно, означает, что некоторые программы должны автоматически обнаруживать вложенный объект
(2) Хотя я открыт для заполнения данных из одного объекта json в несколько таблиц, каждая из которых представляет каждую (вложенную) сущность, я подумал, возможно ли заполнить все в одну таблицу в MySQL. Это предотвратит необходимость создания новых схем таблиц при возникновении необходимости.
Если требуется программирование, пожалуйста, если возможно, порекомендуйте что-нибудь на PHP.