Le théorème de Codd
Codd a démontré le théorème suivant :
Théorème 1.2.1. [Codd] : une question est exprimable en calcul relationnel si et seulement si elle peut être évaluée avec une expression de l'algèbre relationnelle, et il est facile de transformer une requête du calcul en une expression algébrique qui évalue cette requête.
Que nous apprend ce théorème ? Pas grand-chose du point de vue des mathématiques. Le calcul relationnel est emprunté aux logiciens. Une algébrisation (légèrement différente) avait même déjà été proposée par Alfred Tarski (1901-1983). Mais d'un point de vue informatique, Codd a posé les bases de la médiation autour des données entre individus et machines. Grâce à son résultat, nous savons que nous pouvons exprimer une question en calcul relationnel, qu'un système peut traduire cette question en expression algébrique et calculer efficacement sa réponse. Pourtant, quand Codd proposa cette approche, la réaction des ingénieurs qui géraient alors de gros volumes de données et de grandes applications, fut unanime : trop lent ! ça ne passera pas à l'échelle. Ils se trompaient. Pour traduire l'idée de Codd en une industrie de milliards de dollars, il manquait l'optimisation de requête. Après des années d'effort, les chercheurs sont parvenus à faire fonctionner les systèmes relationnels avec des temps de réponse acceptables. Avec ces systèmes, le développement d'applications gérant des données devenait beaucoup plus simple ; cela se traduisait par un accroissement considérable de la productivité des programmeurs d'applications gérant des gros volumes de données.