Database design 设计产品数据库
我需要为我的产品设置一个数据库。我需要在此数据库中存储产品名称、产品奖、产品详细信息和产品功能。一个产品有多个功能现在如何设置此数据库 我已经设置了一个包含两个表的数据库Database design 设计产品数据库,database-design,Database Design,我需要为我的产品设置一个数据库。我需要在此数据库中存储产品名称、产品奖、产品详细信息和产品功能。一个产品有多个功能现在如何设置此数据库 我已经设置了一个包含两个表的数据库 产品详细信息包括id、产品名称、产品详细信息、产品奖和 产品特征具有id、p特征(一个数据库还有一个特征) 对吗?如果正确,我如何在产品和其功能之间建立关系?如何从数据库中检索数据 如果这是错误的,那么我如何才能做到这一点 这是一种常见的关系设计模式,用于解决多对多关系,如您所描述的关系。您需要一个链接表将产品详细信息链接到产
如果这是错误的,那么我如何才能做到这一点 这是一种常见的关系设计模式,用于解决多对多关系,如您所描述的关系。您需要一个链接表将
产品详细信息
链接到产品功能
我将重命名您的表,使您拥有Product
、Feature
,以及链接表ProductFeature
ProductFeature
将由包含产品id和featureid的记录组成(每个产品可能有多个记录)
因此,要检索id为1的产品的所有功能
SELECT *
FROM product p
INNER JOIN productfeature pf ON pf.productid = p.id
INNER JOIN feature f ON pf.featureid = f.id
WHERE p.id = 1
您需要添加适当的外键,并且可以考虑将查询封装在视图中(SQLServer构造,因此不确定MySQL等价物是什么)。除了embo的答案之外,请记住,类似命名的产品功能并不总是代表相同的东西,因此,让后一种产品依赖于它通常是有用的-例如衬衫尺寸与裤子尺寸不同,xs/s/m/l/xl不一定是1/2/3/4/5。