我是SQL的初学者,正在开发我最早的数据库之一。我正在尝试创建一个非常精简的购物车,目前正在努力获得数据库之前,我开始编码的网站。
我正在努力解决的一件事是如何组织数据库的产品部分。如果我所有的产品都是单独的,那就没问题了。我的问题是,thatI也希望能够创建某种“包”,将几种产品组合成一个具有自己唯一ID但价格不同的包/产品。
有没有人攻克了这个before...Heck,我相信肯定有人。我的问题是:有没有一种最佳实践方法来组织数据库表,以支持这种情况?从逻辑上讲,我很难理解这一点。
发布于 2008-12-11 21:37:40
Ayende Rahien (RhinoMocks的)最近正在做一系列关于构建购物车的工作,从这里开始:http://ayende.com/Blog/archive/2008/12/07/designing-a-shopping-cart.aspx。它确实使用了类图,但您应该能够将概念转换为数据库图。
发布于 2008-12-11 21:21:37
我可能会创建一个包含包id和包价格的包表,然后使用包id(作为包表的FK )和相应的产品id(作为产品表的FK )创建包和产品之间的中间(交叉引用)表。
发布于 2008-12-11 22:08:23
Ayende正在做的任何事情都是初学者所不能理解的。要回答你的问题,你需要3张表。一个用于您的产品,一个用于您的软件包,还有一个用于将产品“链接”到软件包。我假设你已经掌握了前两种方法。第三种被称为多对多关系。
它应该被称为ProductsPackages,并且有两列(PackageId和ProductId)。应为Products和Packages表创建外键约束。
现在,要将产品添加到包中,需要将每个产品的id插入到ProductsPackages表中。
https://stackoverflow.com/questions/360959
复制相似问题