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を見てください。エラーが発生した場合はお知らせください。前もって感謝します。