Transactions

Table des matières
Introduction
1. Un peu d'histoire
2. Organisation de la présentation
Un premier exemple
1. Un premier exemple
1.1. Construction d'une première table
1.2. Enregistrer quelques données
1.3. Extraire des données
2. Trier, classer, calculer
2.1. Classer des données
2.2. Trier des données
2.3. Effectuer des calculs
2.4. Mise à jour d'une valeur
3. Sélection sur plusieurs tables
3.1. Ajout du lieu de naissance
3.2. Clés primaires et clés étrangères
Organisation des données
1. Introduction
2. Bases de données, schémas et tables
2.1. Création d'une table
2.2. Création d'une colonne
2.3. Contraintes sur une table
2.4. Nommage des contraintes
2.5. Exemples de création de tables
2.6. Modification d'une table
2.7. Effacement d'une table
2.8. Remarques sur restrict et cascade
3. Types de données
3.1. Les types numériques
3.2. Les types caractère
3.3. Les types temporels
3.4. Les types binaires
3.5. Type auto-incrémental de MySQL
3.6. Type auto-généré de Derby
3.7. Séquences d'Oracle
Manipulation des données
1. Introduction
2. Extraire des données : select
2.1. Extraire des données d'une table unique
2.2. Clause where
2.3. Requêtes imbriquées
2.4. Fonctions d'agrégation, groupage
3. Supprimer des données : delete
3.1. Forme générale du delete
3.2. Effacement en cascade
3.3. Fonctionnement du delete
4. Ajouter des données : insert
4.1. Forme générale de l' insert
4.2. Copie d'une table dans une autre
5. Mettre à jour des données : update
5.1. Forme générale de l' update
5.2. Mise à jour avec une requête imbriquée
Interrogations sur plusieurs tables
1. Introduction
2. Formes normales
2.1. Première forme normale
2.2. Deuxième forme normale
2.3. Troisième forme normale
2.4. Formes normales d'ordres supérieurs
3. Relations entre éléments
3.1. Cardinalité d'une relation
3.2. Relation 1:1
3.3. Relation 1:p
3.4. Relation p:1
3.5. Relation n:p
4. Jointures
4.1. Jointure interne
4.2. Jointure externe
4.3. Auto-jointure
5. Unions
6. Vues
6.1. Création d'une vue
6.2. Exemples de vues
Transactions
1. Introduction
2. Isolation des transactions
2.1. ACIDité d'une transaction
2.2. Définition de l'isolation
3. Gestion d'une transaction
3.1. Mode auto-commit
3.2. Fixer le niveau d'isolation
3.3. Démarrer une transaction
3.4. Terminer une transaction
3.5. Remarques importantes
Index
1. Introduction
2. Manipulation d'index
2.1. Création automatique d'index
2.2. Création manuelle d'index

1. Introduction

Une transaction est un ensemble d’opérations effectuées sur une base de données, qui a un caractère atomique. Lors d’une transaction, la base de données n’a pas d’état intermédiaire, tout au moins vu de l’extérieur de la transaction. Comme elle n’a pas d’état intermédiaire, elle ne peut pas être interrompue. La notion de transaction permet de définir une forme de simultanéité. Prenons l’exemple d’un bateau qui décharge sa cargaison dans un port. Nous avons deux opérations à effectuer pour mettre à jour notre base. La première consiste à retirer la cargaison de la soute du bateau, et la seconde à ajouter cette cargaison à l’entrepôt. Ces deux opérations doivent être menées simultanément. Si elles ne le sont pas, il existe un instant où la cargaison se trouve à la fois sur le bateau et dans l’entrepôt, ou un instant où la cargaison ne se trouve ni dans la soute du bateau ni sur le quai du port, suivant l’ordre dans lequel les opérations sont réalisées. Du point de vue de l'opérateur qui crée une transaction, il n'y a bien sûr pas de simultanéité : les opérations se déroulent les unes après les autres. Dans le cadre d'une transaction, un opérateur peut passer par des états dans lesquels les contraintes d'intégrité référentielles ne sont pas respectées, ce qui est parfois indispensable. Il peut également décider de revenir en arrière, et d'annuler les modifications qu'il a apportées à sa base depuis le début de sa transaction. Les transactions prennent tout leur sens pour des bases de données utilisées par plusieurs utilisateurs en même temps, ce qui est généralement le cas.
Introduction à SQL
Retour au blog Java le soir
Cours & Tutoriaux