2017-07-25 56 views
2

我正試圖將現有的關係數據庫映射到關鍵值存儲。下面列出了幾個示例表格。如何將現有的關係數據庫轉換爲鍵值存儲?

Example tables in the RDBMS Databse

對於實例與上述「員工詳細信息」表可以如Redis的如下表示(或者任何similiar鍵值存儲)

set emp_details.first_name.01 "John" 
set emp_details.last_name.01 "Newman" 
set emp_details.address.01 "New York" 

set emp_details.first_name.02 "Michael" 
set emp_details.last_name.02 "Clarke" 
set emp_details.address.02 "Melbourne" 

set emp_details.first_name.03 "Steve" 
set emp_details.last_name.03 "Smith" 
set emp_details.address.03 "Los Angeles" 

「付款」表也可以是如上所述。但是,此方法不會構建「員工詳細信息」表和「付款」表之間的一對多關係。因此,是否有更好的方式從現有的RDBMS實現鍵值存儲。您可以參考這兩個表,並建議一個更好的關鍵模式來存儲值。提前致謝。

+0

請包括文本作爲文本,而不是圖像/鏈接。我們可以剪切並粘貼或搜索這些內容。 – philipxy

回答

0

Relational tables represent business/application relationships/associations. FKS(外鍵)得到稱爲關係,但都沒有。 (他們只是關於相應數據庫狀態的每個業務/應用情況&的真相。)FK約束聲明只是告訴RDBMS強制其他地方出現的作爲超級鍵(唯一鍵)的子箭頭。 (儘管DBMS可以使用它進行優化。)約束不需要進行關係查詢。

FK是關係型的。在非關係型數據庫管理系統中,如果你想使某些查詢更簡單或更快,例如當它們是涉及某些FKs的某些關係連接的等價物時,以犧牲複雜度更新爲代價,那麼你可以做類似於冗餘記錄數據,或以嵌套/分層方式記錄數據,或使用指針/間接尋址。

與非關係模式到difference在數據模型&關係模型的好處,這種差異在關係&查詢是根本。使用關係表作爲數據結構允許直接的應用中立查詢,並具有某些實施計算複雜性優化機會。任何介紹特定的NoSQL DBMS將解釋如何建模&查詢。 (通常假設初始的關係設計。)

相關問題