Les transactions
La modernisation des chaînes de fabrication a été principalement causée dans un premier temps par l'électronique et l'automatique. Avant de s'imposer aussi dans la production, l'informatique a, elle, profondément pénétré l'industrie en modifiant radicalement la manière dont des transactions, comme les commandes ou la paye, étaient gérées de manière automatique.
Une transaction informatisée est la forme dématérialisée d'un contrat. Son coût peut se trouver incomparablement plus faible que celui d'une transaction réelle mettant en jeu des déplacements de personnes sur des échelles de temps bien plus longues. Avec des fonctionnalités considérablement élargies par le recours à l'informatique, les transactions se retrouvent au cœur de nombreuses applications qui ont largement contribué à populariser les systèmes relationnels comme, par exemple, les applications bancaires.
Les systèmes relationnels répondent aux besoins des transactions en supportant la notion de transaction relationnelle. Une transaction relationnelle garantit qu'une séquence d'opérations se réalise correctement, par exemple en empêchant qu'une somme d'argent ne s'évanouisse dans la nature (avec un compte en banque débité sans qu'un autre ne soit crédité). Même l'occurrence d'une panne ne doit pas pouvoir conduire à une exécution incorrecte.
Il nous faut donc formaliser la notion d'exécution correcte. Évidemment, il serait impossible de le faire précisément s'il fallait tenir compte des millions de choses que font de tels systèmes. Mais l'informatique, comme les mathématiques, dispose d'un outil fantastique : l'abstraction. Nous pouvons considérer ce que fait un système relationnel sous l'angle des transactions relationnelles et des modifications qu'elles apportent aux données, en faisant abstraction de toutes les autres tâches qu'il réalise. Il devient alors possible de définir formellement la notion d'exécution correcte.