Rails中的产品,类别和品牌数据库关系

时间:2014-08-01 07:12:37

标签: mysql ruby database ruby-on-rails-4

我正在使用Rails创建一个网站,我正在使用MySQL for Database。有一些产品,它有智能手机,平板电脑,数字手表等类别,然后有像苹果,三星和HTC的品牌。我如何在Rails中建立它们之间的关系,我的意思是概念性的。

类别包含许多产品,而产品可能包含许多类别。然后有品牌产品有一个品牌,品牌有很多产品。我该如何处理这个以及我应该以何种方式开发它?

任何形式的帮助,无论是概念性的还是技术性的(就代码而言)都会很棒。

1 个答案:

答案 0 :(得分:1)

这是一个可以使用的结构:

CREATE TABLE `category` (
  `id` int(11) NOT NULL,
  `category_name` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

CREATE TABLE `brand` (
  `id` int(11) NOT NULL,
  `brand_name` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

CREATE TABLE `product` (
  `id` int(11) NOT NULL,
  `product_name` varchar(100) DEFAULT NULL,
  `product_specification` varchar(255) DEFAULT NULL,
  `id_brand` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `id_brand` (`id_brand`),
  CONSTRAINT `product_ibfk_1` FOREIGN KEY (`id_brand`) REFERENCES `brand` (`id`)
) ENGINE=InnoDB;

CREATE TABLE `protuct_category` (
  `id_product` int(11) DEFAULT NULL,
  `id_category` int(11) DEFAULT NULL,
  KEY `id_product` (`id_product`),
  KEY `id_category` (`id_category`),
  CONSTRAINT `protuct_category_ibfk_1` FOREIGN KEY (`id_product`) REFERENCES `product` (`id`),
  CONSTRAINT `protuct_category_ibfk_2` FOREIGN KEY (`id_category`) REFERENCES `category` (`id`)
) ENGINE=InnoDB;