En informatique, un modèle de données est un modèle qui décrit de façon abstraite comment sont représentées les données dans une organisation métier, un système d'information ou une base de données.
Ce terme modèle de données peut avoir deux significations :
En général, un modèle de données théorique décrit ce qui suit :
Par exemple, dans le modèle relationnel, toutes les données sont représentées par des relations mathématiques (ou, pour être précis, une version légèrement extrapolée à partir de cela). Il existe un langage général de spécification des contraintes (first-order logic), et pour les manipulations et la recherche de données, on a introduit l'algèbre relationnelle, tuple calculus et domain calculus.
On peut trouver des informations complémentaires sur ce sujet dans système de gestion de base de données.
Une théorie de modèle de données définit généralement des niveaux de préoccupation. Par exemple, dans la méthode MERISE ou dans les modèles entité-relation employés dans les modèles (SSADM, SDM/S), on définit des niveaux de préoccupation tels que :
Le contenu des modèles pour chaque niveau peut varier selon la méthode.
Le cadre d'architecture Zachman contient également ces trois niveaux de préoccupation. Les données correspondent à la question " quoi ? " (le cadre Zachman est holistique, il existe donc cinq autres aspects).
Les niveaux logique et physique apparaissent dans DoDAF, ainsi que dans AGATE. Dans MODAF, ces niveaux de préoccupation n'apparaissent pas d'une façon évidente.
Alors que les modèles simples de données (ceux consistant en peu de tables ou d'objets) peuvent être créés « manuellement », les modèles plus compliqués nécessite une approche plus systématique. Dans la communauté de modélisation des bases de données relationnelles, la méthode du modèle entité-relation est utilisée pour établir un modèle de données spécifique au domaine. Dans la communauté de la programmation orientée objet, on préfère le langage UML (Unified Modeling Language) pour la création de modèles de données. Dans UML, les "diagrammes de classe" présentent beaucoup de ressemblances avec les diagrammes entité-relation, mais la plupart des outils UML, comme Rational Rose et Embarcadero Describe, n'ont pas la possibilité de supporter la traçabilité conceptuelle, logique, et physique. D'autres méthodes, comme functional data model et object role modeling (ORM), décrivent aussi des sous-ensembles ou des aspects d'un modèle de données et des applications qui sont basées sur lui.