一对多SQL设计
One to many SQL design
我是 MySQL 的新人,希望制作 table 的椅子。
每把椅子可以分为几个类别,但我意识到SQL是一个单一的数据列结构。
如何设计一个"chair"table?
此外,按类别获取 chair_id 的查询会是什么样子?
有 18 个不同类别。
例如,
chair_id = 1 , categories = 'living room', 'kitchen', 'garden'
chair_id = 2 , categories = 'kitchen', 'garden'
chair_id = 3 , categories = 'garden'
Fetch where category='kitchen' || 'living room' => chair_id = 1,2
MySQL 是一个关系 数据库系统。您应该将数据建模为关系:
- 有椅子
- 有分类
- 每把椅子可以属于任意数量的类别
- 每个类别可以包含任意数量的椅子
这直接导致三个tables:
chairs
categories
chairs_in_categories
第三个table只有两列,第一列引用椅子的ID,第二列引用类别的ID。此 table 中的条目表示椅子属于某个类别。
我是 MySQL 的新人,希望制作 table 的椅子。
每把椅子可以分为几个类别,但我意识到SQL是一个单一的数据列结构。
如何设计一个"chair"table?
此外,按类别获取 chair_id 的查询会是什么样子?
有 18 个不同类别。
例如,
chair_id = 1 , categories = 'living room', 'kitchen', 'garden'
chair_id = 2 , categories = 'kitchen', 'garden'
chair_id = 3 , categories = 'garden'
Fetch where category='kitchen' || 'living room' => chair_id = 1,2
MySQL 是一个关系 数据库系统。您应该将数据建模为关系:
- 有椅子
- 有分类
- 每把椅子可以属于任意数量的类别
- 每个类别可以包含任意数量的椅子
这直接导致三个tables:
chairs
categories
chairs_in_categories
第三个table只有两列,第一列引用椅子的ID,第二列引用类别的ID。此 table 中的条目表示椅子属于某个类别。