Data model

A data model describes which entities a company records – customer, order, product, project – what properties they have, and how they relate to one another. It determines what can be found out from the data and what cannot: if the model does not capture which salesperson closed a deal, no report will be able to calculate it after the fact. A good model has unambiguous keys by which records are identified, records events together with the time they occurred, and distinguishes state from the history of changes. When designing it, it is worth starting from the questions the company needs to be able to answer, not from what the system offers. Changes to the model tend to be expensive later, because they affect all the reports and integrations built on top of it, so it is worth devoting time to it before a system is implemented.

See also: Data dictionary, Data Warehouse, Master data management.