我正在使用Rails创建一个网站,我正在使用MySQL for Database。有一些产品,它有智能手机,平板电脑,数字手表等类别,然后有像苹果,三星和HTC的品牌。我如何在Rails中建立它们之间的关系,我的意思是概念性的。
类别包含许多产品,而产品可能包含许多类别。然后有品牌产品有一个品牌,品牌有很多产品。我该如何处理这个以及我应该以何种方式开发它?
任何形式的帮助,无论是概念性的还是技术性的(就代码而言)都会很棒。
答案 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;