-1

私は割り当てのために航空会社のデータベース (とにかく 1 つの概要) を設計しており、ぐるぐる回っているようです。

3 つのテーブルが関係しています。

Customer        Booking_Reference        Flight

cust_id(pk)     reference_id(pk)         Flight_id(pk)
                cust_id(fk)

予約参照には、多数のフライトを含めることができます。

フライトには多くの予約参照があります。

多対多の関係を解消しようとしています。flight_id を属性 (列) とし、booking_reference を行 (データ) とするリレーショナル テーブルを作成することは可能ですか? もしそうなら、私が理解しているように、これはノーゴーです。

別の方法として、2 つの属性と booking_reference/flight の複合主キーを持つ booking_reference/flight リレーショナル テーブルを作成することもできます。これは受け入れられる設計手法ですか?

予約参照テーブルの列として 8 フライトの最大数をリストし (8 フライト未満のエントリの場合は NULL)、8 フライトを超える顧客に新しい reference_id を与えるつもりでしたが、これはデータベースについて学ぶほどばかげたことになり、その結果、参照 ID と NULL データが増えます。

どのルートを取るべきかについてのアイデアはありますか?

4

1 に答える 1