設計乙個玩具經銷商使用的訂單錄入系統。
將會有vendors表存放產品的**商
products表存放產品的目錄
customers表存放每個客戶的資訊
orders表存放顧客訂單
orderitems表存放每個訂單的
-- -----------------------------------------
-- sams teach yourself sql in 10 minutes
-- -- example table creation scripts for mysql.
-- -----------------------------------------
-- ----------------------
-- create customers table
-- ----------------------
create table customers
( cust_id char(10) not null ,
cust_name char(50) not null ,
cust_address char(50) null ,
cust_city char(50) null ,
cust_state char(5) null ,
cust_zip char(10) null ,
cust_country char(50) null ,
cust_contact char(50) null ,
cust_email char(255) null
);-- -----------------------
-- create orderitems table
-- -----------------------
create table orderitems
( order_num int not null ,
order_item int not null ,
prod_id char(10) not null ,
quantity int not null ,
item_price decimal(8,2) not null
);-- -------------------
-- create orders table
-- -------------------
create table orders
( order_num int not null ,
order_date datetime not null ,
cust_id char(10) not null
);-- ---------------------
-- create products table
-- ---------------------
create table products
( prod_id char(10) not null ,
vend_id char(10) not null ,
prod_name char(255) not null ,
prod_price decimal(8,2) not null ,
prod_desc text null
);-- --------------------
-- create vendors table
-- --------------------
create table vendors
( vend_id char(10) not null ,
vend_name char(50) not null ,
vend_address char(50) null ,
vend_city char(50) null ,
vend_state char(5) null ,
vend_zip char(10) null ,
vend_country char(50) null
);-- -------------------
-- define primary keys
-- -------------------
alter table customers add primary key (cust_id);
alter table orderitems add primary key (order_num, order_item);
alter table orders add primary key (order_num);
alter table products add primary key (prod_id);
alter table vendors add primary key (vend_id);
-- -------------------
-- define foreign keys
-- -------------------
alter table orderitems add constraint fk_orderitems_orders foreign key (order_num) references orders (order_num);
alter table orderitems add constraint fk_orderitems_products foreign key (prod_id) references products (prod_id);
alter table orders add constraint fk_orders_customers foreign key (cust_id) references customers (cust_id);
alter table products add constraint fk_products_vendors foreign key (vend_id) references vendors (vend_id);
訂單系統設計 訂單號設計
三 因子分表法 唯一性 必要 每個訂單號全域性唯一代表乙個訂單 安全性 必要 訂單號不能透露訂單量 運營規模等業務資訊 資料安全性 高效能 訂單號的建立成本越低越好 擴充套件性 能夠較好的支撐後續業務發展變大帶來的分庫分表 訂單長度擴充套件等場景 不安全 訂單號能夠反映出系統的訂單量,存在業務資料外...
訂單系統架構設計
高併發下單主要包括以下幾個方面 分庫分表 多應用例項全域性唯一訂單號 資料庫連線 買家查詢訂單 賣家查詢訂單 擴容問題 業務拆分 一 分庫分表 隨著訂單量的增長,資料庫的發展主要經歷以下幾個步驟 1主 1從架構 雙主 多從架構,讀寫分離 表分割槽,提高併發 分表,提高併發 master更換ssd 分...
訂單系統訂單表設計方案
一年前,在上一家公司接手了乙個含有訂單系統的專案,業務並不複雜,但是當時令我比較困惑的是訂單表的設計。困惑的點主要是隨著訂單量增加,單錶的儲存能力將達到瓶頸,必然要採用分表的方案,那麼按照什麼維度拆分合適呢?分表之後帶來的最大的挑戰是訂單查詢。如果以使用者為中心,採用userid取模,可以很方便的處...