Bases des bases de données
Parmi les niveaux d'isolation définis par la norme SQL, quelle combinaison indique correctement les phénomènes qui peuvent se produire avec READ COMMITTED ?
- AAucun des phénomènes de lecture sale, de lecture non répétable ou de lecture fantôme ne peut se produire
- BLes lectures sales ne peuvent pas se produire, mais les lectures non répétables et les lectures fantômes le peuvent
- CLes lectures sales et les lectures non répétables ne peuvent pas se produire, mais les lectures fantômes le peuvent
Afficher la réponse et l'explication
Réponse : B. Les lectures sales ne peuvent pas se produire, mais les lectures non répétables et les lectures fantômes le peuvent
La norme SQL définit 4 niveaux d'isolation, du moins protecteur au plus protecteur : READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ et SERIALIZABLE. Avec READ UNCOMMITTED, les 3 phénomènes peuvent tous se produire. READ COMMITTED ne lit que des données validées et évite donc les lectures sales, mais comme chaque lecture voit la valeur validée à cet instant, les lectures non répétables et les lectures fantômes peuvent se produire. REPEATABLE READ évite en plus les lectures non répétables, mais les lectures fantômes restent possibles. SERIALIZABLE évite les 3 et garantit le même résultat qu'une exécution des transactions l'une après l'autre dans un certain ordre. Plus le niveau d'isolation est élevé, plus les attentes de verrous et les reprises sont nombreuses et moins on peut traiter de travail simultanément ; on choisit donc le niveau selon l'application. Dans les SGBD réels, le niveau d'isolation par défaut, et les phénomènes que chaque niveau évite effectivement, peuvent être plus stricts que les exigences minimales de la norme.
Continuer : 9 autres questions sur Bases des bases de données