Kara
Le Dr Codd est le fondateur du modèle de base de données relationnelle. Il a publié un article en deux parties qui énumère 12 règles (ou principes). Ces règles sont appelées les 12 règles de Codd. Les règles du Dr Codd fournissent une mesure (étalon) très utile pour évaluer un système de base de données relationnelle. Ces règles sont utilisées pour déterminer si un SGBD est relationnel et dans quelle mesure il est relationnel. Le Dr Codd a également mentionné que selon ces règles, aucun système entièrement relationnel n'est encore disponible. Les règles de Codd sont décrites ci-dessous :
0, Règle Zéro : Selon cette règle, tout système prétendu être un système de gestion de base de données relationnelle (SGBDR) doit être capable de gérer les données de la base de données grâce à ses capacités relationnelles.
1. Représentation des informations : toutes les informations d'une base de données relationnelle sont clairement représentées sous forme de lignes et de colonnes. Cela signifie que les informations sont stockées dans des tables.
2. Accès garanti : chaque valeur atomique dans une base de données relationnelle est garantie d'être accessible logiquement en spécifiant le nom de la table, la valeur de la clé primaire et le nom de la colonne.
3. Représentation des valeurs nulles : Le système doit être capable de représenter des valeurs nulles de manière systématique.
4. Catalogue relationnel : Le catalogue système qui contient la description logique
de la base de données doit être représenté de la même manière que les données ordinaires.
5. Sous-langue de données complète : Un système relationnel peut prendre en charge plusieurs langues et divers modes d'utilisation du terminal. Cependant, il doit exister au moins un langage dont les instructions peuvent être exprimées dans une syntaxe bien définie sous forme de chaînes de caractères et qui a la capacité de prendre en charge tous les éléments suivants :
* définition de données
* définition de vue
* manipulation de données
* contraintes d'intégrité
* limites de transaction
6. Mise à jour des vues : Toutes les vues qui sont théoriquement modifiables sont également modifiables par le système.
7. Opérations d'insertion, de mise à jour et de suppression : le système doit avoir la capacité d'insérer, de mettre à jour et de supprimer les données des tables.
8. Indépendance physique des données : les programmes d'application et les activités du terminal restent logiquement uniformes chaque fois que des modifications sont apportées à la représentation de stockage ou aux méthodes d'accès.
9. Indépendance logique des données : les programmes d'application et les activités du terminal restent logiquement uniformes lorsque la structure des tables de la base de données change.
10. Indépendance d'intégrité : Les contraintes d'intégrité spécifiques à une base de données relationnelle particulière doivent être définissables dans le sous-langage des données relationnelles et stockées dans le catalogue, et non dans les programmes d'application. Au moins les deux contraintes d'intégrité suivantes doivent être prises en charge.
Intégrité de l'entité : aucun composant d'une clé primaire n'est autorisé à avoir une valeur nulle.
Intégrité référentielle : si la clé étrangère est définie dans une base de données relationnelle, chaque valeur de clé étrangère doit avoir une valeur de clé primaire correspondante dans une autre table de base de données.
11. Indépendance de distribution : Un SGBDR a une indépendance de distribution. Cela signifie que si la base de données est distribuée, les programmes d'application et les commandes de l'utilisateur n'ont pas besoin d'être modifiés.
12. Non-subversion : si un système relationnel a un langage de bas niveau (un seul enregistrement à la fois), ce langage de bas niveau ne peut pas être utilisé pour contourner les règles d'intégrité ou les contraintes exprimées dans le niveau supérieur (enregistrements multiples à un temps) langage relationnel.