数据结构-关于数据库设计多表关联

发布于 2016-12-29 11:14:53 字数 93 浏览 1353 评论 2

比如一个属性 同时属于很多产品 而且产品也有很多属性?这样的关联表 该怎样建立 通过属性查到所有有该属性的产品 相反也是 我想不出一个很好的思路 求解 最好有图 有文字谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾兮 2017-08-08 20:07:09

属性实在不像是一个好的数据库实体名.
不管怎么样, 多对多映射 一般用关联表.

Product table: (product_id(pk), ...)
Attribute table: (attr_id(pk), ...)
Product_Attr table: (product_id, attr_id), 复合主键(product_id, attr_id)

通过属性查产品:
select * from product_table inner join Product_Attr_Table using (product_id) where attr_id=xxx;

答案补充
如果楼主确实是想整一个 属性 表的话, 可能是想做一个Entity-Attribute-Value(EAV)的模型设计. http://en.wikipedia.org/wiki/Entity—attribute—value_model
大概是这样:
Product table: (product_id(pk), ...)
Product_Attr table: (product_id(fk), attr_id, attr_value) 复合主键(product_id, attr_id)

想挽留 2017-07-22 06:05:47

设计一个产品表,一个属性表,一个映射表,就是第三範式嘛

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文