我想在 MySQL 数据库表中存储大量分类数据。比方说,我想获取有关“小部件”的信息,并希望以某种方式对属性进行分类,即形状类别。
例如,小部件可以分类为:圆形、方形、三角形、球形等。 这些类别是否应该存储在一个表中以便从应用程序中最好地引用它们?我想,另一种可能性是向小部件添加一列,该小部件包含一个形状列,该形状列包含一个小整数。这样我的应用程序就可以通过它搜索形状,然后使用一个协调的枚举类型来映射形状的 int 含义。
哪个最好?还是有其他我尚未想到的解决方案?
最佳答案
为每个属性分组定义一个类别表。即:
WIDGET_SHAPE_TYPE_CODES
- WIDGET_SHAPE_TYPE_CODE(主键)
- 描述
然后在WIDGETS
表中使用外键引用:
小部件
- WIDGET_ID(主键)
- ...
- WIDGET_SHAPE_TYPE_CODE(外键)
这有利于移植到其他数据库,更明显的关系意味着更简单的维护。
关于sql - 在 SQL 表中存储分类引用的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2981989/