2016-02-11 89 views
0

這個問題是關於您對關係數據庫的意見和常見方法。 所以,請不要投票給我。我真的需要解決這個問題。。一旦我遇到答案,我就刪除這個問題。同一請求中同一類型對象的唯一標識符

我已經從我的服務器某事像這樣的迴應:

"groups":[ 
       { 
       "id":"ea369ff6-cbc3-44b6-8eb6-b79e8db0145c", 
       "ingredients":[ 
        { 
         "id":"f5126c1f-11a7-5ce5-a717-c6c86483058e", 
         "name":"First", 
         "position":1 
        }, 
        { 
         "id":"dfcf217e-53dd-b06c-9f2b-084f8180ba1a", 
         "name":"Second", 
         "position":2 
        } 
       ] 
       }, 
       { 
       "id":"0fa91ada-1fe4-4d6d-b772-caae44758848", 
       "position":2, 
       "ingredients":[ 
        { 
         "id":"9cacade2-92fe-bd5c-c84c-7c5fe36c8a5e", 
         "name":"Third", 
         "position":1 
        }, 
        { 
         "id":"f5126c1f-11a7-5ce5-a717-c6c86483058e", 
         "name":"First", 
         "position":2 
        } 
       ] 
       } 
      ] 
  • 這裏有兩個groups。他們每個人都有唯一的ID。
  • 每個group有一些ingredients。它們是相同類型的
  • 每個組都有名稱爲First的原料。這種成分在每個組中都有相同的id,這意味着它是同一個對象。

First成分取決於它位於何處具有position不同的值。

的問題是:

他們應該有相同的id,而他們是不一樣的?這個問題的好方法是什麼?我需要簡單,快速和明確的答案。

不是id表示這是獨一無二的同類型的對象?如果我需要將其保存到設備上的核心數據或其他持久存儲中?

非常感謝。

+0

我不會投票給你,但我投票結束。基於意見的問題對SO來說是無關緊要的。還有其他論壇。只是事實上,你說你會在得到答案後刪除問題應該告訴你,SO不適合你的問題。 –

+0

那麼請告訴我什麼是我的問題的正確論壇?謝謝 –

+0

我使用SQL Server,所以我會嘗試MSDN論壇或SQLServerCentral。可能還有其他涉及MySQL的論壇。 –

回答

0

你必須從GroupIngredient一個多對多的關係:每個Group可以有很多Ingredients,並且每個Ingredient可以屬於很多Groups。但是你有一個額外的屬性,position取決於GroupIngredient:它是關係的屬性,而不是任何實體。

要在CoreData中對此進行建模,您必須添加第三個實體。我們稱之爲ListItemListItem將具有position屬性,並且將與GroupIngredient有一對一的關係。逆關係將是一對多的:每個Group可以有很多ListItems每個Ingredient可以屬於很多ListItems

Data Model Editor image

當您從您的服務器解析數據,您將創建一個獨特的Group對象每個組id和每個組分id的獨特Ingredient。然後創建一個ListItem,分配正確的位置,並將其關係設置爲相關的Group對象和Ingredient對象。