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:
- Le didacticiel de base de MongoDB
- En quoi MongoDB est différent d'une base de données SQL
- Systèmes d'information, données et informations
- Modèles de données
- Introduction au modèle de données ER
- Le modèle relationnel
- Algèbre relationnelle
- Bases de données relationnelles
- Qu'est-ce qu'une base de données? Et un SGBD?
- Introduction à SQL
- Comment installer PostgreSQL sur macOS
- Avez-vous toujours besoin d'une base de données pour votre application?
- Comment installer SQLite sur macOS
- Introduction à PostgreSQL
- Autorisations utilisateur PostgreSQL
- Comment lister tous les utilisateurs dans PostgreSQL
- Comment changer de base de données à l'aide de PostgreSQL
- Comment lister toutes les bases de données à l'aide de PostgreSQL
- Comment lister les tables de la base de données actuelle en utilisant PostgreSQL
- Comment installer MySQL sur macOS
- Créer un utilisateur sur MySQL
- PostgreSQL vs MySQL, une comparaison
- Autorisations utilisateur SQLite
- Autorisations des utilisateurs MySQL
- SQL, création d'une table
- SQL, ajout de données à une table
- SQL, comment utiliser SELECT
- SQL, gestion des cellules vides
- SQL, clés uniques et primaires
- SQL, comment mettre à jour les données
- SQL, comment mettre à jour une structure de table
- SQL, comment supprimer des données et des tables
- Jointures SQL
- Vues SQL
- Comment insérer plusieurs éléments à la fois dans une collection MongoDB
- Comment supprimer tous les éléments d'une collection MongoDB