Le modèle relationnel

Le modèle relationnel est le plus populaire des modèles de données logiques répertoriés dans l'article Modèles de données, et il est à la base des bases de données SQL.

Le modèle relationnel est le plus populaire de la logiquemodèles de données, et c'est à la base des bases de données SQL.

LeModèle relationnelrepose sur deux concepts simples:

  • les tables
  • rapports

Le modèle relationnel remonte à 1969 et les travaux deEdgar F. Codd, un informaticien anglais. Bien qu'en tant que programmeurs informatiques, nous ayons l'habitude de regarder avec curiosité de nouvelles choses brillantes, une technologie qui peut être centrale dans tout ce qui concerne les ordinateurs pendant 50 ans vaut vraiment la peine d'être étudiée.

Le fait que le modèle soit basé sur des tableaux le rend très intuitif à utiliser, car nous sommes habitués à utiliser des tableaux pour organiser les choses. Pensez à une feuille de calcul Excel, par exemple.

Avec les bases de données SQL, comme PostgreSQL, Oracle, MySQL, SQLite et MS SQL Server, et bien d'autres, les données analysées à l'aide du modèle ER peuvent être modélisées à l'aide du modèle relationnel et être presque immédiatement transformées en un format de base de données SQL, qui peut être considéré comme une implémentation réelle du modèle relationnel, mais nous en parlerons dans d'autres articles.

Dans cet article, je veux parler de la théorie et des concepts sur lesquels le modèle relationnel est basé, non pas exprimés en termes mathématiques mais sur ce que cela signifie dans la pratique.

Si vous êtes étudiant, vous constaterez peut-être que ce que j'écris ici n'est pas ce qui est écrit dans votre manuel, mais peut-être pourrez-vous le lire plus facilement pour saisir les concepts plus formels exprimés dans votre matériel d'apprentissage.

les tables

Dans un modèle relationnel, untableest une collection d'articles.

Il est organisé en lignes et en colonnes:

Nom Âge
Flavio 36
Roger 7
Syd 6

Tuples

Chaque entrée du tableau est appelée untuple. Vous pouvez également utiliser les termesrecordourangée.

Un tuple représente une ligne de la table, comme ceci:

Flavio 36

Les attributs

Un attribut est un élément unique dans le tuple.

Dans cet exemple:

Flavio 36

«Flavio» est un attribut. 36 est un autre attribut.

Les tuples sont uniques

Chaque tuple de la table est unique.

Dans le modèle relationnel, nous ne pouvons pas avoir de données en double, ce qui signifie que chaque ligne de la table doit être différente dans au moins un attribut.

La clé de relation

La chose qui garantit qu'un tuple est unique est leclé de relation.

La clé est un attribut qui doitidentifier de manière uniqueun tuple.

Si la clé de relation est un ensemble d'attributs, elle doit êtrenon redondant. Cela signifie que si nous supprimons l'un des attributs de la clé, la clé ne peut pas garantir son unicité.

Si plusieurs clés peuvent être déterminées, l'une de ces clés sera identifiée commeclé primaire.

Contrainte d'intégrité clé

Les attributs clés de n'importe quel tuple de la table doiventne jamais être nul, et doitne jamais répéter.

Étant donné une clé, nous devons pouvoir pointer vers un tuple / ligne spécifique sans ambiguïté.

Les contraintes de domaine

Chaque attribut ades règles sur la valeur qu'il peut avoir.

Si nous décidons de stocker des nombres, nous ne pouvons pas stocker de chaînes, par exemple. Et nous pourrions décider de ne pas stocker les chaînes de plus de 10 caractères pour les noms.

On peut aussi appeler çataper.

La contrainte d'intégrité référentielle

Si une table contient une référence à une table secondaire ou à d'autres tuples de la même table, nous devons respecter les règles qui empêchent la référence de se rompre.

En particulier, il faut éviter de casser la référence par:

  • éviter de supprimer ou de modifier la clé primaire de l'enregistrement vers lequel nous pointons, dans l'autre table.
  • évitez d'insérer un nouvel enregistrement avec une clé inexistante vers laquelle pointer dans l'autre table.
  • évitez de changer la clé de l'enregistrement vers lequel nous pointons, sans vous assurer que la nouvelle clé existe dans l'autre table.

Un SGBD (Data Base Management System) mettra en œuvre des mesures pour nous aider à mettre en œuvre l'intégrité référentielle.


Plus de didacticiels sur les bases de données: