【发布时间】:2021-04-25 01:46:26
【问题描述】:
我有一个 SQL 表 mobile。对于不同的手机,我想保存不同的数据。例如,在触摸移动设备的情况下,这些列是必需的。
- 刷新率
- 分辨率
- 延迟
对于其他手机,这些列是必需的。
- 是黑白的
- 屏幕尺寸
除此之外,还有一些常见的列,这两个类别都需要,例如
- 价格
- 型号
那么我该如何设计这张桌子。我应该创建两个单独的表吗?或者只有一个,然后我如何处理不同类别的必需属性?还是其他方法?
【问题讨论】:
-
我建议将所有列放在一个表中,并在它们不适用时保留值
NULL。 -
@GordonLinoff 但是每个类别的列是必需的,它们不能是
NULL -
您可以从前端进行管理。如果您要为“Touch Mobile”插入信息,请将相关字段设为必填,反之亦然。
-
single-table-inheritance 和 class-table-inheritance 是显示与您的案例相关的技术的两个标签。如果你点击了解更多,你会得到一个解释。
标签: mysql sql database database-design