【问题标题】:NoSQL relation with integrity具有完整性的 NoSQL 关系
【发布时间】:2018-11-07 01:47:57
【问题描述】:

我有一个这样的 Firebase 实时数据库:

{
    product : {
        "book1" : {
            "name" : "LoTR",
            "category" : {
                "Fiction" : true
            }
        }
    }
    genre : {
        "Fiction" : {
            "name" : "Fiction",
            product : {
                "book1" : true
            }
        }
    }
}

我想知道是否还应该添加一个键键表,例如:

genre_product : {
    -3i9wfiosdniov : {
        "book1" : "Fiction"
    }
}

要建立关系并使用$key : true 进行完整性检查? 是一种使关系比另一种更好的方法还是仅通过用例?

【问题讨论】:

    标签: firebase firebase-realtime-database nosql


    【解决方案1】:

    Firebase 数据库没有关系的概念,因此也没有关系完整性的概念。任何此类概念都需要在您的(应用程序和服务器)代码以及数据库的服务器端安全规则中进行处理。

    在 NoSQL 数据库设计中,没有一种数据模型是最好的。这一切都取决于您的应用程序的用例。对于一个好的介绍,我建议阅读NoSQL data modeling 并观看Firebase for SQL developers。我还建议查看我对Many to Many relationship in FirebaseFirebase query if child of child contains a value 的回答。

    【讨论】:

    • 是的,这就是我所说的关系完整性检查的意思。我将编写一个循环并检查它们是否相互真实作为完整性检查,并使用键键表进行查询。 Firebase 文档显示两者都可用于建立关系,所以我只是对“关系”的 NoSQL 约定感到好奇。
    猜你喜欢
    • 2011-03-24
    • 2015-05-05
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 2014-01-24
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多