【问题标题】:What database or pseudo database should I use for variable data?我应该为可变数据使用什么数据库或伪数据库?
【发布时间】:2016-01-07 10:34:29
【问题描述】:

用于存储可变数据的最佳软件或平台组合是什么?

我的数据是标准的名称-值对。树的顶部是几个广泛的类别,每个类别都有一个名称和一个值(类别名称),并且还可能在其下具有名称-值对。这些将具有子类别,并且可能具有子子类别和子(n)类别,依此类推。它们中的每一个也将具有名称和值,并且在每个之下还具有以名称-值对表示的属性。

XML 的某些风格自然是有意义的; SQL/Relations DB(我最喜欢的)没有。例如,数据可能类似于以下生物分类。

<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,它会显示三种眼睛颜色选项,选择蓝色会显示三种头发颜色选项。然后,当提交表单时,我希望能够存储用户名及其选择集,例如

<UserName>John Doe
    <Choice1>
        <Kingdom>Animal
            <Mammal>Yes
                 <Legs>
                     <2Legs>
                         <EyeColorBlue>20%
                               <HairColorBrown>
                      <...close each...>
    </Choice1>
</UserName>

我听说过 XMLDB、NoDB、NoSQL 和许多其他的,但不知道从哪里开始。我希望能够将数据库与 PHP 和 JavaScript 一起使用,但除此之外我应该如何处理呢?

还请注意,我希望最终能够使用不同的数据集。换句话说,我可能会做上面的动物数据,然后用类似的东西来为嗯..比方说家具。

【问题讨论】:

    标签: xml database data-structures variable-length


    【解决方案1】:

    看起来像是文档存储数据库的候选者,您可以在 wiki 上阅读:https://en.wikipedia.org/wiki/Document-oriented_database。我对 PHP 一无所知 - 但它看起来支持 Mongo (http://php.net/manual/en/class.mongodb.php),也许还支持其他一些选项

    这个资源也很酷:http://nosql-database.org/

    这没有理由不能在关系数据库中完成 - 这需要提前深入了解结构。我想这是你想要避免的?

    【讨论】:

    • 这是很好的信息,但太理论化了。我想比较我将用作后端数据存储的不同选项,因此是最好的语言。
    • 任何文档存储都应该适用于非规范化数据。多少,如何一致,什么样的正常运行时间都驱动选择。 Mongo 非常流行并且有一个很好的社区——鉴于上面我们太理论化了,我建议你从 mongo 开始(PHP 和 Node 都很容易支持)。看看这是否满足您的需求。
    猜你喜欢
    • 2012-06-19
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    相关资源
    最近更新 更多