仕様と根拠

参照整合性の規則

PostgreSQL の外部キー(文書 5.5.5)では、参照する側の NULL でない値は、参照される表に存在していなければなりません。これを満たさない行がこの道具の言う孤児レコードです。親にあるキーの集合を作り、子のキーがその集合に含まれるかを、文字列の完全一致で調べます。

NULL の扱い

外部キーでは、参照側の列が NULL の行は、既定では制約を満たさなくてよい(MATCH SIMPLE 相当)とされます。この道具も、子のキーが空欄の行は NULL とみなして検査から除きます。「NULL」という文字が入っている行も、設定で NULL とみなせます。NOT NULL にしたい列は、空欄の行を別に確かめてください。

親のキーの重複

外部キーが参照できるのは、主キーか一意制約の列などで、値が重複しない列です。親のキーが重複していると、参照先がどの行か決まらないため、警告します。また、子のキーが「01」で親が「1」のように、数値としては同じで文字列が違う場合は、その旨を孤児の警告に添えます。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
PostgreSQL 文書 5.5.5 Foreign Keys2026年10月29日参照値が NULL でなければ親表に存在する必要がある。参照側の列のいずれかが NULL なら制約を満たさなくてよい(既定)。MATCH FULL は全列が NULL のときだけ免除。外部キーが参照する列は主キー・一意制約の列・部分的でない一意インデックスの列。MATCH SIMPLE という語はこのページになく、CREATE TABLE のリファレンスで既定の動作がそう呼ばれる。WebFetch で確認

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 孤児レコードの有無は、貼り付けた 2 つの CSV の範囲だけの結果です。データベース全体の整合性は、取り込み後の外部キー制約で確かめてください。
  • 顧客情報などを含む場合でも、ブラウザの外には送信されません。画面の共有やスクリーンショットにはご注意ください。