Edgar Frank Codd

Un article de Wikipédia, l'encyclopédie libre.

Edgar Frank Codd (23 août 1923 - 18 avril 2003) fut un informaticien britannique. Il est considéré comme l'inventeur du modèle relationnel des SGBDR. Malgré le succès du langage SQL qui a suivi, Edgar F. Codd dénoncera cet outil qu'il considère comme une interprétation incorrecte de ses théories.

L'article de E. F. Codd qui fonde le modèle relationnel est « A Relational Model of Data for Large Shared Data Banks", CACM 13, No. 6, June 1970, mais une première description de ce modèle avait déjà été publiée l'année précédente dans un rapport technique : « Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks », IBM Research Report RJ599.

[modifier] Biographie

Edgar Frank Codd est né à Portland dans le Dorset. Il a étudié les mathématiques et la chimie à l'Université d'Exeter, Oxford, avant de servir en tant que pilote dans la Royal Air Force pendant la Seconde Guerre mondiale. En 1948 il déménagea à New York pour travailler chez IBM comme programmeur mathématique. En 1953, irrité par le sénateur Joseph McCarthy, Codd émigra à Ottawa. Ce n'est qu'une décennie plus tard qu'il revint aux États-Unis et reçut son doctorat en informatique de l'Université du Michigan à Ann Arbor. Deux ans après il rejoignit le centre de recherches d'Almaden d'IBM à San Jose en Californie.

Dans les années 60-70 il établit ses théories d'arrangement de données qu'il publia en 1970 dans son article « Un modèle apparenté des données pour de grandes banques de données partagées. » À sa déception, IBM tarda à exploiter ses suggestions et les premières applications de ses théories furent développées par des entreprises concurrentes. Ce fut par exemple le cas pour la base de données Oracle développée par Larry Ellison d'après les idées de Codd.

Codd a continué à développer et à étendre son modèle de données relationnelles, parfois en collaboration avec Chris Date. Une des formes normales dans la normalisation de base de données, la forme normale de Boyce-Codd, est baptisée du nom de Codd.

Edgar Codd a également inventé la limite OLAP et a écrit les douze lois du traitement analytique en ligne. Codd a également contribué à la connaissance dans le secteur des automates cellulaires.

Codd reçu le prix Turing en 1981.

Le vendredi 18 avril 2003, Edgar F. Codd est mort d'un arrêt cardiaque à son domicile sur l'île de Williams (Floride) à l'âge de 79 ans.

[modifier] Les 12 règles de Codd

Les 12 règles de Codd sont un ensemble de règles édictées par Edgar F. Codd, conçues pour définir ce qui est exigé d'un système de gestion de base de données (SGBD) afin qu'il puisse être considéré comme relationnel (SGBDR).

  • Règle 1 : La règle de l'information:
Toute l'information dans la base de données est représentée d'une et une seule manière, à savoir par des valeurs dans des champs de colonnes de tables.
  • Règle 2 : La règle garantie d'accès:
Toutes les données doivent être accessibles sans ambiguïté. Cette règle est essentiellement un ajustement de la condition fondamentale pour des clefs primaires. Elle indique que chaque valeur scalaire individuelle dans la base de données doit être logiquement accessible en indiquant le nom de la table contenante, le nom de la colonne contenante et la valeur principale primaire de la rangée contenante.
  • Règle 3 : Traitement systématique des valeurs nulles:
Le système de gestion de bases de données doit permettre à chaque champ de demeurer nul (ou vide). Spécifiquement, il doit soutenir une représentation "d'information manquante et d'information inapplicable" qui est systématique, distincte de toutes les valeurs régulières (par exemple, "distincte de zéro ou tous autres nombres," dans le cas des valeurs numériques), et ce indépendamment du type de données. Cela implique également que de telles représentations doivent être gérées par le système de gestion de bases de données d'une manière systématique.
  • Règle 4 : Catalogue en ligne actif basé sur le modèle relationnel:
Le système doit supporter un catalogue en ligne, intégré, relationnel, accessible aux utilisateurs autorisés au moyen de leur langage d'interrogation régulier. Les utilisateurs doivent donc pouvoir accéder à la structure de la base de données (catalogue) employant le même langage d'interrogation qu'ils emploient pour accéder aux données de la base de données.
  • Règle 5 : La règle complète de sous-langage de données:
Le système doit soutenir au moins un langage relationnel qui:
(a) a une syntaxe linéaire
(b) peut être employé interactivement et dans des programmes d'application,
(c) supporte des opération de définition d'informations supplémentaires (incluant des définitions de vues), de manipulation de données (mise à jour aussi bien que la récupération), de contraintes de sécurité et d'intégrité, et des opérations de gestion de transaction (commencer, valider et annuler une transaction).
  • Règle 6 : La règle de mise à jour des vues :
Toutes les vues pouvant théoriquement être mises à jour doivent pouvoir l'être par le système.
  • Règle 7 : Insertion, mise à jour, et effacement de haut niveau:
Le système doit supporter les opération par lot d'insertion, de mise à jour et de suppression. Ceci signifie que des données peuvent être extraites d'une base de données relationnelle dans des ensembles constitués par des données issues de plusieurs tuples et/ou de multiples table. Cette règle explique que l'insertion, la mise à jour, et les opérations d'effacement devraient être supportées aussi bien pour des lots de tuples issues de plusieurs tables que juste pour un tuple unique issu d'une table unique.
  • Règle 8 : L'indépendance de donnée physique:
Les modifications au niveau physique (comment les données sont stockées, si dans les rangées ou les listes liées etc...) ne nécessitent pas un changement d'une application basée sur les structures.
  • Règle 9 : L'indépendance de donnée logique:
Les changements au niveau logique (tables, colonnes, rangées, etc) ne doivent pas exiger un changement dans l'application basée sur les structures. L'indépendance de données logiques est plus difficile a atteindre que l'indépendance de donnée physique.
  • Règle 10 : L'indépendance d'intégrité:
Des contraintes d'intégrité doivent être indiquées séparément des programmes d'application et être stockées dans le catalogue. Il doit être possible de changer de telles contraintes au fur et à mesure sans affecter inutilement les applications existantes.
  • Règle 11 : L'indépendance de distribution:
La distribution des parties de la base de données à de diverses localisations devrait être invisible aux utilisateurs de la base de données. Les applications existantes devraient continuer à fonctionner avec succès :
(a) quand une version distribuée du système de gestion de bases de données est d'abord présentée ; et
(b) quant des données existantes sont redistribués dans le système.
  • Règle 12 : La règle de nonsubversion:
Si le système fournit une interface de bas niveau , alors cette interface ne peut pas être employée pour contourner le système, par exemple, pour contourner une contrainte relationnelle de sécurité ou d'intégrité.

On considère parfois une règle 0, qui stipule que l'intégralité des fonctions du SGBDR doit être accessible par le modèle relationnel. Codd formula six autres règles en 1990.

[modifier] Voir aussi