コンテンツ機能

生成される「テーブル定義書」の機能説明ページです
コンテンツ(テーブル定義書)サンプル ver.6.2.0

※ただいま Ver.6.2.0 用ドキュメント整備中です(2021/11/17)。古いバージョンの内容が残っていたり、リンク先が未作成であったりする箇所がありますがご容赦ください。
最新の機能についてはマニュアル(アプリにも同梱済)をご覧ください。

Ver.6.2.0 マニュアル

  • 画面構成

    • ① 検索機能欄
        検索対象文字を入力し検索します。
    • ② テーブル一覧 兼 検索結果一覧
        テーブル一覧を表示します。検索機能を使用した場合は検索結果が表示されます。
    • ③ テーブル情報ヘッダ欄
         テーブルの基本的な情報を表示します。インデックス表示やビュー表示、SQL文の生成/編集機能、Excel式生成機能のボタンもついています。
    • ④ テーブル情報明細欄
        テーブルのカラム情報の一覧を表示する欄です。項目が多い場合は、タイトル行固定でスクロールします。

  • 機能一覧
  • 機能説明
    • 検索結果一覧コピー機能
      検索結果といっしょに表示されるボタンで、下記のようなタブ区切り形式の検索結果がクリップボードにコピーされます。

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

      機能一覧へ

    • リレーションリンク機能
      他テーブルへのリレーションリンクを張ることができます。

      table-join.csv / table-join-fixed.csv の設定が必要

      機能一覧へ

    • コード定義ポップアップ機能
      明細のCode列のにカーソル当てると、コード定義情報がポップアップ表示されます。

      code.csv / col-code.csv / table-col-code.csv の設定が必要

      機能一覧へ

    • クリップボードコピー機能
      ヘッダ部のテーブルID.、テーブル名、説明文、あるいは明細のカラムID.、カラムコメント列をクリックするとその文字列がクリップボードにコピーされます。
      SQL文生成機能やビュー式、カラム文字連結などを含めて、このクリップボードコピー機能を利用した場合、ヘッダ部のテーブル説明(Desc.)の最右端に「Copy To Clipboard」のメッセージが表示されます。


      機能一覧へ

    • カラム文字連結コピー機能
      カラム名、カラムID.を カンマ(CSV)、タブ(TSV)、改行(¥n)で連結してクリップボードにコピーする機能になります。ドキュメントやExcelを使ったデータ管理などのタイトル行として利用できます。

      -- ■CSVボタン
      組織コード,組織名,削除フラグ,登録日,登録社員コード,更新日,更新社員コード
      
      -- ■TSVボタン ※PK項目に * 文字(アスタリスク)が付加されます
      組織コード*	組織名	削除フラグ	登録日	登録社員コード	更新日	更新社員コード
      
      -- ■¥nボタン
      組織コード
      組織名
      削除フラグ
      登録日
      登録社員コード
      更新日
      更新社員コード
      

      TSVボタンはExcelで貼り付けを行うことを想定した機能になります。


      機能一覧へ

    • シーケンス型 現在値取得&初期化コマンド生成機能
      シーケンス型項目の現在値の取得および初期化するコマンドを生成し、クリップボードにコピーします。(以下データベース別操作。枠線内をクリックします。)
      ●MySQL / MariaDB の場合

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

      ●PostgreSQL の場合

      -- GET SEQUENCE ID
      select REPLACE(REPLACE(column_default,'nextval(''',''), '''::regclass)', '') SEQ_ID
        from information_schema.columns
       where table_name in ('T0005','t0005')
         and column_name in ('SEQ_NO', 'seq_no')
      ;
      -- GET SEQUENCE VALUE
      select last_value from [SEQ_ID]
      ;
      -- OR
      select max(SEQ_NO) from T0005
      ;
      -- INTIAL(UPDATE!!) SERIAL
      select setval('[SEQ_ID]', 1, false)
      ;
      

      ●Oracle の場合 (現在値取得のみ。「BY DEFAULT」「ALWAYS」の2種類があります。)

      -- GET SEQUENCE ID
      SELECT DATA_DEFAULT
        FROM USER_TAB_COLUMNS
       WHERE TABLE_NAME = 'T0007'
       AND COLUMN_NAME = 'SEQ_NO'
      ;
      -- GET IDENTITY MAX VALUE
      SELECT SEQUENCE_NAME
            ,INCREMENT_BY
            ,CACHE_SIZE
            ,LAST_NUMBER
        FROM USER_SEQUENCES
       WHERE SEQUENCE_NAME = '[SEQ_ID]'
      -- OR
      SELECT MAX(SEQ_NO) FROM T0007
      ;
      

      ●SQL Server の場合

      -- GET IDENTITY MAX VALUE
      SELECT IDENT_CURRENT('T0011')
      ;
      -- INTIAL(UPDATE!!) IDENTITY
      DBCC CHECKIDENT(T0011, RESEED, 1)
      ;
      

      機能一覧へ

    • インデックス表機能
      インデックスがある場合は欄のボタンで詳細を表示することができます。インデックス詳細のボタンで元のテーブル詳細に戻ります。


      機能一覧へ

    • ビュー式機能
      ビューの場合、欄のボタンでビュー式を表示することができます。ビュー式のコピー、参照テーブルへのリンク参照が行えます。
      ビュー式ページのボタンで元の明細画面に戻ります。

      ※ビュー内のテーブルID は明細ページにジャンプするリンクになっています。

      明細画面欄のボタンでDDL文を生成しクリップボードにコピーします。

      -- DROP VIEW ( V0001 ) ----------------------------------------------------
      DROP VIEW IF EXISTS V0001 CASCADE
      ;
      
      -- CREATE VIEW ( V0001 ) --------------------------------------------------
      CREATE VIEW V0001 AS
      SELECT T1.ORDER_NO AS ORDER_NO,T2.GOODS_CD AS GOODS_CD,M4.GOODS_NAME AS GOODS_NAME,T1.USER_ID AS USER_ID,M5.USER_NAME AS USER_NAME FROM (((T0001 T1 JOIN T0002 T2 ON(T1.ORDER_NO = T2.ORDER_NO)) LEFT JOIN M0004 M4 ON(T2.GOODS_CD = M4.GOODS_CD)) LEFT JOIN M0005 M5 ON(T1.USER_ID = M5.USER_ID))
      ;
      

      明細画面欄のボタンでビューが参照しているテーブルIDの一覧をクリップボードにコピーします。(1行目はビューID。2行目から使用テーブルID) 

      V0001
      M0004
      M0005
      T0001
      T0002
      

      機能一覧へ

    • 外部キー制約(FK)参照/DDL生成機能
      対象テーブルに外部キー制約(FOREIGN KEY)が設定されている場合、欄のボタンで外部キー制約情報を表示することができます。参照する側 / 参照される側の情報を表示できます。
      外部キー制約ページのボタンで元の明細画面に戻ります。


      また外部キー制約画面欄のボタンでDDL文(DROP+ADD)を生成しクリップボードにコピーします。

      -- DROP FOREIGN KEY -------------------------------------------------------
      ALTER TABLE M0003 DROP FOREIGN KEY FK_M0003_01
      ;
      ALTER TABLE M0003 DROP FOREIGN KEY FK_M0003_02
      ;
      ALTER TABLE M0003_WK DROP FOREIGN KEY FK_M0003_WK
      ;
      ALTER TABLE M0004 DROP FOREIGN KEY FK_M0004_01
      ;
      
      -- ADD FOREIGN KEY --------------------------------------------------------
      ALTER TABLE M0003 ADD CONSTRAINT FK_M0003_01 FOREIGN KEY (CRE_EMP_CD)
        REFERENCES M0002 (EMP_CD)
      ;
      ALTER TABLE M0003 ADD CONSTRAINT FK_M0003_02 FOREIGN KEY (UPD_EMP_CD)
        REFERENCES M0002 (EMP_CD)
      ;
      ALTER TABLE M0003_WK ADD CONSTRAINT FK_M0003_WK FOREIGN KEY (MAKER_CD,TEL_NO,CAPITAL_CD)
        REFERENCES M0003 (MAKER_CD,TEL_NO,CAPITAL_CD)
      ;
      ALTER TABLE M0004 ADD CONSTRAINT FK_M0004_01 FOREIGN KEY (MAKER_CD)
        REFERENCES M0003 (MAKER_CD)
      ;
      

      機能一覧へ

    • 外部キー制約(FK)解除
      対象テーブルに外部キー制約(FOREIGN KEY)が設定されている場合、欄のボタンで外部キー制約を解除するコマンドを生成し、クリップボードにコピーします。

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

      機能一覧へ

    • 簡易SQL文生成機能
      欄の ボタンクリックで該当テーブルのSELECT/INSERT/UPDATE/DELETE文がクリップボードにコピーされます。

      -- ■サンプル(メモ帳などにペースト)
      SELECT *
        FROM M0001
       WHERE ORG_CD = ''     -- (PK)char(2)
       LIMIT 500
      ;
      
      INSERT INTO M0001 (
             ORG_CD
           , ORG_NAME
           , DEL_FLG
           , CRE_REC
           , CRE_EMP_CD
           , UPD_REC
           , UPD_EMP_CD
      ) VALUES (
             ''    -- ORG_CD : char(2) :NotNull (PK)
           , ''    -- ORG_NAME : varchar(50) :NotNull 
           , ''    -- DEL_FLG : tinyint(4) :Def[0] 
           , ''    -- CRE_REC : datetime(6) :Def[current_timestamp(6)] 
           , ''    -- CRE_EMP_CD : varchar(4) 
           , ''    -- UPD_REC : datetime(6) :Def[current_timestamp(6)] 
           , ''    -- UPD_EMP_CD : varchar(4) 
      );
      

      加工しやすいように項目情報も付加しています。

      機能一覧へ

    • SQL一括生成機能  (イチ押し!)
      Excelなどで大量に作ったテーブルデータを入力欄に貼り付けて、一気にSQL文を生成する機能です。(操作イメージ動画)
      ボタン(①)のクリックの繰り返しで、欄(②)の表示/非表示が切り替わります


      欄に用意したExcelデータのセル(TSV)をコピー&ペーストすることで、任意のSQL (欄のボタンで選択 ) を欄に生成できます。

      ボタンで生成SQLをクリップボードにコピーすることができます。コピペするデータ(Excelセル)を増やせば、何百件ものSQL文を一気に生成することが可能です。(操作イメージ動画)

      ※メモ帳にペーストしたイメージ


      また、以下オプションを選択することでSQL文を見やすくしたり入力を楽に行うことができるようになります。


        • SQL文を改行を挟んだ見やすい形に整形します。生成したSQLを実行したらエラーになってしまった場合の原因究明に重宝します。(「数値型の項目にアルファベット文字を指定してしまっていた」などが発見しやすくなります )

          -- ■ CRLFチェックなし (1行構成)
          INSERT INTO M0001 (ORG_CD,ORG_NAME,DEL_FLG,CRE_REC,CRE_EMP_CD,UPD_REC,UPD_EMP_CD) VALUES ('501','経営改革推進課',A,current_timestamp(6),'3872',current_timestamp(6),'3872');
          --★どこに誤りがあるSQLなのか見つけづらい
          -- ■ CRLFチェックあり (改行入りで項目補助情報付加)
          INSERT INTO M0001 (
                 ORG_CD
               , ORG_NAME
               , DEL_FLG
               , CRE_REC
               , CRE_EMP_CD
               , UPD_REC
               , UPD_EMP_CD
          ) VALUES (
                 '501'     -- (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)]
               , '3872'     --  CRE_EMP_CD :varchar(4)
               , current_timestamp(6)     --  UPD_REC :datetime(6) :Def[current_timestamp(6)]
               , '3872'     --  UPD_EMP_CD :varchar(4)
          );
          -- ★数値型項目"DEL_FLG"の値に"A"が設定されいるという誤りが一目瞭然
                                      

        • コピー元のExcel上でデータをすべてのカラムで指定しなくてもよいように、データが空欄の場合はカラムデフォルト値がSQLに組み込まれます。
          例えば「登録日時」や「更新日時」というタイムスタンプ型のカラムがあり、デフォルト値としてシステム日時(SYSDATE())が設定してあった場合、コピー元のEXCELで空欄にしたままコピペしてSQL生成すると、自動的に「SYSDATE()」などのデフォルトがセットされたSQL文が生成されます。

        • 入力データの区切り文字をタブ文字のみとします。チェックを外した場合は、タブとカンマをデータの区切り文字とします。

        • INSERT文の生成と同時に同じキーのDELETE文も生成します。データの微調整で何度も同じキーデータを登録したい場合に重宝します。

        • 登録(INSERT)したいデータが既に存在するかどうか確認したい場合、SELECT文を発行して確認することになると思いますが、入力データが複数行の場合、このチェックをつけることで、入力したデータに対する複数のSELECT文を UNION でつなげた 1つのSQL文として生成することができます(1つのSQLとして実行されるため、結果が1つになるので見やすくなります)。生成したINSERT文を実行する前の確認用SELECT文として重宝します。(このUNION SELECTが 0件であれば「生成したINSERT文は重複エラーにならずに実行可」という判断ができると思います)

      SQL一括生成機能 : 操作イメージ(動画)

      機能一覧へ

    • DDL生成機能 (一連DDL群) 
      欄のボタンクリックで「既存テーブルから新テーブルへデータ移行込みでテーブルを再作成」というシナリオを想定にしたDDL群を生成します。

      具体的には以下DDL群を生成します。

        1. DROP FOREIGN KEY : 外部キー制約解除(制約がある場合)
        2. TABLE RENAME : 既存テーブルをリネーム(前後に件数取得SQL)
          (TB_xxx → TB_xxx_TEMP)
        3. DROP TABLE : 既存テーブル削除(データ移行しない場合の利用を想定)
        4. CREATE TABLE : 新テーブルを生成
        5. COMMENT TO TABLE : テーブル/項目のコメント情報の生成
        6. INSERT [TB_xxx] SELECT [TB_xxx_TEMP] : 既存テーブル(~_TEMP) のデータを新テーブルへ移行
          (新旧テーブル件数取得SQL付加+COMMIT文)
        7. CREATE INDEX : インデックス生成
        8. ADD FOREIGN KEY : 外部キー制約設定(制約がある場合)
        9. DROP TABLE : 既存テーブル(~_TEMP)の削除
        10. TABLE RENAME : リカバリ
          (TB_xxx_TEMP → TB_xxx)
          上記DDLが何かしらエラーになった場合を想定したリカバリDDL

      • サンプルDDL(テーブル)
        サンプルDDL(ビュー)
      • ※DBの種類により生成される書式やコマンド数は多少異なります

      機能一覧へ

    • ビューリストコピー
      明細画面欄のボタンで対象テーブルを参照しているビューIDの一覧をクリップボードにコピーします。(1行目はテーブルID。2行目から使用ビューID)

      T0001
      V0001
      V0002
      v0003
      

      機能一覧へ

    • Excel式生成機能
      Excel式を生成します。
      欄のボタンで入力欄が開閉します。

      INSERT文を生成するExcel式を生成します
      UPDATE文を生成するExcel式を生成します
      「Start Cell」はExcel式用の先頭(開始)セルを指定します(デフォルトA5セル)




      Excel貼り付け用のテーブル明細イメージ(TSV)をクリップボードにコピーします

      Excelにペースト (資料の補足としてテーブルレイアウトを付加したい場合など)

      機能一覧へ