sqlt-diagram はPerl製のオープンソース・ソフトウェアです。データベース構造を示すスキーマからイメージファイルを作成するCUIのソフトウェアになります。面倒な設定は必要ありません。テーブル構造やテーブル同士の相関を気軽に確認できる便利なソフトウェアです。

sqlt-diagram の主な特徴

1) 面倒な設定は不要

コマンドラインでデータベースの種類、出力先、スキーマを記したファイル名を指定するだけです。以下は実行例となります。データベースは SQLite で、PNG形式の画像を出力します。

sqlt-diagram -d=SQLite -o=sample.png sample.sql

2) 画像は PNG/JPEGが選択可能

既定値はPNG形式となります。

3) フォント・サイズを4種類

small、medium、large、huge の4種類を指定できます。既定値は medium です。細かすぎず、かといって大雑把すぎず、とても便利なオプションです。

以下に例を示します。3つのテーブルを定義したスキーマを例にします。

create table FLOWER (
    name    TEXT  PRIMARY KEY,
    area    TEXT
);

create table BOOKS (
    name    TEXT,
    title   TEXT,
    FOREIGN KEY(name) REFERENCES FLOWER(name)
);

create table IMAGE (
    name        TEXT  PRIMARY KEY,
    filename    TEXT
);

フォントサイズを small にして画像を作成します。実行例と出力結果は次の通りです。

sqlt-diagram -d=SQLite -o=sample_small.png sample.sql --color --font-size small

一番小さなフォント・サイズの出力例

フォントサイズを huge にして画像を作成します。実行例と出力結果は次の通りです。

sqlt-diagram -d=SQLite -o=sample_huge.png sample.sql --color --font-size huge

一番大きなフォント・サイズの出力例

4) 便利なオプション

例えば色を付けることができます。この他にもオプションがあります。

Options:

    -o|--output        Output file name (default STDOUT)
    -i|--image         Output image type ("png" or "jpeg," default "png")
    -t|--title         Title to give schema
    -c|--cols          Number of columns
    -n|--no-lines      Don't draw lines
    --font-size        Font size ("small," "medium," "large," or "huge,"
                       default "medium")
    --gutter           Gutter size between tables
    --color            Add colors
    --show-fk-only     Only show fields that act as primary
                       or foreign keys

    --natural-join     Perform natural joins
    --natural-join-pk  Perform natural joins from primary keys only
    -s|--skip          Fields to skip in natural joins
    --skip-tables      Comma-separated list of table names to exclude
    --skip-tables-like Comma-separated list of regexen to exclude tables
    --debug            Print debugging information

sqlt-diagram のインストール

sudo cpanm SQL::Translator でインストールできます。しかし、環境次第で GD.pm を要求されたり、次のようなエラー・メッセージを出力します。

could not find gdlib-config in the search path.

この場合は、以下を実行して環境を整えます(Ubuntu/Debianの場合)。

sudo apt-get -y install libgd2-xpm-dev build-essential
sudo cpanm GD

データベース設計や仕様の伝達では、ダイアグラムも利用します。担当者同士で同じソフトウェアを使っていてもいなくても、画像やイラストを通して認識し合う場面も少なくはないと思います。そんな時に活躍する便利なソフトウェアではないでしょうか。

sqlt-diagram はPerl製、GPLのオープンソース・ソフトウェアです。

sqlt-diagram - Automatically create a diagram from a database schema

source code