我正在尝试开发一个在线库存系统。我有下表:
CREATE TABLE `product` (
`ProductId`
`SubCategoryTypeId`
`MerchantId`
`ProductName`
`MRP`
`Quantity`
`ProductCode`
`ProductSKUCode`
`BarCode`
`Description_short`
`Description_long`
`ThumbnailImage`
`ProductImage`
`OurPrice`
`MinBargainPrice`
`Brand`
`AirCost`
`SurfaceCost`
`ShippingAirTime`
`ShippingSurfaceTime`
`ColorCode`
`DiscountPercent`
`IsApproved`
`IsActive`
`HasSize`
`isOnlineProduct`
`isOfflineProduct`
`ShippingCategory`
`ProductExpiryDays`
`RelatedVideo`
`TechnicalSpecification`
`CreatedDateTime`
`ModifiedDateTime`
`CreatedBy`
`ModifiedBy`
`IsCod`
`HasOffer`
`OfferText`
`IsNewArrival`
`HasColor`
`NoOfRecommendation`
`IsPremium` tinyint(1)
`IsImported`
PRIMARY KEY (`ProductId`),
KEY `Product_Category_Rel` (`SubCategoryTypeId`),
KEY `Product_Merchant_Rel` (`MerchantId`)
) ENGINE=InnoDB AUTO_INCREMENT=2093 DEFAULT CHARSET=utf8 COMMENT='This table contains Product data.';使用这个表,我可以添加大部分产品,但是我如何优化这个表,以便也可以添加书籍。我在增加书籍方面有问题,因为它有作者,出版商等。有谁能建议我怎么做,这样我也可以增加书籍吗?
发布于 2013-02-28 14:43:48
我使用泛化/专门化。例如,您有一个包含所有公共数据的产品的表.但是让其他人来获取更多的数据(比如你的书)。一个更好的例子,假设你卖书,电影和其他东西,如钢笔,铅笔,打印纸,等等(图书馆的东西)。您可以有一个ProductID(pk)、name (varchar)、description (varchar)的产品表。此外,您还可以使用BookID (pk)、AuthorID(FK到作者表)、ISBN (varchar)、EditorialID(FK到编辑表)的图书表。但是,您还将BookID FK设置为Products.ProductID,因此,当您在图书表中插入一本书时,首先在Products表中插入一个产品,ID是Books.bookID.(电影表也是一样的)
希望能理解我。
干杯!
https://stackoverflow.com/questions/15136444
复制相似问题