我想在 SQLite 中创建一个包含两个表的数据库:客户和订单。每个客户可以有多个订单;(我知道这是一对多的关系)。除了信用卡信息、条款和运输信息(非地址类型信息)之外,每个订单还可以有许多“行项目”(行项目是“项目”的特定订单)。我需要能够找到任何特定客户的所有订单,但不必根据订单找到客户。
到目前为止,这是我对 Customer 表的内容:
[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)"];
这就是我的 Order 表:
[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、Pattern、Style_Name 和 Price 被视为“行项目”。
我的问题是:关于“行项目”定义这些表格的正确方法是,还是有更好的方法?