0

Core Data を使用して、クライアントがデザインした服を管理するのに役立つ iOS 用のアプリケーションを作成する予定です。データベースの構造について考えていますが、少し混乱しています。なぜなら、私の構造が計画されたデータ操作に十分かどうかわからないからです。大したことではない場合は、Xcode を使用して作成したデータベースの日付モデルをご覧ください。計画したクエリについて話せば、私の日付モデル スキーマをより簡単に理解できるでしょう。

関係:

1商品 --- カテゴリー(1対1)の例

{
name: "Black Modern Jacket"
price: 200
image: photo.png
category : {
            category_id : "1234",
            name : "updated name"
         }
sizes:(id),
history:(id)
}

2 カテゴリ --- サイズ (1 から多)

{
name: "Jackets"
sizes : [
         {
            australia : "XXL",
            europe : "52/54",
            japan : "XXL",
            uk : "XXL",
            usa : "XXL",

         },
         {
            australia : "XL",
            europe : "50/52",
            japan : "XL",
            uk : "XL",
            usa : "XL",

         }       
        ]
}

この 1 つの関係を使用して、packageItems の追加中にカスタム UIPickerViews を設定します。たとえば、製品がジャケットのタイプの場合、XXL から XS までのサイズを表示します。靴のタイプであれば、7.5、8.0、8.5、9.0などのサイズを表示します。

3 パッケージ --- PackageItem (1 対多) "12.12.2013 で作成されたパッケージ番号 12/2013 には多数の packageItems があります

{
packageNumber: "12/2013"
creationDate : 12/12/2013
notes : @"additional notes"
packageItems: [
        {
          quantity : 12,
          product : "Black Modern Jacket"(productId==1293)
         sizes: [
        {
          sizeName : "XXL",
          quantity : 6,
        },
        {
          sizeName : "XL",
          quantity : 2,
        },
        {
          sizeName : "L",
          quantity : 7,
        },           
      ]
}

}

4 PackageItem --- 製品 (1 対 1)

5 PackageItem --- ItemSize (1 対多)

{
product : "Black Modern Jacket"(productId==1293)
package : "12/2013" (packageId) = 1213
itemsizes: [
        {
          sizeName : "XXL",
          quantity : 6,
        },
        {
          sizeName : "XL",
          quantity : 2,
        },
        {
          sizeName : "L",
          quantity : 7,
        },           
      ]
}

6 PackageItem --- ItemHistory

 {
product : "Black Modern Jacket"(productId==1293)
package : "12/2013" (packageId) = 1213
itemsizes: [
        {
          sizeName : "XXL",
          quantity : 6,
        },
        {
          sizeName : "XL",
          quantity : 2,
        },
        {
          sizeName : "L",
          quantity : 7,
        },           
      ]
}

7 製品 --- 製品サイズ (1 対多)

{
name: "Black Modern Jacket"
price: 200
image: photo.png
sizes :  [
        {
          sizeName : "XXL",
          quantity : 6,
        },
        {
          sizeName : "XL",
          quantity : 2,
        },
        {
          sizeName : "L",
          quantity : 7,
        }],
category: (id)
history:(id)

}

8 製品 --- 製品履歴 (1 対多)

    {
name: "Black Modern Jacket"
price: 200
image: photo.png
history :  [
        {
          dateOfChange: 12/12/2013,
          purposeOfChange: "deliver to: (reseller name) in package nr. 12/2013" ,
          changedValue : "XXL - 1, XL - 5, L - 9, M - 3, S - 3 , XS- 0"
        }],
category: (id)
sizes:(id)

}

以下のリストは、私のアプリのいくつかの基本的な機能を示しています

1 新製品の定義、製品の編集、製品の削除、すべてのリセラー マガジンでの製品の在庫の表示

2 新しいリセラー ストアの定義、リセラーの編集、リセラーの削除、リセラー マガジンで利用可能なサイズ数の表示、リセラー マガジンでのサイズ数の編集、リセラー マガジンでの製品の履歴の表示 (サイズの変更数、この変更の日付と目的)

3 パッケージの作成、パッケージの編集、パッケージの削除

さらに、スタック モブ baasソリューションを使用してクライアントのデータを保存する予定です

私のdateModelを見てください。エラーが発生した場合はお知らせください。前もって感謝します。

Xcode での私の dataModel スキーマ

4

1 に答える 1