NoSQL - DynamoDB - 设计表

时间:2015-01-10 10:35:22

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

无论如何,3年前我已经问过关于DynamoDB / NoSQL的similar noob question - 也许它对你也有帮助。