我计划使用核心数据为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",
}
]
}例如,如果产品是一种夹克衫,我将显示XXL的大小。如果产品是一种鞋,我会显示大小,如7.5,8.0,8.5,9.0等。
3包
{
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创建包,编辑包,删除包
此外,我还计划使用堆栈暴徒解决方案来存储客户端的数据
请看一下我的dateModel,如果你看到一些错误,请告诉我。提前谢谢。

发布于 2014-02-01 09:22:20
你知道领域范围,所以你有最好的能力来判断。对我来说,你的数据模型(大小和产品)有很多重复,但它可能是细微差别所必需的。
我看到的主要问题是唯一标识符,以便在从服务器收到更改时可以找到要更新的适当对象。您的数据似乎包含一些标识符,但并不是在我所期望的所有地方(为了简洁起见,可以省略这一点)。而且您的数据模型似乎没有存储任何标识符。
我想说的是,也有一些多重性的问题。一个Category真的只有一个Product吗?
https://stackoverflow.com/questions/21495401
复制相似问题