注意
以下の内容は 2020/06/27 時点の内容です。現在はテーブルの「プロパティ」タブの中に「Virtual」というカテゴリがあり、そちらから設定します*1。
「Virtual」カテゴリに入り、「Virtual Foreign Keys」から設定を行います。下記の記事内容はほぼ流用できます。以前よりだいぶわかりやすくなっています。
概要
- データベース上に外部キーを設定していなくても、DBeaver 上で外部キーを仮想的に設定することができます
- DBeaver は、外部キーが設定されているとその関連するデータを芋づる式に表示できるので便利です
- 上記の芋づる表示は外部キーが仮想キーであっても適用されます
- また、ER図上の関連も、外部キーが仮想キーであっても反映されます
仮想外部キーの作りかた
例
users
テーブルとorganizations
テーブルがあるとしますusers
テーブル内にorganization_id
というカラムが存在するとします*2users
テーブルには外部キーが設定されていないとします
具体的な作り方
箇条書きで質素に書きます。
users
テーブルを開き、「適当に右クリック」→「Add virtual foreign key」とたどります- 「参照表」として
organizations
を選択します - 「ユニークキー」として「VIRTUAL PK(仮想ユニークキー)」をプルダウンで選択します
- プルダウンの箇所の右端にある「EDIT」を押します
organizations
テーブルのカラム一覧が表示されるのでid
にチェックを入れてOK
を押します- 画面下に項目が追加されます
- 画面下の項目の「カラム」の欄が未入力であり、ここに
users
テーブルのどのカラムに外部キーを設定シルカを入力します - なので、プルダウンメニューから
organization_id
を選択します - 仮想外部キーの設定が完了です
仮想外部キーが設定されているかどうかを確認する
- 仮想外部キーの設定を反映させるため、いったんテーブル表示を閉じます(重要)
- 仮想外部キーが設定されているかどうかを確認するため、「パネル」を表示させ、
users
の適当なレコードを開き、organization_id
カラムに移動します - 外部キーと一致する
organizatinos
内のレコードが「パネル」のReferences
タブに表示されていれば OK です- 複数の外部キーが設定されている場合はプルダウンメニューから使用したい外部キーを選択できますj