Jef*_*Fay 5 mysql sql statistics enums database-design
我想在 MySQL 数据库表中存储大量分类数据。假设我想要有关“小部件”的信息,并且想要以某种方式对属性进行分类,即形状类别。
例如,小部件可以分类为:圆形、方形、三角形、球形等。这些类别是否应该存储在表中以便从应用程序中最好地引用它们?我想,另一种可能性是向小部件添加一列,其中包含一个包含小整数的形状列。这样我的应用程序就可以通过它来搜索形状,然后使用协调的枚举类型来映射形状 int 的含义。
哪个最好?或者还有其他我还没有想到的解决方案?
为每个属性分组定义一个类别表。IE:
然后在表中使用外键引用WIDGETS:
这样做的好处是可以移植到其他数据库,并且关系更明显,这意味着维护更简单。