Qu'est-ce que Niveau d'isolation ?

Réglage qui détermine dans quelle mesure on évite les interférences entre transactions exécutées simultanément. La norme SQL définit 4 niveaux : READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ et SERIALIZABLE. Plus le niveau est élevé, plus il évite de lectures sales, de lectures non répétables et de lectures fantômes, mais moins on peut traiter de travail simultanément.

Nom japonais: 分離レベル

« Niveau d'isolation » apparaît dans 3 questions d'entraînement réparties sur 1 thèmes, dont Bases des bases de données.

Domaine: Bases des bases de données

S'entraîner : questions sur Niveau d'isolation

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 ?

  1. AAucun des phénomènes de lecture sale, de lecture non répétable ou de lecture fantôme ne peut se produire
  2. BLes lectures sales ne peuvent pas se produire, mais les lectures non répétables et les lectures fantômes le peuvent
  3. 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.

« Niveau d'isolation » dans les explications

Questions mentionnant « Niveau d'isolation » (3)

  1. 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 ?
  2. Parmi les problèmes qui surviennent lorsque des transactions s'exécutent simultanément, quelle description d'une lecture sale (dirty read) est correcte ?
  3. La transaction T1 a exécuté SELECT COUNT(*) FROM Commande WHERE Montant >= 1000 et a obtenu 8. Juste après, T2 a inséré une ligne de commande d'un montant de 2000 et l'a validée. Lorsque T1 a exécuté de nouveau la même instruction SELECT, elle a obtenu 9. De quel phénomène s'agit-il ?

Termes associés

SQL Transaction Base de données relationnelle Clé étrangère (foreign key) Clé primaire Diagramme E-R (entité-association) Index (index de base de données) Normalisation NoSQL Propriétés ACID

Retour au glossaire