Introduction et définitions
Comment convertir le design de classes en un tableau constituant une base de données ? Afin de répondre à cette question il s’agit tout d’abord de clarifier ce qu’on entend par design de classes et base de données.
En programmation, une classe est une entité contenant un certain nombre de champs et de méthodes, appelés membres de cette classe. Définir une classe c’est donc déterminer les caractéristiques qui serviront à représenter différents types d’objets. Pour prendre un exemple concret dans la vie de tous les jours, on pourrait définir la classe des fruits, dont les composants seraient la couleur, le goût, la taille,… Un fruit particulier est alors ce qu’on appelle un objet ou une instance de classe. En d’autres termes, la classe est une combinaison de caractéristiques qui, lorsque des valeurs leurs sont associées, se matérialisent en un objet. C’est une sorte de template.
Exemple d’un mapping de classe

Une table de base de données, est un ensemble de valeurs réparties selon un modèle composé de colonnes (que l’on peut identifier par un nom) et de lignes. Le nombre de colonnes est fixé tandis que le nombre de lignes est laissé libre, et varie au gré de la taille de la base de données. Un élément est donc une ligne dans laquelle on fixe des valeurs associées à chaque caractéristique mise en colonne.
Exemple d’une table de base de données :

Convertir des classes en une base de données
Transformer des classes en une base de données nécessite de suivre plusieurs étapes bien précises:
Il s’agit d’abord de réaliser ce qu’on appelle un mapping de classes, comme illustré sur la première image de cet article. Concrètement, cette étape sert à donner plus de lisibilité aux différentes classes, et d’avoir une vision d’ensemble des différents paramètres qui la composent. Ces classes sont composées de clés primaires, qui sont des identificateurs uniques. Par exemple, le numéro d’étudiant d’un élève du TEC peut-être considéré comme une clé primaire de la classe “étudiant”. Elles sont également composées de clés dîtes “étrangères” et qui servent à conserver la cohérence de la base de données en établissant des liens entre différents composants. Prenons un exemple: si un élève emprunte un livre à la bibliothèque en donnant son numéro d’étudiant, mais la bibliothécaire commet une erreur lors de la saisie du numéro étudiant. Une clé étrangère permet par exemple de faire le lien avec le nom de l’étudiant associé à ce numéro, et permet donc à la bibliothécaire de se rendre compte de sa bévue.
Il est ensuite possible de créer des relations entre les différentes classes.
Limites de mes connaissances sur le sujet
Pour être honnête, étant étudiant en business et non pas en codage, mes connaissances et ma compréhension s’en trouvent quelques peu limitées sur ce sujet.
Toutefois, de ce que je peux en comprendre, convertir des classes en base de données permet non seulement de gagner en clarté dans l’établissement du code, mais également de sécuriser les informations que l’on entre. En faisant des associations entre différents composants, il est plus facile de déceler une potentielle erreur humaine ou une incohérence dans les informations qui sont entrées (qui reste possible voire probable lorsque l’on traite d’importants volumes de données).