Qu’est-ce qu’un modèle de données ?
Un modèle de données est une représentation des entités et de leurs relations les unes avec les autres. Un modèle de données est le plus souvent représenté sous forme de diagramme, avec des formes représentant des entités et des flèches montrant la relation entre les entités.
Pour une entreprise de e-commerce, les entités peuvent être des produits, des commandes, des clients et des adresses de clients. Une commande se compose d’un client et d’une adresse client et peut contenir un ou plusieurs produits.
Les modèles de données sont conçus aux premiers stades d’un projet afin de créer un modèle et un langage communs pour les concepteurs, les développeurs, les data scientists et les autres parties impliquées. Les modèles de données peuvent évoluer pour devenir plus détaillés (par exemple, en un schéma de base de données) et sont utilisés pour s’assurer que les concepteurs, les développeurs et les administrateurs de bases de données comprennent les exigences d’une application logicielle et la façon dont les données peuvent être accédées et stockées.
Les modèles de données peuvent prévenir les erreurs : ils aident les participants au projet à identifier les erreurs, les fausses hypothèses et les malentendus avant le développement de l’application logicielle. Les développeurs font référence à un modèle de données lorsqu’ils communiquent et coordonnent leur travail avec les concepteurs et les administrateurs de bases de données. Les modèles de données aident une organisation à décider comment les données seront stockées, puis accédées, utilisées et mises à jour.
Types de modèles de données
Les trois types de modèles de données vont du haut niveau (par exemple, le modèle conceptuel de données) au détail et à la spécificité (par exemple, le modèle physique de données).
Modèle conceptuel de données
Le modèle conceptuel de données montre les entités et leurs relations. Le public visé par un modèle conceptuel de données est constitué d’utilisateurs non techniques du côté commercial. Il montre les entités et les relations telles que déterminées par l’entreprise.
Modèle logique de données
Le modèle logique de données décrit les entités et les relations à un niveau plus détaillé, mais n’est pas associé à un système de base de données particulier. Le public visé par un modèle logique de données est les équipes techniques (par exemple, les concepteurs de bases de données, les développeurs d’applications) et il est utilisé comme base pour créer un modèle de données physiques.
Modèle de données physiques
Le modèle de données physiques contient le plus haut niveau de détail technique. Il décrit comment les entités et les relations seront mises en œuvre dans un système de base de données particulier. Dans un système de base de données relationnelle, le modèle physique de données est utilisé pour créer les tables et les champs qui représentent les entités. Il est utilisé par les équipes techniques pour créer et gérer la base de données elle-même.
Le processus de modélisation des données
Dans un processus typique, l’équipe projet progresse dans chaque modèle de données, en commençant par un modèle de données conceptuel, suivi d’un modèle de données logique, puis d’un modèle de données physique. La cohérence des entités et des relations doit être maintenue dans chaque modèle.
En plus de ces types de modèles de données, il existe quatre approches principales : hiérarchique, relationnelle, réseau et relation entre entités (E-R).
Modèle de données hiérarchiques
Un modèle de données hiérarchique a la forme d’un arbre, avec quelques entités au sommet (c’est-à-dire les parents) et des entités enfants qui descendent du sommet. Le langage de balisage extensible ou Extensible Markup Language (XML), qui définit les règles de codage des documents dans des formats lisibles par l’homme et par la machine, utilise un modèle de données hiérarchique. Les documents XML contiennent un élément racine qui est le parent (ou l’ancêtre) de tous les éléments suivants. Les éléments d’un document XML peuvent contenir des sous-éléments avec du texte et des attributs.
Modèle de données relationnel
Le modèle de données relationnel est basé sur un ensemble de tables. Chaque table contient des champs. Les champs qui sont communs à toutes les tables peuvent être utilisés pour « joindre » deux ou plusieurs tables. Le modèle de données relationnel est mis en œuvre dans les systèmes de bases de données relationnelles tels qu’Oracle. Le langage de requête structuré ou Structured Query Language (SQL) est un mécanisme largement utilisé pour générer des requêtes et écrire des données dans des bases de données relationnelles.
Modèle de données réseau
Le modèle de données réseau a été conçu comme un moyen flexible de représenter les entités et leurs relations. Contrairement à la représentation arborescente du modèle de données hiérarchique, le modèle de données réseau utilise un graphe avec des arêtes et des nœuds. Le modèle de données réseau permet à chaque entité d’avoir plusieurs parents et enfants.
Modèle de données de Relation entre Entités (E-R)
Le modèle de données entité-relation (E-R) utilise une approche graphique qui montre les entités et les relations dans un diagramme entité-relation. Le diagramme représente généralement les entités sous forme de carrés ou de rectangles, avec des lignes tracées entre eux pour indiquer les relations. Lorsqu’elle est mise en œuvre dans une base de données relationnelle, chaque ligne d’une table est une instance d’un type d’entité, tandis que chaque champ de cette table est une instance d’un type d’attribut.