- Modèle de données
-
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 :
- Un modèle de données théorique, i.e. une description formelle ou un modèle mathématique. Voir aussi modèle de base de données
- Un modèle de données instance, i.e. qui applique un modèle de données théorique (modélisation des données) pour créer un modèle de données instance. Voir infra.
Sommaire
Modèle de données théorique
Composantes
En général, un modèle de données théorique décrit ce qui suit :
- Structure de donnée : il définit comment les données sont organisées (hiérarchique, réseau, relationnel, orienté objet).
- Intégrité des données : il fournit un langage ou des règles implicites pour la maintenance de l'intégrité des données dans le modèle de données instance.
- Manipulation des données : elle fournit un langage pour créer, mettre à jour et supprimer les données.
- Recherche de données : il fournit un langage pour chercher les données.
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.
Niveaux de préoccupation
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 :
- Conceptuel,
- Logique,
- Physique.
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.
Modèle de données instance (application à un domaine spécifique)
La modélisation des données est le processus par lequel on crée un modèle de données instance en appliquant une théorie de modèle de données. On emploie cette méthode pour se conformer à des exigences ou des attentes d'entreprises ou d'organismes publics.
Les besoins sont généralement exprimés à travers un modèle conceptuel de données et/ou un modèle logique de données. Ces modèles sont ensuite transformés en un modèle de données physique, qui décrit les bases de données physiques employées.
Pour une application spécifique, on définit les tables (objets, relations... les conventions de nommage dépendent du modèle général). Par exemple, on décrit "client", "commande", "article", ainsi que les relations entre eux ("un client commande des articles").
Si on utilise un modèle relationnel, on doit définir des ensembles de contraintes spécifiques (clé primaire, clé candidate, clé étrangère), en utilisant le langage approprié conformément au modèle général (par exemple SQL).
Outils pour créer le modèle de données d'une application
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.
Modèles de données gouvernementaux
En Europe
Les systèmes d'information gouvernementaux doivent comporter des référentiels d'interopérabilité. Le programme ADELE du gouvernement français comporte un référentiel général d'interopérabilité et de sécurité avec des modèles de données communes.
Voir : Modèle de donnés communes d'ADELE.
Aux États-Unis
Aujourd'hui, le partage d'informations et l'interopérabilité informatique sont obtenus par l'utilisation de métadonnées. Les États-Unis tiennent déjà un grand nombre de registres de métadonnées pour des fonctions régaliennes (justice, défense).
Le département de la défense dispose, dans le cadre d'architecture DoDAF, d'un Core Architecture Data Model (CADM) .
Le gouvernement américain a lancé en 2002 le projet Federal Enterprise Architecture (FEA), qui inclut cinq modèles, dont un modèle de données de référence (DRM). Ce modèle va inclure des métadonnées à grande échelle.
Le chef du projet Data Reference Model américain, Michael Daconta, est l'ancien responsable du centre d'excellence sur les métadonnées du département Homeland Security (sécurité intérieure).
Michael Daconta est l'auteur d'une déclaration d'indépendance des données : Declaration of data independence
Liens externes
- RFC 3198 - Terminologie pour la gestion conformément aux procédures
- RFC 3444 - Sur la différence entre modèles d'information et modèles de données
Voir aussi
- Modèle (informatique)
- Modélisation des données
- Dictionnaire de données
- Diagramme
- Ontologie
- Schéma XML
Source
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « data model » (voir la liste des auteurs)
Wikimedia Foundation. 2010.