程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql顛覆實戰筆記(四)--商品系統設計(一):商品主表設計,mysql系統設計

mysql顛覆實戰筆記(四)--商品系統設計(一):商品主表設計,mysql系統設計

編輯:MySQL綜合教程

mysql顛覆實戰筆記(四)--商品系統設計(一):商品主表設計,mysql系統設計


版權聲明:筆記整理者亡命小卒熱愛自由,崇尚分享。但是本筆記源自www.jtthink.com(程序員在囧途)沈逸老師的《web級mysql顛覆實戰課程 》。如需轉載請尊重老師勞動,保留沈逸老師署名以及課程來源地址。

  這幾節課沈老師先帶我們說道一下商品表。

  固定商品:譬如我們只是賣鞋,那麼整個商品的屬性基本都是一致的,列如鞋的顏色、尺寸、款式、品牌、價格。這時候我們涉及到的表往往是平面的。

  這種涉及方法的特點:

  1、純定制化。

  2、開發快,僅僅只要針對某些元素開發。

  3、但是擴展性差,一旦我們新增了其他類型商品,那麼真個系統就要重新做。

  4、時間久了,這張表會無比大。影響系統性能。

  所以我們盡可能的要設計一個相對通用的商品表。以適應大部分的電商系統。

  今天我們先來設計一個商品主表(我們首先假設我們的是B2C)

  包含通用信息:

  (一)即時更新:id,商品名稱,所屬分類,入庫時間,最後一次修改時間,商品簡介。

  (二)延時更新/日志更新:總點擊量,月點擊量,總銷售量,月銷售量,總評價數,月評價數。

  

  下面我們在navicat裡創建表 prod_main:

  

  其中 prod_id 設置自動增長,設置為主鍵。

     prod_adddate設置默認值為CURRENT_TIMESTAMP.

  然後我們根據字段隨便給這個表填入一個數據。

 

 

qizho

  我們再創建一個簡單的商品類別表 prod_class: 
  
  
  點擊量日志表:
  
作為一個電商系統,我們出料知道商品的總點擊量,還需要知道商品的周點擊和月點擊,然後這些數據是不能記錄在商品主表中的。
  課程中我們簡單點,設計到月點擊就好。
  我們來創建prod_clicklog表:
  
  
  接下來,我們用存儲過程來模擬讀書商品頁面:
  1、從商品主表根據ID讀取商品所有信息。
  2、如果讀取到,則記錄點擊日志。
  我們要注意的知識點:FOUND_ROWS() select時返回最近一條SQL的結果及條數。
            ROW_COUNT(): update delete insert受影響的條數。  
BEGIN
    SELECT * FROM prod_main WHERE prod_id = _prod_id LIMIT 1;
    SET @num=FOUND_ROWS();
    IF @num=1 THEN #代表商品取出成功
    INSERT INTO prod_clicklog(prod_id,user_ip,user_id) VALUES (_prod_id,_user_ip,_user_id);
    END IF;
END
參數:IN _prod_id int,IN _user_ip varchar(15),IN _user_id int

  老規矩,我們新建查詢,CALL一下,得到結果:

  

 

  然後我們再:
SELECT * from prod_clicklog;

 

  

下節課再見!

上一節:mysql顛覆實戰筆記(三)-- 用戶登錄(二):保存用戶操作日志的方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved