Javascript 创建数据库模式以反映JSON对象

Javascript 创建数据库模式以反映JSON对象,javascript,php,mysql,json,Javascript,Php,Mysql,Json,我正在使用JavaScript、PHP和MySQL开发我的第一个CRUD应用程序 我已经完成了大部分JS,并且有一个JSON数据结构来保存用户创建的JSON 我的应用程序中的参数更改 下面的JSON工作方式是,当用户单击名为“保存””的按钮时,一批用户可修改的数据被推送到下面的JSON框架中。JSON骨架值在每次“save”/push时被完全替换(换句话说,数组在每次保存之前被重置为length=0,补丁名称也被重置) 每次用户单击“保存”时,JSON对象将有一个“补丁名称””,无限数量的“sy

我正在使用JavaScript、PHP和MySQL开发我的第一个CRUD应用程序

我已经完成了大部分JS,并且有一个JSON数据结构来保存用户创建的JSON 我的应用程序中的参数更改

下面的JSON工作方式是,当用户单击名为“保存””的按钮时,一批用户可修改的数据被推送到下面的JSON框架中。JSON骨架值在每次“save”/push时被完全替换(换句话说,数组在每次保存之前被重置为length=0,补丁名称也被重置)

每次用户单击“保存”时,JSON对象将有一个“补丁名称””,无限数量的“synth”对象,每个对象具有任意数量的存储键/值,以及无限数量的“采样器””对象,这些对象基本上与“synth”对象相同

问题是:

我很难想象如何创建一个MySQL模式来反映这个JSON对象。 从我所读到的内容来看,我的新手直觉倾向于做两件事,1。为每个“补丁”创建一个新表,2。将整个数组存储在表中是一种不好的做法。 我希望这不是一个“模糊”的问题,但我基本上只是想找个人给我一个小例子,说明这可能是一个MySQL模式

var patch = { 
"patch_name": "oscillating do-dad",
    "sound_type": {
        "synth": [     // each 'synth name' is a draggable div that plays an oscillator
        {synth_name: "synth1",xpos:180,ypos:45},
        {synth_name: "synth2",xpos:200,ypos:45},
        // etc

        ],
        "sampler": [ 
            // same as synth only for divs that trigger audio files instead of oscillators
        ]
    }, 

}

在值和键都未知的情况下,您通常必须遵循EAV模型——尽管众所周知,它们很难使用。为了学习,让我们假设键都是已知的,尽管我将上面JSON的一部分留给了想象。那我该怎么做?你知道怎么做吗?