Use foreign key scanner

外部キースキャナを使用すると、仮想外部キーの発見が容易になります;

1.を選択する。 Foreign keys タブの Job configuration スクリーン 2.を押してください。 Scan ボタンをクリックして外部キーのスキャンを開始する。 3.の量を制限するために適用するフィルタを選択します。 foreign key の候補者。 4.最後に, 選ぶ Confirm をクリックして外部キーのスキャンを開始する。

外部キーのスキャンが完了したら, を見ることができます。, 確認する, または、スキャンの結果生じた外部キー候補を削除する。

外部キー候補のフィルタリング

外部キースキャンの開始を確認するには, フィルタを有効または無効にすることで、外部キーの候補を制限できます。 - 外部キーのオプションとして考えられるカラム - スキャンのために。

  • Only include exact column name matches: 有効な場合, は、まったく同じカラム名を持つカラムペアのみが外部キー候補とみなされます。無効にすると, カラム名は、外部キーの候補を限定するために考慮されない。

  • Only include exact data type matches: 有効な場合, は、まったく同じデータ型を持つカラムペアのみが外部キー候補とみなされます。無効にすると, 2つのカラムはまだ_を持たなければならない。compatibleデータ型, ただし、完全に一致する必要はない。

  • FK candidates must link to an existing primary key: 有効な場合, 外部キー候補は常に既存の主キー・カラムにリンクしていなければならない。無効にした場合, 外部キーの候補は、データベースで主キーとして定義されていないカラムであることもあります。, であるが、Syntho のロジックに基づいて主キーとして識別できる。, 列のカーディナリティを考慮する。

    • Include string values as primary key candidates: 有効な場合, カラムのデータ型が_String_型にマッチするもの(たとえば VARCHAR そして TEXT)が候補に含まれる。無効の場合, 文字列型のカラムは外部キーの候補から除外される。

  • Apply bi-directional data validation: 有効な場合, 列のペアが考慮される, A列の値はB列にも現れ、B列の値はA列にも現れる。, 一方通行のバリデーションが適用される, A列の値がB列に存在する必要がある。, またはその逆。

{ヒント style="info" %}。 フィルタを適用すると外部キー候補のリストが減ります。, が、正しい外部キー提案の割合が高くなる可能性があります;

とします。

外部キースキャナの限界

外部キースキャナのいくつかの特徴を考慮することは重要です。:

  • Performance on Large Databases: 外部キーのスキャナーは、効率化のために並列に動作するように設計されているが, 数億行のデータベースをスキャンしても、かなりの時間がかかる。

  • No Support for Composite Foreign Keys: スキャナーは複合外部キーを考慮しない。

  • Assumptions on Database Structure: スキャナは、データベースに関する特定の仮定に基づいて動作します。, 記述的なカラム名や正しく定義されたデータ型などです。データベースが標準的な設計のベストプラクティスに従っていない場合, を使用する場合は、列名とデータ型の両方の厳格なマッチング基準を無効にして、より多くの潜在的な外部キー関係を識別できるようにする必要があります。

  • Indeterminate Foreign Key Direction: 時々, Synthoは外部キーのリレーションシップの方向を決定することができない場合があります。, A列がB列を指しているか、あるいはその逆か)。このような場合, 両方のオプションが外部キーリストに表示されます。, また、結果を検証するために、手作業によるレビューが強く推奨される。

これらの制限を理解することで、外部キー・スキャナーをより効果的に使用し、その制約を意識することができます。

Last updated