【问题标题】:NoSQL - DynamoDB - Designing TablesNoSQL - DynamoDB - 设计表
【发布时间】:2015-01-10 10:35:22
【问题描述】:

抱歉我的菜鸟问题,我是 NoSQL 的新手。

我的情况,如果在关系数据库中,我有 3 个表:

 Book     ( **Book_ID**, Book_Name, Page_Number ).

 Category ( **Category_ID**, Category_Name ).

 Author   ( **Author_ID**, Author_Name ).

一本书只有一个作者和一个类别,但一个作者有很多书和一个类别

也有很多书。 [作者]--(1--------n)-- [书籍]--(n-------1)-- [类别]

我们只是在 Book 中创建外键的关系数据库

 Book( **Book_ID**, Book_Name, Page_Number, *Category_ID*, *Author_ID* )

,但我们不能用 NoSQL 做到这一点。

所以我真的无法解决如何使用 NoSQL 设计表来回答这两个查询是:

 1. Show me all the books belong to one of Category.
(Select * From  Book, Category 
 Where Book.Category_ID=Category.Category_ID and Category.Category_ID="X")

 2. Show me all the books belong to one of Author.
(Select * From  Book, Author 
 Where Book.Author_ID=Author.Author_ID and Author.Author_ID="Y")

我的意思是我们有什么方法可以设计表/模型遵循 NoSQL,它仍然响应我上面的两个查询吗?

我使用DynamoDB存储数据库,是我选错了吗?

我试试这个(我不能发布图片):s6.postimg.org/z44997j0x/Basic_4.jpg

感谢大家给我宝贵的时间阅读和帮助我!!!

【问题讨论】:

    标签: amazon-dynamodb non-relational-database nosql


    【解决方案1】:

    我猜您没有将所有属性添加到您的对象中,例如如果书有一个(或多个?)作者和一个或多个类别。

    根据您提出的问题,不清楚您是否要查询 a) 一个类别 VS 给定一个类别 X,给我所有有这个类别的书。

    如果您将问题编辑得更准确,则更容易回答。

    无论如何,我在 3 年前就 DynamoDB/NoSQL 向similar noob question 询问过——也许它也会对您有所帮助。

    【讨论】:

    • 谢谢陈哈雷尔,我编辑了我的问题希望它更清楚,我已经阅读了你的链接,但我的问题是我们有 3 个表关系 [作者] --(1--- ----n)-- [书籍] --(n--------1)-- [类别]。再次感谢您回答我的问题!!!
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多