【でーたでぃくしょなり】

データディクショナリ とは?

最終更新:
💡 データの「取扱説明書」。名前・意味・ルールを辞書のように整理する

データ項目の名前・型・意味・制約などの定義情報をまとめた辞書。チームで共有する文書を指す場合と、DBMSが管理するテーブル・列などのメタデータを指す場合がある。

📌 このページのポイント
usersテーブルの項目を説明する辞書 意味 列名 型・ルール 利用者ID user_id INT 主キー・NULL不可 表示名 user_name VARCHAR(50) NULL不可 メール email VARCHAR(255) 一意・NULL不可 登録日時 created_at DATETIME NULL可 値の一覧ではなく、データの定義情報 データの構造や意味が変わったら更新
利用者データの定義を説明する辞書の例。型・制約はこの設計例の設定で、実際の利用者名やメールアドレスを並べた表ではありません。
ひよこ ひよこ
データディクショナリって、データの辞書ってこと?
ペンギン先生 ペンギン先生
そうだよ。たとえばuser_nameという列について、型はVARCHAR(50)、意味は利用者の表示名、NULLは不可、といった定義を整理するんだ。実際の利用者名の一覧ではなく、そのデータをどう扱うかの情報だよ。
ひよこ ひよこ
なんでそんなものが必要なの?
ペンギン先生 ペンギン先生
顧客名とユーザー名が同じ意味なのか、同じ名前の列が別の意味なのか、名前だけでは判断できないことがあるよね。定義を共有すると認識のずれを減らせる。単位や許される値も書いておくと、システム連携のときにも役立つよ。
ひよこ ひよこ
ExcelやSpreadsheetで管理してもいいの?
ペンギン先生 ペンギン先生
表計算で管理する方法もあるよ。必要な項目を整理でき、関係者が参照・更新できることが大切なんだ。DBMSの内部にもテーブルや列の定義を管理する機能があるけれど、業務上の意味や運用ルールまで自動で書きそろうとは限らないよ。
ひよこ ひよこ
RDBMSの内部のデータディクショナリってどうやって見るの?
ペンギン先生 ペンギン先生
たとえばOracleのDBA_TAB_COLUMNSでは列の情報を確認できるけれど、DBA_のビューには管理者向けの権限が必要だよ。USER_やALL_のビューでは自分の所有するものや参照できるものを調べられる。MySQLではINFORMATION_SCHEMAからメタデータを参照するんだ。
ひよこ ひよこ
データディクショナリを作るときのコツってあるの?
ペンギン先生 ペンギン先生
まず主要な項目の実際の列名と業務上の意味を対応させるとよいね。型やNULLの可否、単位や値のルールも必要に応じて記載しよう。作ったままにせず、データ構造や意味が変わったら辞書も更新することが大切だよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「データディクショナリ」って出てきたら「データ項目の名前・意味・ルールをまとめた辞書」と思えばだいたいOK!
📖 おまけ:英語の意味
「Data Dictionary」 = データの辞書
💬 Dictionaryは「辞書」。データの意味や定義を辞書のように引けるようにしたものだよ

参考資料

← 用語集にもどる