良好的数据库架构
|
好的,所以我有我需要解决的问题...这是我的网站
我需要做的是,对于售出的每种产品,我都需要另外2种产品,它们既可以升级,也可以降级。
因此,每种产品都有3类标准,业务和高级产品,并根据当前产品的价格提高或降低。
所以基本上他们是在定制每种解决方案。所以我需要的是找出为此构建数据库的最佳方法...这是我用来提取我现在拥有的查询
$query = \"SELECT p.ProductName, p.price, pc.quantity, p.ProductImage, p.Features
FROM productinfo as p
join preconfig_categories as pc on p.ProductID = pc.product_id
join preconfig as c on c.id = pc.category_id
join subcategory as sc on p.SubCategoryID = sc.SubCategoryID
WHERE c.code = \'{$type}_{$count}_{$class}\'
order by sc.ordering\";
我在当前结构如下的productinfo表中想到了
CREATE TABLE `productinfo` (
`ProductID` int(11) NOT NULL AUTO_INCREMENT,
`ProductName` varchar(255) NOT NULL,
`ProductImage` varchar(255) NOT NULL,
`CategoryID` int(11) NOT NULL,
`SubCategoryID` int(11) NOT NULL,
`ProductBrief` varchar(255) NOT NULL,
`Features` text NOT NULL,
`Specifications` text NOT NULL,
`Reviews` text NOT NULL,
`Price` varchar(255) NOT NULL,
`Status` tinyint(4) NOT NULL,
`PartName` varchar(255) NOT NULL,
`skip_step` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`ProductID`)
) ENGINE=MyISAM AUTO_INCREMENT=164 DEFAULT CHARSET=latin1;
我当时正在考虑添加三个额外的字段
class
product1
product2
所以基本上我可以使用该类来告诉当前产品是什么,然后使用其他两个字段product1和product2来获取其他两个产品的ProductID。...似乎可以使用,但我感觉可能更好的解决方案然后可以更好地工作....任何想法的输入将不胜感激
没有找到相关结果
已邀请:
2 个回复
咳累录酬
艰管垮淮
这样一来,产品就必须具有两个准确的关联,这将不会一成不变。您还可以在此表中添加其他列,以描述两种产品之间的关联...例如产品“ A”是升级,而产品“ B”是高级升级。