用于电子商务的sql数据库设计

时间:2016-03-31 04:55:23

标签: sql database e-commerce

我正在开发电子商务网站。 我有3个级别的类别

CREATE TABLE IF NOT EXISTS `parent_categories` (
      `parent_cat_id` int(11) NOT NULL AUTO_INCREMENT,
      `parent_cat_name` varchar(200) NOT NULL,
      `created_on` datetime NOT NULL,
      `updated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `status` int(11) NOT NULL COMMENT '1=0 active ',
      PRIMARY KEY (`parent_cat_id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=49 ;



CREATE TABLE IF NOT EXISTS `child_categories` (
  `child_cat_id` int(11) NOT NULL AUTO_INCREMENT,
  `child_cat_name` varchar(200) NOT NULL,
  `parent_cat_id` int(11) NOT NULL,
  `created_on` datetime NOT NULL,
  `updated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`child_cat_id`),
  KEY `fk_parent_cat_id` (`parent_cat_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=64 ;



CREATE TABLE IF NOT EXISTS `sub_child_categories` (
  `sub_child_cat_id` int(11) NOT NULL AUTO_INCREMENT,
  `sub_child_cat_name` varchar(200) NOT NULL,
  `child_cat_id` int(11) NOT NULL,
  `created_on` datetime NOT NULL,
  `updated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`sub_child_cat_id`),
  KEY `fk_child_cat_id` (`child_cat_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=53 ;

这是我的产品表

CREATE TABLE IF NOT EXISTS `products` (
  `product_id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_cat_id` int(11) NOT NULL,
  `child_cat_id` int(11) NOT NULL,
  `sub_child_cat_id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `sku` varchar(100) NOT NULL,
  `brand` varchar(100) NOT NULL,
  `description` text NOT NULL,
  `discount` int(11) NOT NULL,
  `tax` int(11) NOT NULL,
  PRIMARY KEY (`product_id`),
  KEY `p_id` (`parent_cat_id`),
  KEY `ch_id` (`child_cat_id`),
  KEY `sub_ch_id` (`sub_child_cat_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

现在我的疑问是,如何根据类别设计存储产品规格的表

例如考虑两个类别:

  1. 时尚
  2. 食品
  3. 时尚

    1. 服装 - >衬衫:颜色,材质,尺寸,袖子,尺码表
    2. footware->鞋子:颜色,材质,尺寸,尺寸表
    3. ethenic-> Shawl:颜色,材质,尺寸
    4. 身体护理 - >香水:基于体重的价格
    5. 在食物中

      1. 甜:颜色,价格基于重量
      2. pickels-> veg:价格基于重量

1 个答案:

答案 0 :(得分:1)

好吧,我们采取:

颜色,材料,尺寸

现在想象你有一个像足球队T恤的产品。这件衬衫有3种不同的颜色和4种不同的尺码。 3 x 4 = 12种变化。所以有一个链接到一个页面,其中有一个足球队T恤的图片和描述。这件衬衫有12种不同的款式可供出售。

最关键的一点 - 每个变体都会有单独的库存,如果你在亚马逊这样的地方销售 - 单独的UPC或EAN代码。所以最实际的是每个变体都有一个数据库记录,该数据库记录必须包含大小,颜色,价格,库存等属性等。

因此,这导致了父母 - 儿童产品的想法。我们在页面上看到的产品是父产品。实际的衬衫因尺寸,颜色等而异 - 这些都是儿童产品。来自亚马逊卖家中心http://www.amazon.com/gp/help/customer/display.html/?nodeId=200779220

的更多信息