Database design 库存系统

Database design 库存系统,database-design,Database Design,我正在尝试开发一个在线库存系统。 我有下表: CREATE TABLE `product` ( `ProductId` `SubCategoryTypeId` `MerchantId` `ProductName` `MRP` `Quantity` `ProductCode` `ProductSKUCode` `BarCode` `Description_short` `Description_long` `ThumbnailImage

我正在尝试开发一个在线库存系统。 我有下表:

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.';

使用此表,我可以添加大多数产品,但如何优化此表,以便也可以添加书籍。我在添加图书时遇到了问题,因为它有作者、出版商等。有人能建议我如何添加图书吗?

我认为您可以尝试使用规范化规则将表拆分为更多的表。试着理解如何应用关系。例如,数据库中的表可以拆分为一个名为product的表,其他表可以用来插入产品属性,如IsNewArrival。

我使用泛化/专业化。例如,您有一个包含所有Common数据的产品表。。。但有其他表格可以获取更多的经验数据(比如你们的书)。 一个更好的例子是,支持你卖书、电影和其他东西,如钢笔、铅笔、打印纸等(图书馆用品)。您可以有一个产品表,其中包含ProductID(pk)、name(varchar)、description(varchar)。此外,您还可以使用BookID(pk)、AuthorID(FK到Author表)、ISBN(varchar)、EditorialID(FK到Editory表)创建Books表。。。但也可以将BookID FK设置为Products.ProductID,这样,当您在books表中插入一本书时,首先在Products表中插入一个产品,该ID就是books.BookID。。。(与表中的内容相同)

希望能理解我


干杯

我将如何检测产品是书,因为对于其他产品,系统工作正常。如果产品是书,ui将包含出版商、作者等。书只是产品的一个示例。谢谢你的回复。我理解你所说的,并且也将这样做,但问题是,显示am时,从产品表中提取数据,并显示产品名称、条形码、尺寸(如果可用)等数据。当产品类似于书籍或电影时,产品展示会有所不同。我必须特别检查产品是否为书籍或电影,并展示产品。如果有类似的多个产品,如电影或书籍,那么我必须设置多个条件。那么我的方法应该是什么?一个工具可能会使用传统的表ProductType,并用于按类型筛选产品。。。对于显示所有产品,可以使用视图,设置为清空不在产品表上的字段。(顺便说一句,对不起我的英语)希望能理解我。