2015-01-10 97 views
1

對不起,我是NoSQL的新手。NoSQL - DynamoDB - 設計表

我的情況下,如果在關係數據庫,我有3個表:

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

Category (**Category_ID**, Category_Name). 

Author (**Author_ID**, Author_Name). 

一本書只有一個作者,一個類別,而是作者有許多書,和一個類別

也也得到了很多書。 [作者] - (1 ------- n) - [圖書] - (n ------- 1) - [類別]

關係數據庫我們只是創建外鍵在書中作爲

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

,但我們不能用NoSQL做到這一點。

所以,我真的不解決如何設計表(S)與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

我猜你沒有添加所有的屬性到你的對象,如書籍有一個(或多個?)作者和一個或多個類別。

從您提出的問題中,不清楚您是否想要查詢 a)準確地給VS一個類別給定一個類別X,給我所有具有此類別的書籍。

如果你編輯你的問題更精確,它會更容易回答。

無論如何,3年前我已經問過關於DynamoDB/NoSQL的similar noob question - 也許它也會對你有所幫助。

+0

謝謝陳哈雷爾,我被編輯了我的問題希望它更清楚,我已經讀過你的鏈接,但是我的問題是我們有3個表關係在一起[作者] - (1 ------- n ) - [書] - (n ------- 1) - [類別]。 再次感謝您回答我的問題! – Gonc