我天生前端的傢伙,但數據庫的設計和後端的開發已引起了我的興趣在過去的幾天裏,我纏綿很困惑。我想完全掌握這些概念,這樣我的頭就不會再受傷了。解釋數據庫設計對我來說,和關係型與非關係型設計
我已經習慣了處理像活動記錄的ORM。當我通過導軌想象我的用戶對象時,我想象一個人的對象與people表中的一行有關。好的基本。
所以,我讀了像MongoDB的非關係數據庫不只是冷靜,因爲他們是「快大數據」,但他們也很酷,因爲他們顯然使開發更自然與OOP語言(爲什麼? )。然後我還讀到,大多數設計模式可能不是真正的關係。好的,這是我迷路的地方。
1)什麼是關聯設計和非關係型設計的一些基本的例子嗎? 2)與上述類似,是什麼結構化數據VS非結構化(這只是上述改寫?)
因此,考慮到這些事情,我覺得(在我眼前的無知)幾乎所有類型的項目,我已經嘗試的例子模仿反對關係。但也許我只是在技術上使用語義。例如,帖子和評論。相互關係。在那裏添加用戶。似乎現在大多數應用程序都具有通過其他數據/對象始終有用的數據。這是關係,不是嗎?
如何描述不太典型的東西。
比方說,我正在構建一個鍛鍊跟蹤器應用程序。我有用戶,練習,鍛鍊,例程和log_entries。
我創建了一個例程來對鍛鍊進行分組。鍛鍊是一組練習。我通過日誌記錄記錄我的代表和體重,以便進行練習。這是關係數據還是非關係數據? mongo會非常適合模擬這個還是非常糟糕的?
我聽到統計數據發揮作用。這是如何影響上述例子的?人們通常會說什麼統計數據?
比方說,我加入跟蹤別的東西,比如一個用戶的體重,身高,體胖等。這是如何影響事物的?
謝謝你花時間幫助我理解。
編輯:任何人都可以解釋爲什麼它可能會更容易開發一個比其他。正在使用像mongo這樣的更敏捷的東西,因爲一旦你「變成」它會「點擊」更多,也因爲你不需要運行遷移?
另一件事,使用類似的ORM的抽象的時候 - 它真的重要嗎?如果是這樣的話?對我來說,初始值將是查詢數據和建模我的對象的容易程度。無論什麼讓我更容易做到這一點,我會很高興。我嘗試模擬數據時,如實地發現自己會摸不着頭腦。
[Similar questions](http://stackoverflow.com/questions/1145726/what-is- nosql-how-do-it-work-and-what-benefits-it-provide)已被多次詢問(並且通常單獨:)。你所包含的問題遠比一個SO答案更廣泛。最好的想法是從MongoDB的一本書或教程開始,看看它如何與之前的關係數據庫體驗相比較。例如,[Little MongoDB Book](http://openmymind.net/2011/3/28/The-Little-MongoDB-Book/)是一本非常有用的免費書籍。 – Stennie 2012-07-20 12:16:55
謝謝Stennie。我會檢查這些鏈接。我很感激。 :) – 2012-07-21 01:42:06