Que signifient les règles de Codd ?
Les règles de Codd font référence à un ensemble de 13 règles de système de gestion de bases de données (0-12) développées par EF Codd en 1969-1970. Il a conçu ces règles comme les conditions préalables pour considérer un système de gestion de bases de données (SGBD) comme un système de gestion de bases de données relationnelles (SGBDR). Bien que les règles n'étaient pas initialement très populaires dans un usage commercial, les SGBD ultérieurs étaient basés sur les règles de Codd.
Les règles de Codd sont également appelées loi de Codd, 12 règles de Codd ou 12 commandements de Codd.
Weendoz explique les règles de Codd
Les 12 règles de CODD définissent une base de données relationnelle idéale qui est utilisée aujourd'hui comme ligne directrice pour la conception de systèmes de bases de données relationnelles. Bien qu'aucun système de base de données commerciale ne soit entièrement conforme aux 12 règles, ils interprètent l'approche relationnelle. Voici les 12 règles du CODD :
Règle 0 : Règle fondamentale : Le système doit être qualifié de relationnel à la fois en tant que base de données et en tant que système de gestion.
Règle 1 : La règle de l'information : Toutes les informations de la base de données doivent être représentées d'une et une seule manière (c'est-à-dire sous forme de valeurs dans un tableau).
Règle 2 : La règle d'accès garanti : toutes les données doivent être logiquement accessibles via une combinaison de nom de table, de valeur de clé primaire et de nom de colonne.
Règle 3 : Traitement systématique des valeurs nulles : Un SGBD doit prendre en charge les valeurs nulles pour représenter les informations manquantes et les informations inapplicables de manière systématique, indépendamment des types de données.
Règle 4 : Catalogue en ligne actif basé sur le modèle relationnel : La base de données doit prendre en charge un catalogue relationnel en ligne accessible aux utilisateurs autorisés via leur langage de requête habituel.
Règle 5 : La règle complète du sous-langage de données : la base de données doit prendre en charge au moins un langage qui définit la fonctionnalité de syntaxe linéaire, prend en charge les opérations de définition et de manipulation des données, l'intégrité des données et le contrôle des transactions de la base de données.
Règle 6 : La règle de mise à jour des vues : La représentation des données peut se faire à l'aide de différentes combinaisons logiques appelées Vues. Toutes les vues théoriquement actualisables doivent également l'être par le système.
Règle 7 : insertion, mise à jour et suppression de haut niveau : le système doit prendre en charge les opérateurs d'insertion, de mise à jour et de suppression définis à la fois.
Règle 8 : Indépendance des données physiques : Les modifications apportées au niveau physique ne doivent pas avoir d'impact et nécessiter une modification dans le programme d'application.
Règle 9 : Indépendance des données logiques : Les modifications apportées au niveau logique ne doivent pas avoir d'impact et nécessiter une modification dans le programme d'application.
Règle 10 : Indépendance en matière d'intégrité : Les contraintes d'intégrité doivent être définies et séparées des programmes d'application. La modification des contraintes doit être autorisée sans affecter les applications.
Règle 11 : Indépendance de la distribution : L'utilisateur ne doit pas connaître l'emplacement de la base de données, c'est-à-dire si la base de données est distribuée ou non à plusieurs emplacements.
Règle 12 : La règle de non-subversion : Si un système fournit un langage de bas niveau, alors il ne devrait y avoir aucun moyen de subvertir ou de contourner les règles d'intégrité du langage de haut niveau.
De toutes les règles, la règle 3 est la plus controversée. Cela est dû à un débat sur la logique à trois valeurs ou ternaire. Les règles de Codd et SQL utilisent une logique ternaire, où null est utilisé pour représenter les données manquantes et comparer n'importe quoi à null aboutit à un état de vérité inconnu. Cependant, lorsque les deux booléens ou opérandes sont faux, l’opération est fausse ; par conséquent, toutes les données manquantes ne sont pas inconnues, d’où la controverse.