Data dictionary

From Helpful
Jump to navigation Jump to search
This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.


In programming (and the general sense of storing data), a data dictionary is the part of a data store that spends time on describing the structure of what it stores.

It often refers specifically to that metadata we keep, whether that is in a separate document, or a part of the store itself.


(not to be confused with dictionary used in the sense of a hash map)


Perhaps best known around databases, where it often refers to theinformation about tables, columns, data types, and whatever other objects it has - views, sequences, etc.

In this context, things that alter structure will be reflected in the data dictionary.


In databases this is also so obvious to do (also to later interrogate what a database look like) that we often just assume that's always there, and rarely name it as an explicit feature.

The name seems to come up most when making architectural decisions, or describing them(verify), e.g. in APIs (though where they are static they may be called schema instead, when that term is not specifically avoided).


It may also refer to something that extends the native typing / data dictionary of a system.


Arguably ORMs are driven by data dictionaries,[1] though that statement begs quesions like how intrinsically part of the store that data dictionary is or isn't -- because ORMs can go out of step with the database they were once based on and/or implicitly demand it won't change.