データ辞書

データ辞書（データじしょ、）は、IBM Dictionary of Computing の定義によれば、「意味、他のデータとの関係、起源、用途、フォーマットなどのデータに関する情報を集中的に保管したもの」であるACM, IBM Dictionary of Computing, 10th edition, 1993。データベースやデータベース管理システム (DBMS) に密接に関連しており、以下のような意味で使われる。

 データベースやデータベース群を解説した文書
 DBMSの構造を決定するのに必要な必須コンポーネント
 DBMS固有のデータ辞書を拡張または代替するミドルウェア

 文書としてのデータ辞書 
データベースのユーザーとアプリケーション開発者には、データベースの構造・内容・規約をカタログ化したデータ辞書文書が役に立つTechTarget, SearchSOA, What is a data dictionary?。一般に各データベースのテーブルとフィールドの名前と説明を含み、データ型や各データ要素の長さといった詳細が記述されている。そのような文書をどういう詳細さで記述すべきかという一般的標準は存在しないが、基本的にデータ自体ではなくデータベースの構造についてのメタデータについて記述すべきものである。データ辞書文書はデータ要素がどのように符号化されるかという情報も含む。うまく設計されたデータ辞書文書があると、複雑なデータベースや大規模な連合データベースで一貫性を保ちやすくなるAHIMA Practice Brief, Guidelines for Developing a Data Dictionary, Journal of AHIMA 77, no.2 (February 2006): 64A-D.。

 ミドルウェア 
データベースアプリケーションを構築する際、データ辞書ソフトウェアの層を追加することもある。これは一種のミドルウェアであり、基盤となるDBMSデータ辞書とやり取りする。このような上位のデータ辞書は、DBMS固有の下位のデータ辞書では不可能な機能や柔軟性を提供できる。DBMS固有のデータ辞書はそのDBMSの基本機能をサポートするためにあるもので、アプリケーションの要求に応えるものではない。例えば上位のデータ辞書を使えば、同じデータベースを共有する複数のアプリケーションに対して、それぞれ最適化された実体関連モデルを提供できるU.S. Patent 4774661, Database management system with active data dictionary, 11/19/1985, AT&T。データ辞書の拡張は、分散データベースに対するクエリ最適化を支援することもできるU.S. Patent 4769772, Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases, 02/28/1985, Honeywell Bull。

RAD向けのソフトウェアフレームワークは、高度なデータ辞書機能を含むことがあり、データベース自体やメニュー、フォーム、レポートといったデータベースアプリケーションのコンポーネントの構築に要するコード量を大幅に削減できる。例えばPHPLensは、複数のデータベースでの移植性を考慮してテーブル、インデックス、外部キーに制約を加えつつ自動生成するPHPクラスライブラリを備えているPHPLens, ADOdb Data Dictionary Library for PHP。RADICOREツールキットの一部であるPHPベースのデータ辞書機能は、データの妥当性チェックや複雑なJOINを備えたメニューやフォームのオブジェクトプログラム、スクリプト、SQLコードを自動生成するRADICORE, What is a Data Dictionary?。ASP.NET環境向けの  Base One のデータ辞書は、データベースの自動生成、データ妥当性チェック、性能強化（キャッシュとインデックス活用）、セキュリティ、データ型拡張といった機能を提供するBase One International Corp., Base One Data Dictionary。

 関連項目 
データモデリング
ISO/IEC 11179
:en:IEC Common Data Dictionary (IEC 61360-2/ISO 13584-42)

 参考資料 
 データ利活用のための基礎知識 勉強会資料 IEC 61360 Common Data Dictionary（CDD) - 情報処理推進機構 社会・産業のデジタル変革 データ利活用の推進 の公開資料。

 脚注 

 外部リンク 
Yourdon, Structured Analysis Wiki, Data Dictionaries

Category:コンピュータのデータ
Category:データモデリング
Category:知識表現
Category:メタデータ
Category:データ構造