URL : https://www.zumuzack.com/zack/table-define-tool/
Last Updated :
当ツールで生成される「HTMLテーブル定義書」の機能概要
検索モード
クリックで切り替え
→
→
→
→...
※入力文字は複数キーワード(スペース区切り)指定可能です
キーワード検索 ()
検索対象文字を含むテーブルを検索し、対象テーブル/ソースの一覧を表示します。
明細ページ内にある検索キーワードがハイライト表示されます。 (検索文字位置までスクロール移動します)
ID検索 ()
IDに特化した検索を行います("T_"から始まるテーブルを検索したい..など)。対象のテーブル/ビューIDが記載されたページの一覧になります。
テーブル一覧のテーブル物理名(id)と論理名 の左右位置を入れ替えて表示します。
検索結果のテーブル一覧をクリップボードにコピーします (以下、ペーストイメージ)
組織マスタ M0001
社員マスタ M0002
メーカーマスタ M0003
商品マスタ M0004
ユーザーマスタ M0005
注文テーブル T0001
注文明細テーブル T0002
明細「Code」列のボタンにカーソルを合わせるとコード定義情報がポップアップ表示されます。
※設定は「DatabaseDefineSubInfo.xlsx」(code.csv、col-code.csv、table-col-code.csv)で行います。
ポップアップクリックで表示テキスト内容をクリップボードにコピーします (以下、ペーストイメージ)
【C001:注文ステータス】
01:受付
02:確定
03:出荷済
04:受取済
※「DatabaseDefineSubInfo.xlsx」(Excelファイル)はメイン画面の「補助情報設定」ボタンで開きます
「DatabaseDefineSubInfo.xlsx」(join-table-col.csv、join-col.csv)で設定したリレーション情報を元に、明細ページ「Relation」列から関連テーブルへジャンプできます
テーブル名、テーブルID、コメント、カラム名、カラムID、カラムコメント等をクリックするとテキストがクリップボードにコピーされます
※「Copy To Clipboard」という文字が表示されます (しばらくしてフェードアウトします)
明細ヘッダ行の「CSV / TSV / ¥n」をクリックすると、各行のカラムID/カラム名を連結したテキストがクリップボードにコピーされます (以下、ペーストイメージ)
EMP_CD,EMP_NAME,EMP_EMAIL,ORG_CD,POST_CD,DEL_FLG,CRE_REC,CRE_EMP_CD,UPD_REC,UPD_EMP_CD
社員コード* 社員名 社員メールアドレス 組織コード 役職種別 削除フラグ(table-col.csv) 登録日(col.csv) 登録社員コード 更新日時 更新社員コード
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)
(SQLite)
(Oracle)
(SQLServer)
以下、ペーストイメージ (MySQL/MariaDB)
-- 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
ページヘッダ欄の
ボタンで外部キー制約情報のページが表示されます
表示されたページのボタンクリックで、外部キー制約再作成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
;
明細ページのボタンクリックで、外部キー制約の無効化/有効化コマンドを生成し、クリップボードにコピーします (以下、ペーストイメージ)
-- DISABLED FOREIGN KEY ---------------------------------------------------
SET FOREIGN_KEY_CHECKS = 0
;
-- ENABLED FOREIGN KEY ----------------------------------------------------
SET FOREIGN_KEY_CHECKS = 1
;
※外部キー制約が未設定のテーブルの場合は表示されません
ページヘッダ欄の
ボタンでトリガーソースのページが表示されます
ボタンクリックで表示しているトリガーDDLをクリップボードにコピーします
ページヘッダ欄の
ボタンでテーブルレイアウトをTSV編集してクリップボードへコピーします
Excelへの貼り付けを想定した機能です
※Excelへ貼り付けて、セル幅調整や背景色設定などすれば、簡易的なテーブル定義書として添付資料化できます
SQL文を生成し、クリップボードにコピーします。
select / insert / update / delete
値付きSQL文を一括生成します
ページヘッダ欄の
ボタンで作業欄を開いて、Excelで用意したデータを入力欄にTSVで貼り付けます。
生成されたSQLは、各ボタン(デフォルトINSERT文)で、それぞれのSQLに変換できます。
:SELECT文、
:INSERT文、
:UPDATE文、
:DELETE文
生成されたSQLはボタンでクリップボードにコピーすることが可能です
■CRLFチェックなし
INSERT INTO M0001 (ORG_CD,ORG_NAME,DEL_FLG,CRE_REC,CRE_EMP_CD,UPD_REC,UPD_EMP_CD) VALUES ('001','経理部',A,current_timestamp(6),'0438',current_timestamp(6),'0271');
■CRLFチェックあり
INSERT INTO M0001 (
ORG_CD
, ORG_NAME
, DEL_FLG
, CRE_REC
, CRE_EMP_CD
, UPD_REC
, UPD_EMP_CD
) VALUES (
'001' -- (PK) ORG_CD :char(2) :NotNull
, '経理部' -- ORG_NAME :varchar(50) :NotNull
, A -- DEL_FLG :tinyint(4) :Def[0]
, current_timestamp(6) -- CRE_REC :datetime(6) :Def[current_timestamp(6)]
, '0438' -- CRE_EMP_CD :varchar(4)
, current_timestamp(6) -- UPD_REC :datetime(6) :Def[current_timestamp(6)]
, '0271' -- UPD_EMP_CD :varchar(4)
);
※上記SQLは、数値型項目 DEL_FLG に'A'を設定してしまっている..というのが改行を入れることで一目瞭然。DELETE FROM M0001 WHERE ORG_CD = '001';
INSERT INTO M0001 (ORG_CD,ORG_NAME,DEL_FLG,CRE_REC,CRE_EMP_CD,UPD_REC,UPD_EMP_CD) VALUES ('001','経理部',0,current_timestamp(6),'0438',current_timestamp(6),'0271');
※既存レコードが削除されたしまうので、※具体的なおすすめ利用方法は こちら
ページヘッダ欄の
ボタンクリックで、テーブル生成DDL群(インデックス/外部キー制約/関連ソース含む)を生成し、クリップボードにコピーします
明細ページのボタンクリックで、対象テーブルを使用しているビューの一覧を生成し、クリップボードにコピーします (以下、ペーストイメージ。1行目は対象テーブルId、2行目以降が関連ビューリスト)
T0001
V0001
V0002
v0003
※ビューで参照されていないテーブル場合、このボタンは表示されません
ページヘッダ欄の
ボタンクリックで、DDLを生成し、クリップボードにコピーします。また
ボタンクリックで、使用テーブル一覧がクリップボードにコピーされます。 (以下、画面イメージとペーストイメージ。1行目は対象ソースId、2行目以降が関連テーブルリスト)
ボタンペーストイメージ
PROC_03
M0002
M0004
T0003
T0005
T0007
T0010
V0001
※ソースで使用されていないテーブル場合、このボタンは表示されません
補助情報で設定した "code.csv" シートの情報であるコード定義(区分定義)のリストページを表示します。
ボタンクリックで、使用テーブル一覧がクリップボードにコピーされます。
ボタンペーストイメージ
T0001
v0003