用于存储可变数据的最佳软件或平台组合是什么?
我的数据是标准的名称-值对。在树的顶部是几个广泛的类别,每个类别都有一个名称和一个值(类别名称),并且在它下面也可能有名称-值对。这些将有子类别,可能有子-子-类别和子(n)类别等等。它们中的每一个都有名称和值,并且在每个属性下都有属性,以名称-值对的形式表示。
当然,一些XML风格是有意义的;SQL/关系型数据库(我最喜欢的)没有。作为一个例子,数据可能类似于下面的生物分类学。
<Kingdom>Animal
<Mammal>Yes
<Legs>
<4Legs>90%
<EyeColor>
<EyeColorBrown>40%
<HairColorBrown>40%</HairColorBrown>
<HairColorBlack>40%</HairColorBlack>
</EyeColorBrown>
<EyeColorBlack>60%
<HairColorBrown>40%</ HairColorBrown>
<HairColorBlack>40%</ HairColorBlack>
</EyeColorBlack>
</EyeColor>
</4Legs>
<2Legs>5%
<EyeColor>
<EyeColorBlue>20%
<HairColorBrown>40%</HairColorBrown>
<HairColorBlack>40%</HairColorBlack>
<HairColorBlonde>40%</HairColorBlonde>
</EyeColorBlue>
<EyeColorBrown>20%</EyeColorBrown>
<EyeColorBlack>60%</EyeColorBlack>
</EyeColor>
</2Legs>
<NoLegs>5%</NoLegs>
</Legs>
</Mammal>
</Kingdom>
因此,在我的代码中,我想创建一个表单,例如,如果有人选择2Legs,它将显示三种眼睛颜色选项,选择Blue将显示三种头发颜色选项。然后,当提交表单时,我希望能够存储用户名及其选择集,例如
<UserName>John Doe
<Choice1>
<Kingdom>Animal
<Mammal>Yes
<Legs>
<2Legs>
<EyeColorBlue>20%
<HairColorBrown>
<...close each...>
</Choice1>
</UserName>
我听说过XMLDB, NoDB, NoSQL和许多其他的,但不知道从哪里开始。我想能够使用PHP和JavaScript的数据库,但除此之外,我应该如何处理这一点?
还请注意,我希望最终能够使用不同的数据集。换句话说,我可以做上面的动物数据,然后使用类似的东西来建立一个网站,嗯…比如家具
看起来像是文档存储DB的候选,您可以在wiki: https://en.wikipedia.org/wiki/Document-oriented_database上阅读到它。我对PHP一无所知,但它似乎支持Mongo (http://php.net/manual/en/class.mongodb.php),也许还有其他一些选项
这个资源也很酷:http://nosql-database.org/
没有理由不能在关系数据库中这样做——这需要提前对结构有深入的了解。我猜这是你想避免的?