Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Conception d’une base de données
  3. Modélisation de données
Extrait - Conception d’une base de données De l’analyse à la mise en œuvre
Extraits du livre
Conception d’une base de données De l’analyse à la mise en œuvre Revenir à la page d'achat du livre

Modélisation de données

Introduction

Dans ce chapitre nous allons apprendre à modéliser une base de données, à travers les étapes qui composent ce processus.

Nous allons définir les différents éléments de la vie réelle que nous souhaitons modéliser, en passant par une revue de leurs propriétés et des différents modèles de représentation.

Nous allons réaliser une introduction au NoSQL, qui propose une méthode alternative aux bases de données SQL traditionnelles. Le choix entre utiliser NoSQL ou SQL doit être fait à ce stade de la conception de la base de données.

Des méthodes de modélisation de données seront introduites, et nous allons voir les différences entre les différents modèles en fonction de l’information que nous souhaitons représenter.

Finalement, nous allons présenter un outil de modélisation de bases de données : DbSchema.

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

Dans les chapitres précédents, nous avons défini ce qu’est une base de données, quels sont les types de bases de données existantes et comment nous pouvons effectuer une analyse de nos besoins pour identifier correctement la base de données à créer.

La prochaine étape est la modélisation, mais qu’est-ce que la modélisation ? Une définition formelle pourrait être la suivante : dans la conception d’un système d’information, la modélisation des données consiste en l’analyse et la conception des informations contenues dans le système afin de représenter la structure de ces informations et d’en structurer le stockage et le traitement informatique. 

Il n’existe pas une manière unique de modéliser une base de données, mais il existe différentes techniques qui seront plus ou moins appropriées pour effectuer cette action. De la même manière que pour représenter les plans d’un bâtiment nous n’utilisons pas les mêmes techniques de représentation que pour concevoir un véhicule avant sa construction, il existe différents types de bases de données qui nécessitent d’appliquer les techniques de modélisation appropriées....

Types de modélisation de données

Il existe différents types de modélisation de données, nous listons ici les principaux.

1. Modèle conceptuel de données

L’objectif de la modélisation conceptuelle des données (MCD) est d’élaborer un plan préliminaire que nous pourrons détailler ultérieurement, dans le but de définir les différents éléments qui composeront notre base de données.

Le modèle conceptuel de données a comme fonction de fournir une perspective, centrée sur les données, sur la façon dont les différents éléments seront liés les uns aux autres, d’une manière conceptuelle.

Pour réaliser cette modélisation des données, la première chose que nous devons faire est de nous poser une série de questions d’un point de vue fonctionnel :

  • Quelles sont les données que nous voulons stocker ?

  • Comment ces données sont-elles liées les unes aux autres ?

Un exemple de modèle conceptuel de données serait le suivant :

images/image_page60.png

Ces types de relations nous permettront de définir, de manière logique, comment les informations seront organisées dans notre base de données. Par exemple, définir qu’un livre ne peut appartenir qu’à une seule catégorie, mais qu’une catégorie peut être...

Étapes pour modéliser une base de données

Le processus de modélisation d’une base de données est clair et identifié, et suit un ensemble d’étapes qui se répètent jusqu’à ce que la base de données soit créée. Voici les étapes à suivre.

1. Étape 1 : identifier les entités et leurs attributs

a. Entités

Pour commencer à modéliser notre base de données, la première chose que nous devons faire est d’obtenir les prérequis qui déterminent quelles informations nous voulons stocker.

Un prérequis est une condition à remplir, ou une caractéristique nécessaire à un système ou à un logiciel. Dans notre cas, il s’agit d’une base de données.

Une entité est une chose ou une personne dans le monde réel. Il peut s’agir d’un élément tangible, comme un livre ou un étudiant, mais aussi d’un concept abstrait, comme "Grade".

Par conséquent, la première action que nous devons réaliser pour modéliser notre base de données est de penser aux entités que nous voulons qu’elle stocke.

Donnons maintenant un exemple pratique, et commençons à modéliser la base de données de notre bibliothèque. La question que nous devons nous poser en ce moment est : quelles sont les entités que nous voulons stocker dans la bibliothèque ?

Pour le moment, nous n’allons pas entrer dans les détails des meilleures techniques pour modéliser ces entités, ni voir comment les créer de manière pratique, nous allons simplement réfléchir et écrire quelles sont les entités que nous devons créer.

Nous pouvons identifier la nécessité de créer les entités suivantes :

  • LIVRE : dans cette entité, nous stockerons la liste des livres que nous avons dans notre bibliothèque, ainsi que les informations pouvant être utilisées pour leur classification ou leur identification.

  • AUTEUR : cette entité contient des informations sur les auteurs. Il faut tenir compte du fait qu’un auteur peut avoir écrit plusieurs livres, mais doit en avoir...

SQL vs NoSQL

Dans cette rubrique, nous allons voir les différences entre SQL et NoSQL, et comment cette différence peut être d’une importance vitale lors de la définition du modèle à utiliser.

SQL signifie littéralement Structured Query Language (langage de requête structuré). C’est le langage de base de données le plus utilisé depuis de nombreuses années, et il a été implémenté comme standard.

Tout au long du manuscrit, nous ferons indépendamment référence aux bases de données SQL en tant que bases de données relationnelles. Il en est ainsi puisque, en général, les bases de données SQL sont de type relationnel, et SQL a été établi comme une nomenclature standard.

NoSQL cherche à rompre avec le standard qui établissait auparavant SQL, et offre une alternative qui fonctionne mieux pour des cas spécifiques. Cependant, ce n’est pas un choix à prendre à la légère, car pour la plupart des bases de données, SQL reste le premier choix à utiliser.

Ensuite, nous allons approfondir chaque type de base de données. Nous commencerons par aborder les concepts théoriques pour pouvoir les mettre en pratique à travers des exemples au fur et à mesure que nous avancerons sur le sujet.

1. SQL : Structured Query Language

SQL est un langage largement utilisé lorsque nous travaillons avec des bases de données. Il existe quelques variations entre les différentes implémentations et les versions de systèmes de gestion de bases de données (SGBD), mais en règle générale, et sans trop entrer dans les détails, puisque ce n’est pas l’objectif de ce livre, nous pouvons voir ci-dessous quelques exemples d’instructions SQL.

Instruction SQL pour récupérer la liste des ID_AUTEUR de la table LIVRE :

SELECT ID_AUTEUR FROM LIVRE; 

Il existe d’autres types d’instructions SQL, mais le but de cette section n’est pas d’expliquer comment requêter en SQL, mais plutôt d’expliquer ce qu’est une base de données SQL et quelles sont les différences par rapport à une base de données NoSQL.

La grande majorité des bases...

Outils pour effectuer la modélisation d’une base de données

Il existe différents outils pour modéliser une base de données. Tout au long de ce chapitre, nous avons vu des représentations de base de données, il est temps de se plonger dans les différents outils disponibles avec un accent particulier sur l’application utilisée lors de l’élaboration du chapitre.

L’outil en question s’appelle DbSchema et dispose d’une option gratuite qui permet l’utilisation des fonctionnalités de base. Il existe également une version payante, avec des options supplémentaires.

Il est également possible d’utiliser la version d’évaluation pendant 15 jours. Durant cette période, vous pouvez utiliser les options de paiement du produit et découvrir les différentes fonctionnalités sans avoir à effectuer de déboursement, vous assurant ainsi que DbSchema répond à vos besoins avant de l’acheter.

Les options offertes par la version gratuite sont les suivantes :

  • ingénierie inversée de schéma ;

  • mises en page interactives ;

  • création de nouvelles tables, colonnes... ;

  • éditeur SQL.

Concernant la version payante, les options supplémentaires (en plus de celles incluses dans la version gratuite) sont les suivantes :

  • création du modèle logique ;

  • génération de documentation interactive HTML5 ;

  • assistant pour la création de requêtes ;

  • création de modèle de données offline, sans connexion à une base de données ;

  • sauvegarde du modèle généré à un fichier ;

  • synchronisation des schémas de base de données ;

  • explorateur visuel de données ;

  • création de rapports automatiques et exportables ;

  • administration de base de données via des outils graphiques ;

  • génération de données ;

  • importation de données depuis des fichiers CSV, XML ou XLS.

1. Installation de DbSchema

Nous allons installer DbSchema. Pour ce faire, la première étape consiste à télécharger le fichier d’installation depuis sa page officielle.

 Pour télécharger DbSchema, vous pouvez...