2009-08-31 9 views
1

私はこれを説明する方法がわかりませんので、私はできるだけ明確にしようとしています。参照されたレコードを保存せずに関連するレコードを保存する

ウェブアプリをロギングするケースがあります。ケースチケットを追加すると、そのチケットに連絡先と添付ファイルを追加できます。

私は、訪問者がケースのチケット情報を記入し、n個の連絡先を追加してからn個のアタシェントを追加して保存する必要がある方法を見つけようとしています。

添付ファイルと連絡先がチケットテーブルにリンクされているため、正しい参照IDを挿入するためにチケットIDを知る必要があります。

実装できるさまざまなソリューションは何ですか?

答えて

0

1つのオプションはリンクテーブルを導入することです。その代わりに:

       contact 
ticket       ------- 
------       PK id 
PK id <---------------------- FK ticketid 

あなたが持っている可能性があり:

ticket  ticket_contact 
------  -------------- contact 
PK id <----- FK ticketid  ------- 
      FK contactid ---> PK id 

今、あなたはticket(またはticket最初)の前にcontactレコードを保存することができます - ちょうどあなたは両方を持っている場合、リンクレコードに追加します。これにより、ticketとは無関係のシナリオでcontactを再利用することもできます。

別の(より単純な)オプションは、FKをヌル可能にするためのものです...それはおそらくOKかもしれません。

関連する問題