考慮一個應用場景,我有用戶和項目,需求是用戶應分配給項目。一個用戶可以分配到多個項目。這是一個多對多的關係。那麼建立這樣一個需求的最好方法是什麼?在像MongoDB或Couchbase這樣的nosql數據庫中,如何模擬多對多關係?
我會想討論建模這樣的規定幾種方法:
- 嵌入式數據模型
在這種方法中,我將內使嵌入項目文檔的用戶文檔。
優點:您可以在一個API調用中獲取所有必需的數據,或者通過獲取單個文檔獲取所有必需的數據。
缺點:數據duplicacy這是OK
Real problem is if you update user information for eg user mobile no or name from users screen then this updated information should also be reflected under all embedded user documents. For this some bulk update query should be fired.
但是,這是正確的方式???
- 嵌入對象的引用,而不是對象(這是標準化)
在這種情況下,如果我們使嵌入用戶ID的用戶對象,然後上面不會在那裏提到的問題,而不是,但隨後我們將不得不作出多個網絡調用來獲得所需的數據,或像我們在SQL中一樣建立一個獨立的關係文檔。
這是最好的方法嗎?
我不認爲這應該是stackoverflow的問題。它應該到[數據庫管理StackExchange](https://dba.stackexchange.com/) –
這不是一個管理問題,它是一個應用程序數據設計問題。 – Hod