Я планирую создать приложение для iOS с использованием Core Data, которое поможет моему клиенту управлять своей дизайнерской одеждой. Я думаю о структуре базы данных, и я немного смущен, потому что, я не знаю, будет ли моей структуры достаточно для запланированных операций с данными. Если это не очень важно для вас, пожалуйста, взгляните на мою модель даты базы данных, которую я создаю с помощью Xcode. Возможно, если я расскажу вам о моих запланированных запросах, вы бы поняли мою схему модели даты более легко.Основные данные данныхModel, iOS
Отношения:
1 продукта --- Категория (12:59) пример
{
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",
}
]
}
Это один отношения, которые я хочу использовать для заполнения пользовательских UIPickerView при добавлении элементов packageItems, например, если продукт является типом куртки, я буду отображать размеры от XXL - XS. Если продукт является типом обуви, я буду отображать размеры, такие как 7.5, 8.0, 8.5, 9.0 и так далее.
3 Пакет --- PackageItem (один ко многим) «Пакет Н.Р. 12/2013 создан в 12.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 --- Ите mHistory
{
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 создать пакет, пакет редактирования, удаления пакета
Кроме того, я планирую использовать стек чернь Баас SOLUTIO n для хранения данных моего клиента
Пожалуйста, взгляните на мою датуModel, и если вы видите некоторые ошибки, просто дайте мне знать. Заранее спасибо.
Я согласен с Wain. В первый раз, когда я выскочил на меня, почему отношение категории к продукту 1-к-1? – auspicious99