Unité 3 / 11

Modélisation de données, dictionnaire de données et architecture de données d'entreprise

Gains :

  • Capacité à expliquer des modèles de données conceptuels, logiques et physiques et des concepts de normalisation et à produire des ébauches de relations entité-relation avec le soutien de l'intelligence artificielle
  • Capacité à rédiger des relations entre un dictionnaire de données, des règles métier et des tables avec des invites structurées et à les vérifier par rapport au système réel
  • Capacité à évaluer de manière critique les suggestions de schémas générées par l'IA en termes d'intégrité, de singularité et de conformité aux règles métier.

Un système d’information est essentiellement une structure qui maintient les données organisées. La modélisation des données consiste à concevoir les faits d'une entreprise (client, commande, produit, facture) et leurs relations les uns avec les autres de manière structurée. Un bon modèle de données constitue la base de rapports précis, de requêtes rapides et de données cohérentes ; Un mauvais modèle est la source d’années d’incohérences et de travaux de correction répétitifs. La plupart du temps, le professionnel du MIS ne code pas le modèle à partir de zéro, mais vérifie que le modèle est conforme aux règles métier et traduit le modèle entre la business unit et l'informatique.

La modélisation des données se déroule à trois niveaux d'abstraction. Le modèle conceptuel (anglais conceptual) est le niveau le plus élevé : quelles sont les principales entités existantes et comment sont-elles liées ? "Le client passe une commande, la commande comprend le produit." Il n'y a pas de détails techniques. Le modèle logique définit les attributs (champs), les clés et les types de relations de chaque entité ; mais il n'est toujours pas lié à un produit de base de données spécifique. Le modèle physique (anglais physical) est la version concrète des tables, types de données et index d'une base de données spécifique (par exemple SQL Server, PostgreSQL). Ces trois niveaux sont des versions de plus en plus détaillées d’une même idée.

Entité-Relation et Clés

Le langage de base du modèle de données est le modèle Entité-Relation (ER). L'entité peut être considérée comme une table : Client, Commande. L'attribut est la colonne du tableau : nom, email, montant. La relation est la manière dont les entités sont connectées : un client peut avoir plusieurs commandes (relation un-à-plusieurs).

Il existe deux concepts clés essentiels. La clé primaire est le champ qui identifie de manière unique chaque ligne d'une table ; par exemple CustomerID. Une clé étrangère est un champ d'une table qui pointe vers la clé primaire d'une autre table ; Le CustomerID dans le tableau des commandes relie la commande du client dont il s’agit. Ces connexions assurent l’intégrité référentielle : une commande ne peut être passée pour un client qui n’existe pas.

Astuce : Lorsque l'IA génère un brouillon ER, il est plus facile de demander explicitement la clé primaire pour chaque table et la clé étrangère pour chaque relation. Mais vérifiez chaque clé étrangère suggérée par le modèle par rapport à la règle métier réelle : parfois, la relation que vous pensez être "un-à-plusieurs" est en réalité "plusieurs-à-plusieurs".

Normalisation : prévenir la récidive

La normalisation est le processus de réduction de la redondance et de préservation de l'intégrité en divisant les données en tables logiques. L’objectif est de conserver les mêmes informations au même endroit. Par exemple, au lieu de saisir l'adresse du client encore et encore dans chaque ligne de commande, vous conservez l'adresse une fois dans la table Client et la liez à une clé étrangère de la commande. De cette façon, lorsque l’adresse change, vous la mettez à jour au même endroit ; Sinon, des centaines de commandes auront des adresses différentes. C’est ce qu’on appelle une anomalie de mise à jour.

Le contraire de la normalisation est la dénormalisation : autoriser délibérément une certaine répétition dans un souci de rapidité de reporting. Dans les systèmes métier (base de données opérationnelle), la normalisation est généralement préférée, et dans les systèmes de reporting (entrepôt de données), la dénormalisation est souvent préférée. Ainsi, « la normalisation n’est pas toujours bonne » ; La décision est prise en fonction du but recherché.

Dictionnaire de données : langage commun

Le dictionnaire de données est un document qui définit la signification de chaque champ, son type, ses contraintes et sa règle métier. Que signifie le champ « statut » ? Quelles valeurs peut-il prendre (En attente, Approuvé, Annulé) ? Est-ce obligatoire ? Sans ce document, un même champ sera interprété différemment par différentes équipes et le rapport sera faussé. Le dictionnaire de données est la lingua franca de l'organisation et l'un des livrables les plus précieux du professionnel du SIG. L'IA peut extraire rapidement une première ébauche de dictionnaire de données à partir de la structure de table existante ; Mais seule l’unité utilisant ces données vérifie la véritable signification commerciale de chaque champ.

Trois mini-cases : en chiffres

Cas 1 — Le coût du redoublement. Dans une entreprise de distribution, l'adresse du client était conservée séparément dans les tableaux de commande et de facture. Lorsqu'un client déménageait, l'adresse était mise à jour dans une seule table ; 1 400 factures sont parvenues à l'ancienne adresse et ont été remboursées. Si l’adresse était normalisée dans une seule table, une seule mise à jour suffirait. Le projet d'assainissement a coûté 2 semaines.

Cas 2 — Mauvais type de relation. Un expert MIS d'un établissement d'enseignement a reconnu la relation (un-à-plusieurs) « L'étudiant appartient à une classe » dans le modèle généré par l'IA. Cependant, les étudiants peuvent s'inscrire à plus d'un cours au choix ; La relation était en réalité plusieurs à plusieurs et une table intermédiaire (Record) était nécessaire. L'erreur a été révélée sur le terrain lorsqu'un élève ne s'est pas inscrit en deuxième année. Si la suggestion de l’IA avait été confirmée, elle aurait été captée dès le départ.

Cas 3 — Valeur du dictionnaire de données. Il a été déterminé que le champ « policy_status » dans une compagnie d'assurance était interprété différemment par 5 équipes différentes, donc le même KPI donnait 3 résultats différents dans les rapports. En rédigeant un dictionnaire de données alimenté par l'IA et en parvenant à un accord uniforme avec l'unité commerciale, les incohérences des rapports ont été éliminées et la durée des réunions de rapprochement mensuelles a été réduite de 60 %.

Invite faible/Invite forte

Invite faible :

Concevoir une base de données de commerce électronique.

Invite puissante :

Votre rôle : Vous êtes un modélisateur de données expérimenté.RÉDUISEZ un modèle de données LOGIQUE selon les règles métier suivantes.Règles :- Pour chaque entité : champs, clé primaire, champs obligatoires.- Pour chaque relation : type (un-à-plusieurs / plusieurs-à-plusieurs) et clé étrangère.- Proposer une table intermédiaire dans des relations plusieurs-à-plusieurs.- Normaliser jusqu'à la 3ème forme normale ; Si vous recommandez une dénormalisation intentionnelle, écrivez la justification.- Étiquetez [CONFIRMATION REQUISE] toute règle commerciale dont vous n'êtes pas sûr.Règles commerciales :- Le client peut passer plusieurs commandes.- Une commande contient plusieurs produits ; Un produit apparaît dans plusieurs commandes.- Les produits ont des catégories.[autres règles...]

L'invite puissante clarifie le niveau du modèle (logique), les règles clés et relationnelles, la cible de normalisation et les points nécessitant une confirmation.

Quatre modèles copiables

1) Projet de dictionnaire de données :

Un aperçu du dictionnaire de données découle de la définition du tableau. Pour chaque champ : nom, type, est-il obligatoire, valeurs possibles, signification métier (libellé[PREDICTION] s'il s'agit d'une prédiction). Tableau : [DDL ou liste de champs]

2) Examen de normalisation :

Existe-t-il un risque de données en double, d'anomalie de mise à jour et d'opportunité de normalisation dans la structure du tableau ci-dessous ? Pour chaque résultat, notez la forme normale qu’il viole ainsi que votre suggestion. Structure : [texte]

3) Projet ER à partir de la règle métier :

Traduisez les règles métier suivantes en entités, attributs et relations. Précisez le type de chaque relation (1-1, 1-N, N-N) et si N-N, proposez un tableau intermédiaire. Marquez les règles ambiguës. Règles : [texte]

4) Questions de vérification du type de relation :

Pour chaque relation dans le modèle de données ci-dessous, générez une question commerciale « oui/non » qui testera l'exactitude de son type (par exemple, « Un étudiant peut-il être inscrit dans plus d'une classe en même temps ? »). Modèle : [texte]

Tableau de comparaison : niveaux de modèle

fonctionnalité

conceptuel

logique

physique

Détail

au moins

moyen

la plupart

clé/relation

Principaux atouts

Clés définies

Y compris l'index/le type

Dépend de la base de données

non

non

Oui

public cible

unité commerciale

analyste

Développeur/Administrateur de bases de données

Apport de l'IA

brouillon

fort tirant d'eau

Brouillon, confirmation DBA

Erreurs courantes

  • Considérer une relation plusieurs-à-plusieurs comme un-à-plusieurs. Il s’agit de l’erreur de modélisation la plus courante ; Si la table intermédiaire est oubliée, le système ne peut pas conserver l'état réel.
  • Mettre tout dans un seul tableau. Rassembler tous les champs dans une seule table par souci de « simplicité » produit des anomalies de duplication et de mise à jour.
  • Ne pas écrire un dictionnaire de données. Un même KPI donne des résultats différents lorsque la signification des champs reste en tête.
  • Faire aveuglément confiance aux recommandations de l'IA concernant les types de données et les contraintes. Le modèle peut suggérer une zone « suffisamment grande » ; La règle métier détermine les limites réelles (par exemple TR ID 11 chiffres).
  • Une normalisation absolutisante. Une normalisation excessive au niveau de la couche de reporting ralentit la requête ; Le but varie selon le contexte.
Attention : l'intelligence artificielle peut produire des modèles esthétiques mais qui enfreignent les règles métier. Pour chaque relation suggérée par le modèle, la question « est-ce vraiment comme ça ? Posez une question commerciale. Le modèle de données est le squelette du système ; Une fracture du squelette est très difficile à réparer par la suite.

En résumé

La modélisation des données est le processus de structuration des faits commerciaux avec des entités, des attributs et des relations et se déroule aux niveaux conceptuel, logique et physique. Les clés primaires et étrangères garantissent l'intégrité référentielle ; La normalisation réduit la répétition, mais la dénormalisation est également légitime selon le but recherché. Le dictionnaire de données est le langage commun de l’organisation. L'IA permet d'accélérer considérablement la production de brouillons d'ER, de dictionnaires de données et d'examens de normalisation ; cependant, les types de relations, les types de données et la sémantique métier doivent être confirmés par rapport à la règle métier réelle. Ce n’est pas parce que le modèle est beau qu’il est bon.

Tâche de candidature

Considérons un « système de prêt de bibliothèque » : membres, livres, relevés de prêt. (1) Avoir une ébauche de modèle logique produite par la puissante invite. (2) Testez le type de chaque relation suggérée par le modèle (en particulier, « un membre peut-il avoir plus d'un exemplaire du même livre ? ») avec une question commerciale. (3) Trouvez au moins une relation plusieurs-à-plusieurs et définissez une table intermédiaire. (4) Écrivez des lignes de dictionnaire de données pour au moins 4 champs (nom, type, obligatoire, signification commerciale). (5) Mettez en surbrillance une contrainte que le modèle a pu respecter et expliquez comment vous la vérifieriez.

liste de contrôle

  • [ ] La clé primaire de chaque table est définie.
  • [ ] J'ai vérifié le type de chaque relation avec la question métier.
  • [ ] J'ai défini une table intermédiaire pour les relations plusieurs-à-plusieurs.
  • [ ] J'ai normalisé ou justifié la dénormalisation des données en double.
  • [ ] J'ai écrit une ligne de dictionnaire de données pour les champs critiques.
  • [ ] J'ai confirmé les suggestions de types de données/contraintes de l'IA par rapport à la règle métier.