Mysql 商品模塊設計


DB規划

  • 為以后的數據庫遷移提供方便
  • 避免跨庫的操作,把經常一起關聯查詢的表放到一個DB中
  • 建議為了方便識別表所在的db,在表名的前增加庫名前綴
  • 用戶數據庫(mc_customerdb)
    • customer_inf
    • customer_login
    • customer_logo_log
    • customer_level_inf
    • customer_point_log
    • customer_balance_log
  • 商品數據庫 (mc_productdb)
    • product_info
    • product_pic_info
    • product_supplier_info
    • product_comment
    • product_category
    • product_brand_info
  • 訂單數據庫(mc_orderdb)
    • order_master
    • order_detail
    • order_customer_addr
    • warehouse_info
    • shipping_info
    • order_cart
    • warehouse_product

建立數據庫

#創建數據庫
mysql -uroot -p  -e"create database mc_customerdb"
#導入sql文件
mysql -uroot -p mc_customerdb < mc_customerdb.sql

商品模塊

品牌信息表

CREATE TABLE brand_info(
brand_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL comment '品牌ID',
brand_name VARCHAR(50) NOT NULL comment '品牌名稱',
telephone VARCHAR(50) NOT NULL comment '聯系電話',
brand_web VARCHAR(100) comment '品牌網站',
brand_logo VARCHAR(100) comment '品牌logo url',
brand_desc VARCHAR(150) comment '品牌描述',
brand_status TINYINT NOT NULL DEFAULT 0 comment '品牌狀態,0禁用,1啟用',
brand_order TINYINT NOT NULL DEFAULT 0 comment '排序',
modify_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_brandid(brand_id)
) engine =innodb comment '品牌信息表';

分類信息表

CREATE TABLE product_category(
category_id SMALLINT UNSIGNED auto_increment NOT NULL comment '分類ID',
category_name VARCHAR(10) NOT NULL comment '分類名稱',
category_code VARCHAR(10) NOT NULL comment '分類編碼',
parent_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 comment '父分類ID',
category_level TINYINT NOT NULL DEFAULT 1 comment '分類層級',
category_status TINYINT NOT NULL DEFAULT 1 comment '分類狀態',
modify_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_categoryid (category_id)
)engine = innodb comment '商品分類表';

商品信息表

CREATE TABLE product_info(
product_id INT UNSIGNED auto_increment NOT NULL comment '商品ID',
product_code CHAR(16) NOT NULL comment '商品編碼',
product_name VARCHAR(20) NOT NULL comment '商品名稱',
bar_code VARCHAR(50) NOT NULL comment '國條碼',
brand_id INT UNSIGNED NOT NULL comment '品牌表ID',
one_category_id SMALLINT UNSIGNED NOT NULL comment '一級分類ID',
two_category_id SMALLINT UNSIGNED NOT NULL comment '二級分類ID',
three_category_id SMALLINT UNSIGNED NOT NULL comment '三級分類ID',
supplier_id INT UNSIGNED NOT NULL comment '商品的供應商ID',
price DECIMAL(8,2) NOT NULL comment '商品售價價格',
average_cost DECIMAL(18,2) NOT NULL comment '商品加權平均成本',
publish_status TINYINT NOT NULL DEFAULT 0  comment '上下架狀態:0下架,1上架',
audit_status TINYINT NOT NULL DEFAULT 0 comment '審核狀態: 0未審核,1已審核',
weight FLOAT comment '商品重量',
length FLOAT comment '商品長度',
height FLOAT comment '商品重量',
width FLOAT comment '商品寬度',
color_type enum('紅','黃'),
production_date DATETIME NOT NULL comment '生產日期',
shelf_life INT NOT NULL comment '商品有效期',
descript TEXT NOT NULL comment '商品描述',
indate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP comment '商品錄入時間',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_productid(product_id)
)engine = innodb comment '商品信息表';

商品圖片信息表

CREATE TABLE product_pic_info(
product_pic_id INT UNSIGNED auto_increment NOT NULL comment '商品圖片ID',
product_id INT UNSIGNED NOT NULL comment '商品ID',
pic_desc VARCHAR(50) comment '圖片描述',
pic_url VARCHAR(200) NOT NULL comment '圖片URL',
is_master TINYINT NOT NULL DEFAULT 0 comment '是否主圖: 0非主圖 1 主圖',
pic_order TINYINT NOT NULL DEFAULT 0 comment '圖片排序',
pic_status TINYINT NOT NULL DEFAULT 1 comment '圖片是否有效:0 無效,1有效',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_picid(product_pic_id)
)engine = innodb comment '商品圖片信息表';

訂單實體

訂單主表

CREATE TABLE order_master(
order_id INT UNSIGNED NOT NULL auto_increment comment '訂單ID',
order_sn BIGINT UNSIGNED NOT NULL comment '訂單編號 yyyymmddnn',
customer_id INT UNSIGNED NOT NULL comment '下單人ID',
shipping_user VARCHAR(10) NOT NULL comment '收貨人姓名',
province SMALLINT NOT NULL comment '省',
city SMALLINT NOT NULL comment '市',
district SMALLINT NOT NULL comment '區',
adress VARCHAR(100) NOT NULL comment '地址',
payment_method TINYINT NOT NULL comment '支付方式:1現金,2余額,3網銀,4支付寶,5微信',
order_money DECIMAL(8,2) NOT NULL comment '訂單金額',
district_money DECIMAL(8,2) NOT NULL DEFAULT 0.00 comment '優惠金額',
shipping_money DECIMAL(8,2) NOT NULL DEFAULT 0.00 comment '運費金額',
payment_money DECIMAL(8,2) NOT NULL DEFAULT 0.00 comment '支付金額',
shipping_comp_name VARCHAR(10) comment '快遞用絲名稱',
shipping_sn VARCHAR(50) comment '快遞單號',
create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP comment '下單時間',
shipping_time DATETIME comment '發貨時間',
pay_time DATETIME comment '支付時間',
receive_time DATETIME comment '收貨時間',
order_status TINYINT NOT NULL DEFAULT 0 comment '訂單狀態',
order_point INT UNSIGNED NOT NULL DEFAULT 0 comment '訂單積分',
invoice_title VARCHAR(100) comment '發票抬頭',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_orderid(order_id)
)engine = innodb comment '訂單主表';

訂單詳情表

CREATE TABLE order_detail(
order_detail_id INT UNSIGNED NOT NULL auto_increment comment '自增主鍵ID,訂單詳情表ID',
order_id INT UNSIGNED NOT NULL comment '訂單表Id',
product_id INT UNSIGNED NOT NULL comment '訂單商品id',
product_name VARCHAR(50) NOT NULL comment '商品名稱',
product_cnt INT NOT NULL DEFAULT 1 comment '購買商品數量',
product_price DECIMAL(8,2) NOT NULL comment '購買商品單價',
average_cost DECIMAL(8,2) NOT NULL DEFAULT 0.00 comment '平均成本價格',
weight FLOAT comment '商品重量',
fee_money DECIMAL(8,2) NOT NULL DEFAULT 0.00 comment '優惠分攤金額',
w_id INT UNSIGNED NOT NULL comment '倉庫ID',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_orderdetailid(order_detail_id)
)engine = innodb comment '訂單詳情表';

購物車

CREATE TABLE order_cart(
cart_id INT UNSIGNED NOT NULL auto_increment comment '購物車ID',
customer_id INT UNSIGNED NOT NULL comment '用戶ID',
product_id INT UNSIGNED NOT NULL comment '商品Id',
product_amount INT NOT NULL comment '加入購物車商品數量',
price DECIMAL(8,2) NOT NULL comment '商品價格',
add_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP comment '加入購物車時間',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_cartid(cart_id)
)engine = innodb comment '購物車表';

倉庫信息表

CREATE TABLE warehouse_info(
w_id SMALLINT UNSIGNED NOT NULL auto_increment comment '倉庫Id',
warehouse_sn CHAR(5) NOT NULL comment '倉庫編碼',
warehouse_name VARCHAR(10) NOT NULL comment '倉庫電話',
contact VARCHAR(10) NOT NULL comment '倉庫聯系人',
province SMALLINT NOT NULL comment '省',
city SMALLINT NOT NULL comment '市',
district SMALLINT NOT NULL comment '區',
adress VARCHAR(100) NOT NULL comment '倉庫地址',
warehouse_status TINYINT NOT NULL DEFAULT 1 comment '倉庫狀態:0禁用,1啟用',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_wid(w_id)
)engine = innodb comment '倉庫信息表';

商品庫存表

CREATE TABLE warehouse_product(
wp_id INT UNSIGNED NOT NULL auto_increment comment '商品庫存ID',
product_id INT UNSIGNED NOT NULL comment '商品ID',
w_id SMALLINT UNSIGNED NOT NULL comment '倉庫ID',
current_cnt INT UNSIGNED NOT NULL DEFAULT 0 comment '當前商品的數量',
lock_cnt INT UNSIGNED NOT NULL DEFAULT 0 comment '當前占用數據',
in_transit_cnt INT UNSIGNED NOT NULL DEFAULT 0 comment '在途數據',
average_cost DECIMAL(8,2) NOT NULL DEFAULT 0.00 comment '移動加權成本',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_wpid(wp_id)
)engine = innodb comment '商品庫存表';

物流公司表

CREATE TABLE shipping_info(
ship_id TINYINT UNSIGNED NOT NULL auto_increment comment '主鍵Id',
ship_name VARCHAR(20) NOT NULL comment '物流公司名稱',
ship_contact VARCHAR(20) NOT NULL comment '物流公司聯系人',
telphone VARCHAR(20) NOT NULL comment '物流公司聯系電話',
price DECIMAL(8,2) NOT NULL DEFAULT 0.00 comment '配送價格',
modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment '最后修改時間',
PRIMARY KEY pk_shipid(ship_id)
)engine = innodb comment '物流公司信息表';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM