設計乙個玩具訂單系統

2021-08-19 13:30:05 字數 3106 閱讀 5973

設計乙個玩具經銷商使用的訂單錄入系統。

將會有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取模,可以很方便的處...