Я хочу создать базу данных в SQLite с двумя таблицами: Customer and Orders. У каждого Клиента может быть много ордеров; (Я понимаю, что это отношения «один ко многим»). Каждый заказ может иметь много «позиций» (позиция - это конкретный заказ для «элемента»), в дополнение к информации о кредитной карте, условиям и информации о доставке (информация о не-адресном типе). Мне нужна возможность найти все заказы для любого конкретного клиента, но не нужно искать клиента по заказу.Как правильно создать эту базу данных SQLite?
Это то, что я до сих пор для клиента таблицы:
[db executeUpdate:@"CREATE TABLE IF NOT EXISTS CustData ("
"BUS_NAME TEXT PRIMARY KEY NOT NULL, "
"EMAIL TEXT, "
"PHONE TEXT, "
"SHOP_NAME TEXT, "
"SHOP_ADDR1 TEXT, "
"SHOP_ADDR2 TEXT, "
"SHOP_CITY_STATE TEXT, "
"SHOP_ZIP TEXT, "
"SHIP_NAME TEXT, "
"SHIP_ADDR1 TEXT, "
"SHIP_ADDR2 TEXT, "
"SHIP_CITY_STATE TEXT, "
"SHIP_ZIP TEXT, "
"NOTES TEXT)"];
Это то, что у меня есть для заказа стола:
[db executeUpdate:@"CREATE TABLE Orders ("
"CUST_ID TEXT REFERENCES CustData, "
"ORDER_NBR TEXT, "
"SALES_NAME TEXT, "
"CREDIT_CARD TEXT, "
"EXP_DATE TEXT, "
"CID TEXT, "
"NOTES TEXT, "
"PCS INTEGER, "
"PATTERN TEXT, "
"STYLE_NAME TEXT, "
"PRICE DECIMAL)" ];
PCS, шаблон, STYLE_NAME и цены считаются "позиции".
Мой вопрос: это правильный способ определить эти таблицы в отношении «позиций» или есть лучший способ?
Это полностью зависит от ваших требований. Оффлайн, я бы сказал, что вы на хорошем старте. –
Роберт: Я совершенно не согласен с вами, что это не вопрос! Я видел похожие вопросы, заданные здесь, и я чувствую, что это ценно для других, когда они находятся в одной лодке, поскольку я отношусь к «позициям». Повторно откройте его. – SpokaneDude