行,所以我有這個問題,我需要實現......這是我的site一個好的數據庫架構
什麼,我需要做的就是售出我需要有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
所以基本上我可以使用類來告訴現在的產品是什麼,然後其他兩個領域的產品1 d product2,它將具有其他兩種產品的ProductID ....這似乎可以工作,但我覺得這可能是一個更好的解決方案,然後可以更好地工作....任何想法輸入將強烈感謝
對Horgan先生的回答進行了擴展:在您的ProductClasses表中放入了一個Sequence字段,以便您可以識別哪些產品正在升級,哪些產品正在降級。看起來像是額外的工作來添加一個完整的'表格,但是添加額外字段的想法不會很好地擴展。正如Horgan指出的那樣,有一天你幾乎肯定需要第四個產品級別。 – 2011-04-12 16:49:44
所以可以說我有一個ProductClasses表...什麼字段將是最好的 – Trace 2011-04-12 16:52:52
對於ProductClasses表,我建議你有ProductClassName(標準,商業等)和ProductClassId INTEGER NOT NULL。在映射表中,您可以映射ProductClassID,ProductTypeId和客戶端事務標識或客戶端標識。 – 2011-04-12 17:00:04