0

私は、外部キー制約を使用して他の 2 つのテーブルに関連付けられているテーブルにデータを動的に入力する必要がある段階にあります。以下は、PostgreSQL で作成したスキーマ/テーブルです。

表1:

application
--------------------------
id | name | size | rate   

表 1 の「アプリケーション」には、主キーでもある「シリアル」としての「id」と、Varchar としての「名前」、整数としての「サイズ」および「レート」があります。

表#2:

Create
-------------------------
createId | name | score

同様に。createId はこのテーブルのシリアルおよび主キーであり、'name' は varchar、'score' は整数です。

今、私は次のフィールドを持つ上記の2つのマッピングテーブルであると思われる3番目のテーブルを作成しています-

表 3

app_create
---------------------
app_create_id | id | createId |

上記のテーブルでは、app_create_id を再びシーケンスと主キー、および上記のテーブル application(Id) と create(createId) への参照を持つ外部キーとして他の 2 つのフィールドにしました。

次に、テーブル 1 と 2 に値を挿入すると、他の 2 つのテーブルに挿入したデータに関して、3 番目のテーブル 3 に値を自動的に入力する必要があると理解しています。しかし、代わりに、テーブル # 3 (app_create) のマッピング テーブルに値がないことを意味する空のテーブルを取得しています。(表 1 & 2 に挿入後)

たとえば、次のような出力を以下に示すように探しています-アプリケーションテーブルと作成テーブルには、次のデータが入力されています-

application
--------------------------
id | name | size | rate    
1  |    xyz  |   2096 | 12                                         
2  |   mno   |  1280  | 34


Create
-------------------------
createId | name | score                                                         
1        | a.b.c | 50       
2       |  m.cpm  |20    

上の 2 つのテーブルにデータを挿入した後、下の 3 番目のテーブルがどうなるかわかりません。主キーと外部キーの関係があるため、上記の2つのテーブルにデータを入力するとすぐに、同じ方法でデータが入力されると思いました。

表 3

app_create
----------------------------------
app_create_id | id | createId |                         

私はそれが多対多の関係と関係があると信じていますが、同じことを進めて同様に出力する方法を1つまたは正しい方法にする方法がわかりません。何か間違ったことをしている場合は、理解して修正するのを手伝ってください。または、マッピングテーブル内のデータを動的に保持するためにどのように進めればよいか教えてください。

4

2 に答える 2

0

これは、多対多の関係に関係しています。表 3 に誰も記入できないのは、その関係が何であるかを誰も知らないからです。したがって、自分で埋める必要があります。アプリケーションは作成にどのように関連していますか? (クリエイトとは?)

したがって、自分自身/上司/同僚に尋ねる必要がある質問は、どのアプリケーションをどのクリエイトに接続する必要があるかということです。

于 2013-06-29T03:15:01.067 に答える