4

この MySQL データベースを設計する最善の方法は何でしょうか?

私はcarsfuels、およびを持っていmotor oilsます。各車は、任意の数の を使用できfuelsますmotor oils。このデータベースを設計する最善の方法は何ですか?

したがって、1つまたは複数の、および 1 つcarまたは複数の を持つことができます。fuelsmotor oils

したがって、データベースに、、、およびテーブルcarsfuels必要です。motor_oilsそれ以来fuelsmotor_oils価格、日付_生産などのようないくつかの同様のプロパティがあります.言うことができますという別のテーブルを作成するのは賢明でしょうproductsか?

OOP 言語を使用する場合Product、エンティティがFuelあり、MotorOils拡張Productされ、このように でプロパティが定義されProductます。

Mysqlデータベースでこれをどのように設計しますか? MySQLには継承のようなものはありますか? リレーション データベースには継承がなく、MySQL でこれを模倣する方法があることは知っています。

4

2 に答える 2

1

ある種の継承を行うために、製品テーブルとそれぞれに外部キー、燃料とモーター オイルを製品テーブルにリンクすることができます。

エンティティ間の外部を含むマッピング テーブルを定義することによって、多対多の関係を作成します。

車と燃料があれば、2 つの外部キー フィールド morors_id とfuels_id を持つテーブル carsFuelsMap を作成できます。

于 2012-11-16T23:54:37.490 に答える
1

1 対 1 の外部キーを使用して、SQL で OOP の委任部分をシミュレートできます。したがって、たとえば、Fuelエントリには、Productすべての共有値を識別する外部キーがあります。

車と燃料のリンクに関しては、これは実際には多対多の関係です。従来の方法ではCarFuel、車と燃料の有効な組み合わせごとに 1 つの行を持つテーブルを使用していましたが、Fuelとの両方の部分を に委譲MotorOilしたためProduct、おそらくCarProductテーブルを使用する必要があり、燃料のみが必要な場合は、次のことができます。テーブルに参加しFuelます。

于 2012-11-16T23:55:11.667 に答える