在開發多用戶的購物平臺時,常常會碰到徹底不一樣類型的幾種產品,他們的屬性不少都是不同的。因此,在設計數據庫的表字段時,不可能一個個都列出來。由於不少時候,產品的屬性都不定的。下面我給你們講解下,如何給不一樣分類的商品動態添加屬性。
下面列舉下幾種不一樣的產品類型:
女裝、鞋子、手機、遊戲卡、化妝品等等
女裝的屬性有:顏色、尺碼、腰圍、胸圍、價格、季節、面料、品牌、產地等等
鞋子的屬性有:顏色、尺碼、跟高、樣式、品牌、季節、材料、價格、產地
手機的屬性有:基本參數、產品外形、拍照功能、娛樂功能、顏色、尺寸、產地、價格、品牌、生產時間等
化妝品的屬性:型號、材質、產地、出廠日期、保質期、品牌、價格、尺寸、規格、顏色等
看看,就這麼幾個分類,已經有那麼多的屬性。你們仔細看看,其實這些屬性當中有幾個屬性是你們都有的,好比:顏色、尺碼、價格、產地、品牌等。另外的幾個都是私有的屬性。
而後再看,不少屬性其實數據是定死的,就是說能夠把屬性的值列舉出來:
好比說
顏色:能夠分:紅色,白色,綠色等。
產地:浙江杭州、廣東廣州。
品牌:攜購網、攜購獨立網店系統等
咱們把這些統稱爲實例數據,固然相反,也有不少屬性咱們必須是要手動錄入數據的。包括拍照功能、腰圍、適合年齡範圍等。
接下去,咱們使用C# 的類來說解具體的設計思路:
產品類別的類定義:
public class Category{
public int m_id; //類別的ID
public string m_name ; //類別名稱
public string m_root; //類別的路徑,->0->1->2->
public int m_parent; //父級的Id
public int m_depth; //路徑深度
}
類別屬性類的定義:
public class Attribute{
public int m_id; //屬性的ID
public int m_name ; //屬性的名稱
public string m_value; //屬性值
public int m_type; //屬性的類型,單行文本,選擇框,多選框,多行文本等等。這裏能夠隨便你設置,
}
屬性實例類的定義:
public class Instance{
public int m_id; //屬性實例的ID
public string m_name; // 屬性實例的名稱
public string m_value; //屬性實例值
public int m_attributeId; //屬性ID
}
最後咱們須要定義一個產品類別與屬性對應的類:
public class CateAttribute{
public int m_id; //編號ID
public int m_attributeId; //屬性的ID
public int m_cateId; //類別的ID
}
有了以上的關係表以後,咱們就能夠在後臺動態、任意的增長屬性到對應的類別了。該表(類)的定義由國內優秀的獨立購物網店系統供應商ShopXG攜購網提供,在這裏表示感謝!數據庫