Articles

Data Modeling

Découvrez comment la modélisation de données utilise l’abstraction pour représenter et mieux comprendre la nature du flux de données au sein d’un système d’information d’entreprise

Qu’est-ce que la modélisation de données ?

La modélisation de données est le processus de création d’une représentation visuelle d’un système d’information entier ou de parties de celui-ci pour communiquer les connexions entre les points de données et les structures. L’objectif est d’illustrer les types de données utilisées et stockées dans le système, les relations entre ces types de données, les façons dont les données peuvent être regroupées et organisées, ainsi que leurs formats et attributs.

Les modèles de données sont construits en fonction des besoins de l’entreprise. Les règles et les exigences sont définies dès le départ grâce aux commentaires des parties prenantes de l’entreprise afin qu’elles puissent être intégrées à la conception d’un nouveau système ou adaptées à l’itération d’un système existant.

Les données peuvent être modélisées à différents niveaux d’abstraction. Le processus commence par la collecte d’informations sur les besoins métier auprès des parties prenantes et des utilisateurs finaux. Ces règles métier sont ensuite traduites en structures de données pour formuler une conception de base de données concrète. Un modèle de données peut être comparé à une feuille de route, à un plan d’architecte ou à tout schéma formel qui facilite une compréhension plus approfondie de ce qui est conçu.

La modélisation des données utilise des schémas standardisés et des techniques formelles. Cela fournit un moyen commun, cohérent et prévisible de définir et de gérer les ressources de données au sein d’une organisation, voire au-delà.

Idéalement, les modèles de données sont des documents vivants qui évoluent en même temps que les besoins métier changeants. Ils jouent un rôle important dans le soutien des processus opérationnels et la planification de l’architecture et de la stratégie informatiques. Les modèles de données peuvent être partagés avec des fournisseurs, des partenaires et/ou des pairs du secteur.

Types de modèles de données

Comme tout processus de conception, la conception de bases de données et de systèmes d’information commence à un niveau élevé d’abstraction et devient de plus en plus concrète et spécifique. Les modèles de données peuvent généralement être divisés en trois catégories, qui varient en fonction de leur degré d’abstraction. Le processus commencera par un modèle conceptuel, progressera vers un modèle logique et se terminera par un modèle physique. Chaque type de modèle de données est discuté plus en détail ci-dessous :

  • Modèles de données conceptuels. Ils sont également appelés modèles de domaine et offrent une vue d’ensemble de ce que le système contiendra, comment il sera organisé et quelles règles métier sont impliquées. Les modèles conceptuels sont généralement créés dans le cadre du processus de collecte des exigences initiales du projet. En règle générale, ils comprennent des classes d’entités (définissant les types d’éléments importants pour l’entreprise à représenter dans le modèle de données), leurs caractéristiques et contraintes, les relations entre elles et les exigences pertinentes en matière de sécurité et d’intégrité des données. Toute notation est généralement simple.
    Diagramme d'un Modèle de données conceptuel
  • Modèles de données logiques. Ils sont moins abstraits et fournissent plus de détails sur les concepts et les relations dans le domaine considéré. L’un des nombreux systèmes de notation de modélisation de données formelles est suivi. Ceux-ci indiquent les attributs de données, tels que les types de données et leurs longueurs correspondantes, et montrent les relations entre les entités. Les modèles de données logiques ne spécifient aucune configuration système requise. Cette étape est souvent omise dans les pratiques agiles ou DevOps. Les modèles de données logiques peuvent être utiles dans des environnements de mise en œuvre hautement procéduraux ou pour des projets par nature axés sur les données, tels que la conception d’entrepôts de données ou le développement de systèmes de reporting.
    Diagramme d'un Modèle de données logiques
  • Modèles de données physiques. Ils fournissent un schéma de la manière dont les données seront stockées physiquement dans une base de données. En tant que tels, ils sont les moins abstraits de tous. Ils offrent une conception finalisée qui peut être implémentée comme une base de données relationnelle, y compris des tables associatives qui illustrent les relations entre les entités ainsi que les clés primaires et les clés étrangères qui seront utilisées pour maintenir ces relations. Les modèles de données physiques peuvent inclure des propriétés spécifiques au système de gestion de base de données (SGBD), y compris le réglage des performances.
    Diagramme d'un Modèle de données physiques

Processus de modélisation des données

En tant que discipline, la modélisation des données invite les parties prenantes à évaluer le traitement et le stockage des données de manière minutieuse. Les techniques de modélisation des données ont différentes conventions qui dictent quels symboles sont utilisés pour représenter les données, comment les modèles sont présentés et comment les exigences métier sont transmises. Toutes les approches fournissent des flux de travail formalisés qui incluent une séquence de tâches à exécuter de manière itérative. Ces flux de travail ressemblent généralement à ceci :

  1. Identifiez les entités. Le processus de modélisation des données commence par l’identification des choses, des événements ou des concepts représentés dans l’ensemble de données à modéliser. Chaque entité doit être cohérente et logiquement distincte de toutes les autres.
  2. Identifiez les propriétés clés de chaque entité. Chaque type d’entité peut être différencié de tous les autres car il possède une ou plusieurs propriétés uniques, appelées attributs. Par exemple, une entité appelée « client” peut posséder des attributs tels qu’un prénom, un nom, un numéro de téléphone et une salutation, tandis qu’une entité appelée « adresse” peut inclure un nom et un numéro de rue, une ville, un état, un pays et un code postal.
  3. Identifiez les relations entre les entités. La première ébauche d’un modèle de données spécifiera la nature des relations que chaque entité entretient avec les autres. Dans l’exemple ci-dessus, chaque client  » habite ” une adresse. Si ce modèle était élargi pour inclure une entité appelée « commandes”, chaque commande serait également expédiée et facturée à une adresse. Ces relations sont généralement documentées via un langage de modélisation unifié (UML).
  4. Mappe complètement les attributs aux entités. Cela garantira que le modèle reflète la façon dont l’entreprise utilisera les données. Plusieurs modèles formels de modélisation des données sont largement utilisés. Les développeurs orientés objet appliquent souvent des modèles d’analyse ou des modèles de conception, tandis que les parties prenantes d’autres domaines d’activité peuvent se tourner vers d’autres modèles.
  5. Attribuez des clés au besoin et décidez d’un degré de normalisation qui équilibre la nécessité de réduire la redondance avec les exigences de performance. La normalisation est une technique d’organisation des modèles de données (et des bases de données qu’ils représentent) dans laquelle des identifiants numériques, appelés clés, sont attribués à des groupes de données pour représenter des relations entre eux sans répéter les données. Par exemple, si les clients reçoivent chacun une clé, cette clé peut être liée à la fois à leur adresse et à leur historique de commandes sans avoir à répéter ces informations dans le tableau des noms des clients. La normalisation a tendance à réduire la quantité d’espace de stockage dont une base de données aura besoin, mais elle peut coûter cher pour interroger les performances.
  6. Finaliser et valider le modèle de données. La modélisation des données est un processus itératif qui doit être répété et affiné à mesure que les besoins de l’entreprise évoluent.

Types de modélisation des données

La modélisation des données a évolué parallèlement aux systèmes de gestion de bases de données, les types de modèles devenant de plus en plus complexes à mesure que les besoins de stockage de données des entreprises augmentaient. Voici plusieurs types de modèles :

  • Les modèles de données hiérarchiques représentent des relations un à plusieurs dans un format arborescent. Dans ce type de modèle, chaque enregistrement a une racine ou un parent unique qui correspond à une ou plusieurs tables enfants. Ce modèle a été implémenté dans le système de gestion de l’information IBM (IMS), introduit en 1966 et rapidement largement utilisé, en particulier dans le secteur bancaire. Bien que cette approche soit moins efficace que les modèles de base de données développés plus récemment, elle est toujours utilisée dans les systèmes XML (Extensible Markup Language) et les systèmes d’information géographique (GISs).
  • Les modèles de données relationnelles ont été initialement proposés par le chercheur d’IBM E.F. Codd en 1970. Ils sont encore implémentés aujourd’hui dans les nombreuses bases de données relationnelles couramment utilisées dans l’informatique d’entreprise. La modélisation des données relationnelles ne nécessite pas une compréhension détaillée des propriétés physiques du stockage de données utilisé. Dans celui-ci, les segments de données sont explicitement joints à l’aide de tables, ce qui réduit la complexité de la base de données.

Les bases de données relationnelles utilisent fréquemment le langage de requête structuré (SQL) pour la gestion des données. Ces bases de données fonctionnent bien pour maintenir l’intégrité des données et minimiser la redondance. Ils sont souvent utilisés dans les systèmes de point de vente, ainsi que pour d’autres types de traitement des transactions.

  • Les modèles de données Entité-relation (ER) utilisent des diagrammes formels pour représenter les relations entre entités dans une base de données. Plusieurs outils de modélisation ER sont utilisés par les architectes de données pour créer des cartes visuelles qui transmettent les objectifs de conception de base de données.
  • Les modèles de données orientés objet ont gagné du terrain avec la programmation orientée objet et ils sont devenus populaires au milieu des années 1990.Les « objets” impliqués sont des abstractions d’entités du monde réel. Les objets sont regroupés dans des hiérarchies de classes et ont des fonctionnalités associées. Les bases de données orientées objet peuvent incorporer des tables, mais peuvent également prendre en charge des relations de données plus complexes. Cette approche est utilisée dans les bases de données multimédias et hypertextes ainsi que dans d’autres cas d’utilisation.Les modèles de données dimensionnelles ont été développés par Ralph Kimball, et ils ont été conçus pour optimiser les vitesses de récupération des données à des fins analytiques dans un entrepôt de données. Alors que les modèles relationnels et ER mettent l’accent sur un stockage efficace, les modèles dimensionnels augmentent la redondance afin de faciliter la localisation des informations pour les rapports et la récupération. Cette modélisation est généralement utilisée dans tous les systèmes OLAP.

Deux modèles de données dimensionnelles populaires sont le schéma en étoile, dans lequel les données sont organisées en faits (éléments mesurables) et en dimensions (informations de référence), où chaque fait est entouré de ses dimensions associées dans un motif en étoile. L’autre est le schéma flocon de neige, qui ressemble au schéma en étoile mais inclut des couches supplémentaires de dimensions associées, ce qui rend le motif de ramification plus complexe.

Avantages de la modélisation des données

La modélisation des données permet aux développeurs, aux architectes de données, aux analystes commerciaux et aux autres parties prenantes de visualiser et de comprendre plus facilement les relations entre les données d’une base de données ou d’un entrepôt de données. En outre, il peut:

  • Réduire les erreurs dans le développement de logiciels et de bases de données.
  • Augmentez la cohérence de la documentation et de la conception du système dans l’ensemble de l’entreprise.
  • Améliorer les performances des applications et des bases de données.
  • Facilite la cartographie des données dans toute l’organisation.
  • Améliorer la communication entre les développeurs et les équipes de business intelligence.
  • Facilite et accélère le processus de conception des bases de données aux niveaux conceptuel, logique et physique.

Outils de modélisation de données

De nombreuses solutions commerciales et open source de génie logiciel assisté par ordinateur (CASE) sont largement utilisées aujourd’hui, y compris de multiples outils de modélisation de données, de création de diagrammes et de visualisation. Voici plusieurs exemples:

  • erwin Data Modeler est un outil de modélisation de données basé sur le langage de modélisation de données Integration DEFinition for information modeling (IDEF1X) qui prend désormais en charge d’autres méthodologies de notation, y compris une approche dimensionnelle.
  • Enterprise Architect est un outil de modélisation et de conception visuelle qui prend en charge la modélisation des systèmes d’information et des architectures d’entreprise ainsi que des applications logicielles et des bases de données. Il est basé sur des langages et des normes orientés objet.
  • ER/Studio est un logiciel de conception de base de données compatible avec plusieurs des systèmes de gestion de base de données les plus populaires d’aujourd’hui. Il prend en charge la modélisation des données relationnelles et dimensionnelles.
  • Les outils de modélisation de données gratuits incluent des solutions open source telles que Open ModelSphere.

Modélisation des données et IBM Cloud

Les chercheurs d’IBM ont été parmi les pionniers qui ont créé les premiers modèles de données hiérarchiques et relationnelles et ont également conçu les bases de données où ces modèles ont été initialement implémentés.

Aujourd’hui, IBM Cloud fournit une plate-forme full stack qui prend en charge un riche portefeuille de bases de données SQL et NoSQL, ainsi que les outils de développement nécessaires pour gérer efficacement les ressources de données qu’elles contiennent. IBM Cloud prend également en charge les outils open source qui aident les développeurs à gérer le stockage de données d’objets, de fichiers et de blocs afin d’optimiser les performances et la fiabilité.

Vous souhaitez en savoir plus sur la modélisation des données sur IBM Cloud ? Inscrivez-vous à un IBMid et créez votre compte IBM Cloud gratuit dès aujourd’hui.