テーブル定義書生成ツール

【Database Define】

ver.6.2.0

URL : https://www.zumuzack.com/zack/table-define-tool/

Last Updated : 2021/11/17


概要

DBからテーブル情報を抽出して テーブル定義書 を自動生成します ( HTML版 / EXCEL版 )
生成される テーブル定義書 (HTML版) には、検索機能SQL(一括)生成DDL生成コード定義ポップアップインデックス / ビュー式 / 外部キー制約情報 の表示 といった機能が装備されています

(Microsoft Winodws用アプリケーションです)


インストール

ダウンロードした DatabaseDefine.zip を展開(解凍)します
(./DatabaseDefine/ というフォルダが生成されます)

アンインストール

./DatabaseDefine/ フォルダを削除します
 ※レジストリ操作はしていないので、フォルダ削除のみになります


目次

TOPへ


使い方

操作手順

  1. 起動する
    ./DatabaseDefine/bin/フォルダ内の DatabaseDefine.exe を起動します

  2. 動作設定する
    「動作設定」ボタンより Settings 画面を開き、DB接続情報 / 出力タイプ / オプション 等の内容を設定します

    (Settings)

    ※ここでは「Output」欄の「HTML」チェックを付けた (HTML版テーブル定義書生成の) 手順とします

  3. テーブル定義書を生成する
    「一括(①+②)」ボタンよりコンテンツ(テーブル定義書)を生成します

  4. テーブル定義書を起動する
    「コンテンツ参照」ボタンよりでコンテンツを参照(利用)します

         ↓ ※ブラウザが起動します


    テーブル定義書サンプル集 (リンク)


    目次へ


    コンテンツ機能

    当ツールで生成される「HTMLテーブル定義書」の機能概要

    検索

    • 検索モード
      クリックで切り替え
      →...
    • キーワード検索 ()
      検索対象文字を含むテーブルを検索し、対象テーブルの一覧を表示します
      明細ページ内にある検索キーワードがハイライト表示されます (検索文字位置までスクロール移動します)
    • テーブル検索 ()
      • 部分一致オプション ()
      • ビュー内使用テーブル対象オプション ()

    ※複数キーワード指定可

    コンテンツ機能一覧へ

    物理名/論理名 入れ替え

    テーブル一覧のテーブル物理名(id)と論理名 の左右位置を入れ替えて表示します。

    コンテンツ機能一覧へ

    検索結果一覧コピー (ボタン)

    検索結果のテーブル一覧をクリップボードにコピーします (以下ペーストイメージ)

    組織マスタ	M0001
    社員マスタ	M0002
    メーカーマスタ	M0003
    商品マスタ	M0004
    ユーザーマスタ	M0005
    注文テーブル	T0001
    注文明細テーブル	T0002
    

    コンテンツ機能一覧へ

    コード定義ポップアップ (ボタン)

    明細「Code」列のボタンにカーソルを合わせると「DatabaseDefineSubInfo.xlsx」(code.csvcol-code.csvtable-col-code.csv)で設定したコード定義情報がポップアップ表示されます

    ポップアップ内クリックで表示テキスト内容をクリップボードにコピーします (以下ペーストイメージ)

    【C001:注文ステータス】
    01:受付
    02:確定
    03:出荷済
    04:受取済
    

    ※「DatabaseDefineSubInfo.xlsx」(Excelファイル)はメイン画面の「補助情報設定」ボタンで開きます

    コンテンツ機能一覧へ

    リレーションリンク

    DatabaseDefineSubInfo.xlsx」(table-join.csvtable-join-fixed.csv)で設定したリレーション情報を元に、明細ページ「Relation」列から関連テーブルへジャンプできます

    コンテンツ機能一覧へ

    クリップボードコピー

    テーブル名、テーブルID、コメント、カラム名、カラムID、カラムコメントをクリックするとテキストがクリップボードにコピーされます
     
     ※「Copy To Clipboard」という文字が表示されます (しばらくしてフェードアウトします)
    コンテンツ機能一覧へ

    カラム文字連結コピー (ボタン)

    明細ヘッダ行の「CSV / TSV / ¥n」をクリックすると、各行のカラムID/カラム名を連結したテキストがクリップボードにコピーされます

    ■CSVボタン
    EMP_CD,EMP_NAME,EMP_EMAIL,ORG_CD,POST_CD,DEL_FLG,CRE_REC,CRE_EMP_CD,UPD_REC,UPD_EMP_CD
    ■TSVボタン
    社員コード*	社員名	社員メールアドレス	組織コード	役職種別	削除フラグ(table-col.csv)	登録日(col.csv)	登録社員コード	更新日時	更新社員コード
    ■¥nボタン
    EMP_CD
    EMP_NAME
    EMP_EMAIL
    ORG_CD
    POST_CD
    DEL_FLG
    CRE_REC
    CRE_EMP_CD
    UPD_REC
    UPD_EMP_CD
    

    コンテンツ機能一覧へ

    シーケンス型カラムコピー

    シーケンス型 (オートナンバー型) カラムの「Data Type」列(Postgres)、「Def」列(他DB)のリンクをクリックすると、カラム最大番号を取得するコマンドがクリップボードにコピーされます
     (MySQL/MariaDB)
     (PostgreSQL)
     (Oracle)
     (SQLServer)
    以下ペーストイメージ (MySQL)

    -- GET AUTO INCREMENT NEXT VALUE
    SELECT AUTO_INCREMENT
      FROM INFORMATION_SCHEMA.TABLES
     WHERE TABLE_NAME = 'T0006'
    ;
    -- GET AUTO INCREMENT MAX VALUE
    SELECT MAX(COL001) FROM T0006
    ;
    -- INTIAL(UPDATE!!) AUTO INCREMENT
    ALTER TABLE T0006 AUTO_INCREMENT = 1
    ;
    

    コンテンツ機能一覧へ

    インデックス表 (ボタン)

    ページヘッダ欄のボタンでインデックス情報のページが表示されます

    コンテンツ機能一覧へ

    ビュー式 (ボタン)

    ページヘッダ欄のボタンでビュー式のページが表示されます
    表示されたビュー式ページのボタンクリックで、ビュー生成DDLがクリップボードにコピーされます
    表示されたビュー式ページのボタンクリックで、使用テーブル一覧がクリップボードにコピーされます (以下ペーストイメージ。1行目は対象ビューId、2行目以降が使用テーブルリスト)

    V0001
    M0004
    M0005
    T0001
    T0002
    

    コンテンツ機能一覧へ

    外部キー制約(FK) (ボタン)

    ページヘッダ欄のボタンで外部キー制約情報のページが表示されます
    表示されたページのボタンクリックで、外部キー制約再作成DDL、制約一時解除コマンドがクリップボードにコピーされます (以下コマンドのペーストイメージ)

    -- DISABLED FOREIGN KEY ---------------------------------------------------
    SET FOREIGN_KEY_CHECKS = 0
    ;
    -- ENABLED FOREIGN KEY ----------------------------------------------------
    SET FOREIGN_KEY_CHECKS = 1
    ;
    
    -- DROP FOREIGN KEY -------------------------------------------------------
    ALTER TABLE T0004_WK DROP FOREIGN KEY FK_T0004_WK
    ;
    -- ADD FOREIGN KEY --------------------------------------------------------
    ALTER TABLE T0004_WK ADD CONSTRAINT FK_T0004_WK FOREIGN KEY (COL01,COL02)
      REFERENCES T0004 (COL001,COL002)
        ON DELETE RESTRICT
        ON UPDATE SET NULL
    ;
    

    コンテンツ機能一覧へ

    外部キー制約(FK)解除 (ボタン)

    明細ページのボタンクリックで、外部キー制約の無効化/有効化コマンドを生成し、クリップボードにコピーします (以下コマンドのペーストイメージ)

    -- DISABLED FOREIGN KEY ---------------------------------------------------
    SET FOREIGN_KEY_CHECKS = 0
    ;
    -- ENABLED FOREIGN KEY ----------------------------------------------------
    SET FOREIGN_KEY_CHECKS = 1
    ;
    

    ※外部キー制約が未設定のテーブルの場合は表示されません
    コンテンツ機能一覧へ

    簡易SQL生成 ( ボタン)

    SQL文を生成します
    select / insert / update / delete

    コンテンツ機能一覧へ

    SQL一括生成 (ボタン)

    値付きSQL文を一括生成します
    ページヘッダ欄のボタンで作業欄を開いて、Excelで用意したデータを入力欄にTSVで貼り付けます。
    生成されたSQLは、各ボタン(デフォルトINSERT文)で、それぞれのSQLに変換できます。
      SEL:SELECT文、INS:INSERT文、UPD:UPDATE文、DEL:DELETE文
    生成されたSQLはボタンでクリップボードにコピーすることが可能です

    生成したSQLで実行エラーになってしまった場合、入力欄下の チェックでSQLを見やすく(改行付き)すると、原因究明しやすくなります

    コンテンツ機能一覧へ

    DDL生成 (ボタン)

    ページヘッダ欄のボタンクリックで、テーブル生成DDL群(インデックス/外部キー制約/関連ビュー含む)を生成し、クリップボードにコピーします

    コンテンツ機能一覧へ

    ビューリストコピー (ボタン)

    明細ページのボタンクリックで、対象テーブルを使用しているビューの一覧を生成し、クリップボードにコピーします (以下ペーストイメージ。1行目は対象テーブルId、2行目以降が関連ビューリスト)

    T0001
    V0001
    V0002
    v0003
    

    ※ビューで使用されていないテーブル場合、このボタンは表示されません
    コンテンツ機能一覧へ

    Excel式生成 (ボタン)

    Excel式(Insert文/Update文の生成)を生成し、クリップボードにコピーします

    コンテンツ機能一覧へ


    コンテンツ機能の詳細は以下サイトをご覧ください
    URL : https://www.zumuzack.com/zack/table-define-tool/contents-function/


    目次へ


メイン画面:Database Define

設定情報:Information【①】
設定:Settings【②】
実行:Execution【③】