質問

ここは私の2つのテーブルの構造(イタリック体の太字および外部キーの主キー)

です。

service_agreements( id 、client_id、mates_begin、duration、* services_id_1 *、* services_id_2 *、* services_id_3 *、* services_id_4 *) サービス( id 、date_provided、説明、staff_person)

表の背後にある考えは、契約に基づくものであり、当社は最大4回までのサービスを提供することです。 したがって、Service_agreementsテーブル(Services_ID_1、...)の4つのフィールドには、Services Tables(IDフィールド)と4つの別々の関係があります。 通常は2つのテーブルの間に1つの関係しか見られなかったので、少し珍しいようです。 SO.これが珍しいかどうかを知っているか、サービスのフィールドをサービスのフィールドをマージすることなく、サービステーブルにサービスのフィールドをマージすることなく、契約なしに提供されていないサービスのレコードもあります。)/ P>

役に立ちましたか?

解決

構造はさらにはいえたものでもあり得る:

service_agreements( id 、client_id、mates、date_begin、duration);

サービス( id 、date_provided、説明、staff_person);

service_agreements_services( id 、タイプENUM(Service1、Service 2など)、 service_agreement_id service_id );

新しい表、 service_agreements_services service_agreementとサービスの間に1つの関係を追加します。

利点
1)あなたが提供するすべての新しいサービスのために新しい挿入があるでしょう(通常は更新よりもオーバーヘッドが少ない)
2)あなたは大きなサービスを提供することさえできます:)
3)テーブルの関係が容易になります。

ありがとう

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top