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

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

💡 データの「取扱説明書」。名前・意味・ルールを辞書のように整理する
📌 このページのポイント
データディクショナリのイメージ 論理名 物理名 データ型 NULL 説明 ユーザーID user_id INT NOT NULL 主キー、自動採番 ユーザー名 user_name VARCHAR(50) NOT NULL 表示名 メール email VARCHAR(255) NOT NULL 一意制約あり 登録日 created_at DATETIME NULL可 登録日時 テーブル: users データディクショナリのメリット ✔ データの意味・ルールを全員で共有できる ✔ 命名の揺れや重複を防げる
データディクショナリのイメージ
ひよこ ひよこ

データディクショナリって、データの辞書ってこと?

ペンギン先生 ペンギン先生

そのとおり!たとえば『user_name』というカラムは、型はVARCHAR(50)で、意味は『ユーザーの表示名』で、NULLは不可…みたいに、データ項目の詳細をまとめた辞書だよ

ひよこ ひよこ

なんでそんなものが必要なの?

ペンギン先生 ペンギン先生

チームで開発していると、同じデータなのに人によって呼び方が違ったりするんだ。『顧客名』と『ユーザー名』が実は同じものだったり、逆に同じ名前で違うデータだったり。データディクショナリがあれば混乱を防げるよ

ひよこ ひよこ

ExcelやSpreadsheetで管理してもいいの?

ペンギン先生 ペンギン先生

小規模なプロジェクトならそれでも十分だよ。大規模になるとデータカタログツールを使ったりするね。あとRDBMSには内部的にデータディクショナリを持っていて、テーブルカラムの情報を自動で管理してくれるんだ

ひよこ ひよこ

RDBMSの内部のデータディクショナリってどうやって見るの?

ペンギン先生 ペンギン先生

たとえばOracleならDBA_TABLESやDBA_TAB_COLUMNSというビューで見られるし、MySQLならINFORMATION_SCHEMAを使うよ。これらはシステムカタログとも呼ばれるね

ひよこ ひよこ

データディクショナリを作るときのコツってあるの?

ペンギン先生 ペンギン先生

最初から完璧を目指さず、まずは主要なテーブルから始めるのがコツだよ。あと『論理名(日本語の意味)』と『物理名(実際のカラム名)』の両方を記載しておくと、業務担当者とエンジニアの両方が読めるドキュメントになるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「データディクショナリ」って出てきたら「データ項目の名前・意味・ルールをまとめた辞書」と思えればだいたいOK!
📖 おまけ:英語の意味
「Data Dictionary」 = データの辞書
💬 Dictionaryは「辞書」。データの意味や定義を辞書のように引けるようにしたものだよ
← 用語集にもどる