我想知道是否建立这个数据库模式是最有效的方法。我正在努力输出滑雪板术语,以及它对我的网站上的每一个产品意味着什么。我为此设置的表格:
产品
+----+--------+--------+-------------+
| id | brand | name | product_type|
+----+--------+--------+-------------+
|8000| burton | diode | binding |
+----+--------+--------+-------------+terminology_products
+----+--------+------------+
| id | att_id | product_id |
+----+--------+------------+
| 1 | 51 | 8000 |
| 2 | 52 | 8000 |
+----+--------+------------+术语
+--------+-----------+--------+---------------------+
| att_id | type | key | value |
+--------+-----------+--------+---------------------+
| 52 | baseplate | EST | details about EST |
| 53 | baseplate | Hinge | details about Hinge |
+--------+-----------+--------+---------------------+然后我质疑
SELECT products.ProductName, products.Brand, terminology.type, terminology.key, terminology.value
FROM products
JOIN terminology_products
ON terminology_products.product_id = products.ID
JOIN terminology
ON terminology_products.att_id = terminology.att_id
WHERE products.id = 8000得到我想要的结果,但我觉得这可能是一种过于复杂的方法。有更简单的方法吗?感谢您的任何见解或帮助。
发布于 2013-10-01 19:57:56
是的,这是一种正确的方式。这是常见的解决办法。
您的"terminology_products“表包含外键,它允许您在表之间建立”多到多“的关系。
https://stackoverflow.com/questions/19124500
复制相似问题