當前位置:首頁 » 操作系統 » 電商資料庫

電商資料庫

發布時間: 2023-07-03 01:37:10

『壹』 關於電商網站資料庫的設計有什麼好的建議

這個問題的核心點在於:不同商品類別差異很大,如何設計通用的存儲方案?簡單來說,用資料庫去存儲所有信息,不管橫表還是縱表,都有明顯的缺陷:橫表:同一個欄位對不同商品含義不一樣,這到了後面開發和維護是很蛋疼的縱表:一個商品的屬性分布到很多行記錄中,業務處理很麻煩,而且縱表的記錄數會非常多,性能會有問題所以不要嘗試只用資料庫去統一解決這個問題,思路擴散一些其實就簡單了:公共表:提煉商品公共的信息放到資料庫,例如商品id、名稱、發布的商家、發布日期、上架狀態擴展表:將變化的信息放到另外一個表,可以是資料庫表,例如電腦商品一個表、服裝一個表;也可以將信息放到MongoDB或者ElasticSearch這類文檔資料庫。搜索組件:擴展表在全文搜索的時候不好實現,因此需要獨立的組件負責搜索,可以用Elastic Search或者Solr來冗餘一份數據,用於搜索。表結構不算復雜,因為項目關系只有SPU,沒有涉及到SKU,但是可以做參考,更多的還是要根據項目實際情況設計。重點說明一下產品表的SPU,Keyword欄位。本來之前設計了關系表,但是發現在做SQL查詢時太痛苦,所以約定了一種數據存儲結構(數據結構的重要性)基於上面的基礎,可以實現URL規則變化的查詢,類似京東的產品查詢URL變化c=1,3 指分類層次關系ev=3_1+4_18 指SPU查詢 按約定規則轉換成字元串再進行查詢。

『貳』 電商項目---資料庫表設計

CREATE TABLE `mmall_user` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶表id',

  `username` varchar(50) NOT NULL COMMENT '用戶名',

  `password` varchar(50) NOT NULL COMMENT '用戶密碼,MD5加密',

  `email` varchar(50) DEFAULT NULL,

  `phone` varchar(20) DEFAULT NULL,

  `question` varchar(100) DEFAULT NULL COMMENT '找回密碼問題',

  `answer` varchar(100) DEFAULT NULL COMMENT '找回密碼答案',

  `role` int(4) NOT NULL COMMENT '角色0-管理員,1-普通用戶',

  `create_time` datetime NOT NULL COMMENT '創建時間',

  `update_time` datetime NOT NULL COMMENT '最後一次更新時間',

  PRIMARY KEY (`id`),

  UNIQUE KEY `user_name_unique` (`username`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;

CREATE TABLE `mmall_proct` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',

  `category_id` int(11) NOT NULL COMMENT '分類id,對應mmall_category表的主鍵',

  `name` varchar(100) NOT NULL COMMENT '商品名稱',

  `subtitle` varchar(200) DEFAULT NULL COMMENT '商品副標題',

  `main_image` varchar(500) DEFAULT NULL COMMENT '產品主圖,url相對地址',

  `sub_images` text COMMENT '圖片地址,json格式,擴展用',

  `detail` text COMMENT '商品詳情',

  `price` decimal(20,2) NOT NULL COMMENT '價格,單位-元保留兩位小數',

  `stock` int(11) NOT NULL COMMENT '庫存數量',

  `status` int(6) DEFAULT '1' COMMENT '商品狀態.1-在售 2-下架 3-刪除',

  `create_time` datetime DEFAULT NULL COMMENT '創建時間',

  `update_time` datetime DEFAULT NULL COMMENT '更新時間',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;

CREATE TABLE `mmall_category` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '類別Id',

  `parent_id` int(11) DEFAULT NULL COMMENT '父類別id當id=0時說明是根節點,一級類別',

  `name` varchar(50) DEFAULT NULL COMMENT '類別名稱',

  `status` tinyint(1) DEFAULT '1' COMMENT '類別狀態1-正常,2-已廢棄',

  `sort_order` int(4) DEFAULT NULL COMMENT '排序編號,同類展示順序,數值相等則自然排序',

  `create_time` datetime DEFAULT NULL COMMENT '創建時間',

  `update_time` datetime DEFAULT NULL COMMENT '更新時間',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=100031 DEFAULT CHARSET=utf8;

CREATE TABLE `mmall_order` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '訂單id',

  `order_no` bigint(20) DEFAULT NULL COMMENT '訂單號',

  `user_id` int(11) DEFAULT NULL COMMENT '用戶id',

  `shipping_id` int(11) DEFAULT NULL,

  `payment` decimal(20,2) DEFAULT NULL COMMENT '實際付款金額,單位是元,保留兩位小數',

  `payment_type` int(4) DEFAULT NULL COMMENT '支付類型,1-在線支付',

  `postage` int(10) DEFAULT NULL COMMENT '運費,單位是元',

  `status` int(10) DEFAULT NULL COMMENT '訂單狀態:0-已取消-10-未付款,20-已付款,40-已發貨,50-交易成功,60-交易關閉',

  `payment_time` datetime DEFAULT NULL COMMENT '支付時間',

  `send_time` datetime DEFAULT NULL COMMENT '發貨時間',

  `end_time` datetime DEFAULT NULL COMMENT '交易完成時間',

  `close_time` datetime DEFAULT NULL COMMENT '交易關閉時間',

  `create_time` datetime DEFAULT NULL COMMENT '創建時間',

  `update_time` datetime DEFAULT NULL COMMENT '更新時間',

  PRIMARY KEY (`id`),

  UNIQUE KEY `order_no_index` (`order_no`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=utf8;

CREATE TABLE `mmall_order_item` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '訂單子表id',

  `user_id` int(11) DEFAULT NULL,

  `order_no` bigint(20) DEFAULT NULL,

  `proct_id` int(11) DEFAULT NULL COMMENT '商品id',

  `proct_name` varchar(100) DEFAULT NULL COMMENT '商品名稱',

  `proct_image` varchar(500) DEFAULT NULL COMMENT '商品圖片地址',

  `current_unit_price` decimal(20,2) DEFAULT NULL COMMENT '生成訂單時的商品單價,單位是元,保留兩位小數',

  `quantity` int(10) DEFAULT NULL COMMENT '商品數量',

  `total_price` decimal(20,2) DEFAULT NULL COMMENT '商品總價,單位是元,保留兩位小數',

  `create_time` datetime DEFAULT NULL,

  `update_time` datetime DEFAULT NULL,

  PRIMARY KEY (`id`),

  KEY `order_no_index` (`order_no`) USING BTREE,

  KEY `order_no_user_id_index` (`user_id`,`order_no`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8;

CREATE TABLE `mmall_cart` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `user_id` int(11) NOT NULL,

  `proct_id` int(11) DEFAULT NULL COMMENT '商品id',

  `quantity` int(11) DEFAULT NULL COMMENT '數量',

  `checked` int(11) DEFAULT NULL COMMENT '是否選擇,1=已勾選,0=未勾選',

  `create_time` datetime DEFAULT NULL COMMENT '創建時間',

  `update_time` datetime DEFAULT NULL COMMENT '更新時間',

  PRIMARY KEY (`id`),

  KEY `user_id_index` (`user_id`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8;

CREATE TABLE `mmall_pay_info` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `user_id` int(11) DEFAULT NULL COMMENT '用戶id',

  `order_no` bigint(20) DEFAULT NULL COMMENT '訂單號',

  `pay_platform` int(10) DEFAULT NULL COMMENT '支付平台:1-支付寶,2-微信',

  `platform_number` varchar(200) DEFAULT NULL COMMENT '支付寶支付流水號',

  `platform_status` varchar(20) DEFAULT NULL COMMENT '支付寶支付狀態',

  `create_time` datetime DEFAULT NULL COMMENT '創建時間',

  `update_time` datetime DEFAULT NULL COMMENT '更新時間',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;

CREATE TABLE `mmall_shipping` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `user_id` int(11) DEFAULT NULL COMMENT '用戶id',

  `receiver_name` varchar(20) DEFAULT NULL COMMENT '收貨姓名',

  `receiver_phone` varchar(20) DEFAULT NULL COMMENT '收貨固定電話',

  `receiver_mobile` varchar(20) DEFAULT NULL COMMENT '收貨行動電話',

  `receiver_province` varchar(20) DEFAULT NULL COMMENT '省份',

  `receiver_city` varchar(20) DEFAULT NULL COMMENT '城市',

  `receiver_district` varchar(20) DEFAULT NULL COMMENT '區/縣',

  `receiver_address` varchar(200) DEFAULT NULL COMMENT '詳細地址',

  `receiver_zip` varchar(6) DEFAULT NULL COMMENT '郵編',

  `create_time` datetime DEFAULT NULL,

  `update_time` datetime DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;

GitHub 地址:https://github.com/Andy-leoo/NewBieJavaPro.git

『叄』 電子商務類網站需要什麼資料庫

電子商務類網站需要的資料庫主要有以下兩種:

  1. Windows Server 2003/2008+ASP.NET+IIS+MS SQL Server 2005/2008;

  2. Linxu/Unix+PHP+Apache+MySQL。

電子商務企業資料庫必須具備的三大特性:

  1. 符合ACID原則:為了盡可能創建完美的用戶體驗,資料庫需要一個可以在每個事務中保證原子性、一致性、隔離性和持久性的資料庫,符合ACID的資料庫將會確保資料庫事務正確地完成,這意味著客戶可以在網站上獲得他們所查詢的返回值和正確的產品可用性;

  2. 可擴展性:MySQL資料庫可以處理海量數據,但由於MySQL只能夠'向上擴展',因此在某種程度上,單一成本、大排量的主伺服器將會出現瓶頸,所以,與其讓電子商務平台最終走投無路,技術人員應該考慮利用水平可伸縮的雲資料庫,資料庫可以很容易地擴展,以適應大流量的沖擊;

  3. 可用性高:如果資料庫和系統處於關閉狀態,客戶會對你的品牌失去信心,所以需要可用性高的資料庫,可用性高的資料庫可以確保良好的用戶體驗,同時還產生收入雙贏的局面。

『肆』 電商資料庫系統的設計方案對文化的影響

電商資料庫系統的設計方案對文化的影響:
1、系統設計的合理才能被接受,也是對社會,健康,安全,法律及文化的一種支持。
2、系統設計的合理能夠讓人們認識到社會,健康,安全,法律及文化的重要性,從而起到推動作用。

熱點內容
java輸出到文件 發布:2025-03-19 01:49:07 瀏覽:431
光遇國際服安卓和蘋果如何互通 發布:2025-03-19 01:43:03 瀏覽:319
如何加密應用 發布:2025-03-19 01:42:04 瀏覽:619
lol伺服器人數怎麼擠 發布:2025-03-19 01:29:19 瀏覽:840
兄弟連的php 發布:2025-03-19 01:24:25 瀏覽:812
自己做腳本可不可以 發布:2025-03-19 01:20:13 瀏覽:534
33的源碼值 發布:2025-03-19 01:13:25 瀏覽:815
虛榮安卓怎麼充值 發布:2025-03-19 01:12:27 瀏覽:892
如何更改報考密碼 發布:2025-03-19 01:08:12 瀏覽:416
python日期類型 發布:2025-03-19 01:02:28 瀏覽:416