参照先の表が入力にない
orders だけを貼り付けて、参照先の users の定義を含めなかった例です。関係の線は引けますが、参照先の表の中身が分からないことを警告で示します。
入力
CREATE TABLE 文
CREATE TABLE orders (id int PRIMARY KEY, user_id int NOT NULL REFERENCES users (id));
結果
エラー 0 件・警告 1 件・情報 0 件
指摘(エラー・警告・情報)
- 警告 1 行目 orders の外部キーの参照先の表 users の CREATE TABLE が入力にありません。図には列のない表として現れます。
| 表 | 1 個 |
|---|---|
| 列 | 2 個 |
| 関係 | 1 本 |
Mermaid の erDiagram
erDiagram
orders {
int id PK
int user_id FK
}
users ||..o{ orders : "user_id"検算(この結果になる理由)
user_id は NOT NULL の外部キーで、users ||..o{ orders の関係を書きます。ただし users の CREATE TABLE が入力にないため、列のない表として現れる旨の警告が 1 件出ます。REFERENCES の列を省いた場合は参照先の主キーを指します。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 完全な SQL の構文解析はしません。CREATE TABLE の ( ) の中の列の並びだけを読み、CREATE TABLE AS SELECT・PARTITION OF・継承などは判定不能と示します。
- ALTER TABLE で後から追加した主キーや外部キーは読みません。CREATE TABLE の中に書いた形で貼り付けてください。
- スキーマ名は図で省略するため、別のスキーマの同名の表は区別できません。複数列の UNIQUE には UK の印を付けません。
- 日本語など英数字以外の表名・列名は、Mermaid の描画側での扱いまでは確認していません。描画できない場合は英数字の名前に置き換えてください。
ご利用にあたって
- 出力は設計の確認用の図の元データです。実際のデータベースの定義と食い違いがないか、本番の変更前に確認してください。
- SQL の方言によっては CREATE TABLE の書き方が異なります。PostgreSQL 以外の SQL は正しく読めない場合があります。