数据结构-关于数据库设计多表关联
比如一个属性 同时属于很多产品 而且产品也有很多属性?这样的关联表 该怎样建立 通过属性查到所有有该属性的产品 相反也是 我想不出一个很好的思路 求解 最好有图 有文字谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如一个属性 同时属于很多产品 而且产品也有很多属性?这样的关联表 该怎样建立 通过属性查到所有有该属性的产品 相反也是 我想不出一个很好的思路 求解 最好有图 有文字谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
属性实在不像是一个好的数据库实体名.
不管怎么样, 多对多映射 一般用关联表.
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)
设计一个产品表,一个属性表,一个映射表,就是第三範式嘛