微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

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

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

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

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

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

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

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

原文地址:https://www.jb51.cc/mysql/532003.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐