我计划使用 Core Data 为 iOS 创建一个应用程序,这将帮助我的客户管理他们设计的衣服。我正在考虑数据库结构,我有点困惑,因为我不知道我的结构是否足以满足计划中的数据操作。如果对您来说没什么大不了的,请查看我使用 Xcode 创建的数据库日期模型。也许如果我告诉你我计划的查询,你会更容易理解我的日期模型模式。
关系:
1 产品 --- 类别(一对一)示例
{
name: "Black Modern Jacket"
price: 200
image: photo.png
category : {
category_id : "1234",
name : "updated name"
}
sizes:(id),
history:(id)
}
2 类别 --- 尺寸(一对多)
{
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",
}
]
}
我想在添加 packageItems 期间使用这个关系来填充自定义 UIPickerViews,例如,如果产品是一种夹克,我将显示 XXL - XS 的尺寸。如果产品是一种鞋子,我会显示 7.5、8.0、8.5、9.0 等尺寸。
3 包 --- PackageItem(一对多)“在 2013 年 12 月 12 日创建的包 nr 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 --- 产品(一对一)
5 PackageItem --- ItemSize(一对多)
{
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 产品 --- 产品尺寸(一对多)
{
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 产品 --- 产品历史(一对多)
{
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,如果您发现一些错误,请告诉我。提前致谢。