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

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

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

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

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

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

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

最佳答案
在这种情况下,我将创建四个表.

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

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

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

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

相关文章

目录MySQL卸载环境查看是否已安装MySQL卸载mysql服务查看是否...
目录数据类型数据类型分类数值类型以TINYINT认识整型族有符号...
目录表的约束空属性非空约束(NOT NULL Constraint)默认值定...
目录函数时间日期函数:字符串函数数学函数其他函数 函数 时间...
目录使用C语言连接库的安装C APImysql_initmysql_real_conne...
目录用户用户管理查询所有用户查看当前用户查看当前连接数创...