首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据库表设置

MySQL数据库表设置
EN

Stack Overflow用户
提问于 2013-10-01 19:39:43
回答 1查看 58关注 0票数 0

我想知道是否建立这个数据库模式是最有效的方法。我正在努力输出滑雪板术语,以及它对我的网站上的每一个产品意味着什么。我为此设置的表格:

产品

代码语言:javascript
复制
+----+--------+--------+-------------+
| id | brand  | name   | product_type|
+----+--------+--------+-------------+
|8000| burton | diode  | binding     |
+----+--------+--------+-------------+

terminology_products

代码语言:javascript
复制
+----+--------+------------+
| id | att_id | product_id |
+----+--------+------------+
| 1  | 51     |  8000      |
| 2  | 52     |  8000      |
+----+--------+------------+

术语

代码语言:javascript
复制
+--------+-----------+--------+---------------------+
| att_id |    type   | key    | value               |
+--------+-----------+--------+---------------------+
|   52   | baseplate | EST    | details about EST   |
|   53   | baseplate | Hinge  | details about Hinge |
+--------+-----------+--------+---------------------+

然后我质疑

代码语言:javascript
复制
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

得到我想要的结果,但我觉得这可能是一种过于复杂的方法。有更简单的方法吗?感谢您的任何见解或帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-01 19:57:56

是的,这是一种正确的方式。这是常见的解决办法。

您的"terminology_products“表包含外键,它允许您在表之间建立”多到多“的关系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19124500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档