抽象概念与MySQL中的表相关吗?如果是这样,我该怎么办?

我想将各种引擎上的数据存储在MySQL数据库中,该数据库包括活塞引擎和旋转引擎.

在OO语言中,我可以创建和扩展Engine超类以获得PistonEngine和RotaryEngine子类.

PistonEngine子类将包含诸如CylinderNo,PistonBore和PistonStroke之类的属性.

RotaryEngine子类将包含RotorThickness和RotorDiameter之类的属性.

在MySQL中,虽然我可以分别为活塞式发动机和旋转式发动机创建两个单独的表,但我还是希望保留EngineType字段作为发动机数据的一部分,并将这两种发动机类型共有的所有数据存储在一个表中.

如何设计数据库以尽可能避免数据冗余?

解决方法:

在这种情况下,我将创建四个表.

一种称为EngineTypes,其中只有您的引擎类型的ID /值对
1个旋转
2活塞

一种称为“引擎”,其中包含与活塞式发动机和旋转式发动机相关的信息.它将在其中包含引擎类型ID的列.

一个名为RotaryEngineDetails的表,其中包含您的所有旋转引擎特定数据.它将具有您的引擎表的外键.

一个名为PistonEngineDetails的表,其中包含您所有活塞发动机的特定数据.

上一篇:MongoDB全球云端技术盛会强势来袭,阿里云MongoDB新特性首发,期待ing!


下一篇:物联网产业链资料汇总 主要是A股上市公司