ピストン エンジンとロータリー エンジンの両方を含む、さまざまなエンジンに関するデータを MySQL データベースに保存したいと考えています。
OO 言語では、スーパークラスを作成して拡張し、サブクラスEngine
を取得できます。PistonEngine
RotaryEngine
PistonEngine
サブクラスには、CylinderNo、PistonBore、PistonStrokeなどのプロパティが含まれます。
RotaryEngine
サブクラスには、RotorThicknessやRotorDiameterなどのプロパティが含まれます。
MySQL では、ピストン エンジンとロータリー エンジン用にそれぞれ 2 つの個別のテーブルを作成できますが、エンジン データの一部としてEngineTypeフィールドを保持し、両方のエンジン タイプに共通するすべてのデータを 1 つのテーブルに格納することをお勧めします。
データの冗長性をできるだけ回避するようにデータベースを設計するにはどうすればよいですか?