data modeling
La modélisation des données est le processus qui consiste à documenter la conception d’un système logiciel complexe sous la forme d’un diagramme facile à comprendre, en utilisant du texte et des symboles pour représenter la façon dont les données doivent circuler. Le diagramme peut être utilisé pour assurer l’utilisation efficace des données, comme un plan pour la construction d’un nouveau logiciel ou pour la réingénierie d’une application existante.La modélisation des données est une compétence importante pour les scientifiques des données ou les autres personnes impliquées dans l’analyse des données. Traditionnellement, les modèles de données sont construits pendant les phases d’analyse et de conception d’un projet afin de s’assurer que les exigences d’une nouvelle application sont parfaitement comprises. Les modèles de données peuvent également être invoqués plus tard dans le cycle de vie des données pour rationaliser les conceptions de données qui ont été créées à l’origine par les programmeurs sur une base ad hoc.
Approches de la modélisation des données
La modélisation des données peut être un processus initial laborieux et, à ce titre, elle est parfois considérée comme étant en contradiction avec les méthodologies de développement rapide. La programmation Agile étant de plus en plus utilisée pour accélérer les projets de développement, les méthodes de modélisation des données après coup sont adaptées dans certains cas. En général, un modèle de données peut être considéré comme un organigramme qui illustre les relations entre les données. Il permet aux parties prenantes d’identifier les erreurs et d’apporter des modifications avant que le code de programmation n’ait été écrit. Les modèles peuvent également être introduits dans le cadre d’efforts de reverse engineering qui extraient des modèles de systèmes existants, comme c’est le cas pour les données NoSQL.
Les modélisateurs de données utilisent souvent plusieurs modèles pour visualiser les mêmes données et s’assurer que tous les processus, entités, relations et flux de données ont été identifiés. Ils lancent de nouveaux projets en recueillant les exigences des parties prenantes de l’entreprise. Les étapes de la modélisation des données se décomposent grossièrement en la création de modèles de données logiques qui montrent les attributs spécifiques, les entités et les relations entre les entités et le modèle de données physique.
Le modèle logique de données sert de base à la création d’un modèle physique de données, qui est spécifique à l’application et à la base de données à mettre en œuvre. Un modèle de données peut servir de base à la construction d’un schéma de données plus détaillé.
Modélisation hiérarchique des données
La modélisation des données en tant que discipline a commencé à voir le jour dans les années 1960, parallèlement à la montée en puissance des systèmes de gestion de bases de données (SGBD). La modélisation des données a permis aux organisations d’apporter cohérence, répétabilité et développement bien ordonné au traitement des données. Les utilisateurs finaux des applications et les programmeurs ont pu utiliser le modèle de données comme référence dans leurs communications avec les concepteurs de données.
Les modèles de données hiérarchiques qui présentent les données sous forme d’arborescences et d’arrangements un à plusieurs ont marqué ces premiers efforts et ont remplacé les systèmes à base de fichiers dans de nombreux cas d’utilisation populaires. Le système de gestion de l’information (IMS) d’IBM est le principal exemple de l’approche hiérarchique, qui a été largement utilisée dans les entreprises, notamment dans le secteur bancaire. Bien que les modèles de données hiérarchiques aient été largement supplantés – à partir des années 1980 – par les modèles de données relationnels, la méthode hiérarchique est encore courante aujourd’hui dans le XML (Extensible Markup Language) et les systèmes d’information géographique (GIS). Les modèles de données en réseau sont également apparus aux premiers jours des SGBD comme moyen de fournir aux concepteurs de données une vue conceptuelle générale de leurs systèmes. La Conférence sur les langages de systèmes de données (CODASYL), qui s’est formée à la fin des années 1950 pour guider le développement d’un langage de programmation standard pouvant être utilisé sur différents types d’ordinateurs, en est un exemple.
Modélisation relationnelle des données
Bien qu’il réduise la complexité des programmes par rapport aux systèmes à base de fichiers, le modèle hiérarchique nécessite toujours une compréhension détaillée du stockage physique spécifique des données utilisé. Proposé comme une alternative au modèle de données hiérarchique, le modèle de données relationnel n’oblige pas les développeurs à définir des chemins de données. La modélisation relationnelle des données a été décrite pour la première fois en 1970 dans un document technique rédigé par E.F. Codd, chercheur chez IBM. Le modèle relationnel de Codd a ouvert la voie à l’utilisation par l’industrie de bases de données relationnelles dans lesquelles les segments de données sont explicitement reliés par des tables, contrairement au modèle hiérarchique où les données sont implicitement reliées. Peu après sa création, le modèle de données relationnel a été associé au langage de requête structuré (SQL) et a commencé à s’imposer de plus en plus dans l’informatique d’entreprise comme un moyen efficace de traiter les données.
Le modèle entité-relation
La modélisation des données relationnelles a franchi une nouvelle étape à partir du milieu des années 1970, lorsque l’utilisation des modèles de relations entre entités (ER) s’est répandue. Étroitement intégrés aux modèles de données relationnels, les modèles ER utilisent des diagrammes pour représenter graphiquement les éléments d’une base de données et faciliter la compréhension des modèles sous-jacents.
Avec la modélisation relationnelle, les types de données sont déterminés et rarement modifiés dans le temps. Les entités comprennent des attributs ; par exemple, les attributs d’une entité employé peuvent inclure le nom de famille, le prénom, les années d’emploi et ainsi de suite. Les relations sont cartographiées visuellement, ce qui permet de communiquer facilement les objectifs de conception des données aux divers participants au développement et à la maintenance des données. Au fil du temps, les outils de modélisation, notamment ER/Studio d’Idera, Erwin Data Modeler et SAP PowerDesigner, ont été largement utilisés par les architectes de données pour concevoir des systèmes.
Les modèles de données graphiques sont familiers aux programmeurs qui ont travaillé avec des diagrammes ER et des modèles d’objets, ainsi qu’aux élèves de l’école primaire qui ont analysé des phrases.
Alors que la programmation orientée objet gagnait du terrain dans les années 1990, la modélisation orientée objet s’est imposée comme un autre moyen de concevoir des systèmes. Bien que présentant une certaine ressemblance avec les méthodes ER, les approches orientées objet diffèrent en ce qu’elles se concentrent sur les abstractions objet des entités du monde réel. Les objets sont regroupés dans des hiérarchies de classes, et les objets au sein de ces hiérarchies de classes peuvent hériter des attributs et des méthodes des classes parentes. En raison de cette caractéristique d’héritage, les modèles de données orientés objet présentent certains avantages par rapport à la modélisation ER, en termes de garantie de l’intégrité des données et de prise en charge de relations de données plus complexes. Les modèles de données spécifiquement orientés vers les besoins de l’entreposage de données ont également vu le jour dans les années 90. Les modèles dimensionnels à schéma en flocon de neige et à schéma en étoile en sont des exemples notables.
Modèles de données graphiques
Un dérivé de la modélisation des données hiérarchiques et de réseau est le modèle de graphe de propriétés qui, avec les bases de données de graphe, a trouvé une utilisation accrue pour décrire les relations complexes au sein des data sets, en particulier dans les applications de médias sociaux, de recommandation et de détection de fraude.
En utilisant le modèle de données de graphe, les concepteurs décrivent leur système comme un graphe connecté de nœuds et de relations, comme ils pourraient le faire avec le modèle de données ER ou objet. Les modèles de données graphiques peuvent être utilisés pour l’analyse de texte, en créant des modèles qui découvrent les relations entre les data points dans les documents.