1

对不起我的菜鸟问题,我是 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

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

4

1 回答 1

0

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

从您提出的问题中,不清楚您是否要查询a)一个类别精确VS给定类别X,给我所有具有此类别的书籍。

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

无论如何, 3 年前我问过一个关于 DynamoDB/NoSQL 的类似菜鸟问题——也许它也会对你有所帮助。

于 2015-01-10T13:46:45.443 回答