对不起我的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
感谢大家给你宝贵的时间阅读并帮助我!!!
答案 0 :(得分:0)
我猜你没有为对象添加所有属性,例如if book有一个(或多个?)作者和一个或多个类别。
根据您提出的问题,您不清楚是否要查询 a)给出类别X的一个类别精确VS,给我所有具有此类别的书籍。
如果您将问题编辑得更精确,则会更容易回答。
无论如何,3年前我已经问过关于DynamoDB / NoSQL的similar noob question - 也许它对你也有帮助。