B-Arbre +
Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée Pleine - diviser la page feuille en deux - placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié - la page feuille gauche contient les clés < à la clé médiane - la page feuille droite contient les clé >= à la clé médiane Plein - la feuille gauche contient les clés < à la valeur clé médiane - la feuille droite contient les clés >= à la valeur clé médiane - diviser la page non feuille (index) père en deux clés < clé médiane -> page index gauche clés > clé médiane -> page index droite clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index)
Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée Pleine - diviser la page feuille en deux - placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié - la page feuille gauche contient les clés < à la clé médiane - la page feuille droite contient les clé >= à la clé médiane Plein - la feuille gauche contient les clés < à la valeur clé médiane - la feuille droite contient les clés >= à la valeur clé médiane - diviser la page non feuille (index) père en deux clés < clé médiane -> page index gauche clés > clé médiane -> page index droite clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index) Cas 1
Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée Pleine - diviser la page feuille en deux - placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié - la page feuille gauche contient les clés < à la clé médiane - la page feuille droite contient les clé >= à la clé médiane Plein - la feuille gauche contient les clés < à la valeur clé médiane - la feuille droite contient les clés >= à la valeur clé médiane - diviser la page non feuille (index) père en deux clés < clé médiane -> page index gauche clés > clé médiane -> page index droite clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index) Cas 2
Insertion dans un B-Arbre + Page feuille Page index Action Vide - Placer la clé dans sa bonne position (selon l’ordre) dans la page feuille appropriée Pleine - diviser la page feuille en deux - placer la valeur clé médiane dans la page interne (index) père P dans un ordre approprié - la page feuille gauche contient les clés < à la clé médiane - la page feuille droite contient les clé >= à la clé médiane Plein - la feuille gauche contient les clés < à la valeur clé médiane - la feuille droite contient les clés >= à la valeur clé médiane - diviser la page non feuille (index) père en deux clés < clé médiane -> page index gauche clés > clé médiane -> page index droite clé médiane `-> page index du niveau supérieur (si la page index du niveau supérieur est pleine, on continue la division de cette page index) Cas 3
Suppression dans un B-Arbre + Page feuille Violation Page index Action Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages. Oui - Combiner (fusionner) la page feuille et sa sœur. - Changer la page d’index pour refléter le changement. - Combiner (fusionner) la page avec sa sœur. - Ajuster la page index pour refléter le changement. - Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine.
Suppression dans un B-Arbre + Page feuille Violation Page index Action Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages. Oui - Combiner (fusionner) la page feuille et sa sœur. - Changer la page d’index pour refléter le changement. - Combiner (fusionner) la page avec sa sœur. - Ajuster la page index pour refléter le changement. - Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine. Cas 1
Suppression dans un B-Arbre + Page feuille Violation Page index Action Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages. Oui - Combiner (fusionner) la page feuille et sa sœur. - Changer la page d’index pour refléter le changement. - Combiner (fusionner) la page avec sa sœur. - Ajuster la page index pour refléter le changement. - Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine. Cas 2
Suppression dans un B-Arbre + Page feuille Violation Page index Action Non - Supprimer la clé de la page feuille et arranger les clés dans l’ordre croissant pour remplir le vide. Si la clé à supprimer apparaît dans une des pages index, utiliser la prochaine valeur clé (supérieure) pur la remplacer dans ces pages. Oui - Combiner (fusionner) la page feuille et sa sœur. - Changer la page d’index pour refléter le changement. - Combiner (fusionner) la page avec sa sœur. - Ajuster la page index pour refléter le changement. - Combiner (fusionner) les pages index jusqu’à rencontrer une page avec un facteur de remplissage correct (pas de violation) ou rencontrer la racine. Cas 3
Insertion Insérer 65 (Cas 1) 65
Insérer 25 (Cas 1) 25 65
Insérer 50 (Cas 1) 25 50 65
Insérer 30 (Cas 1) 25 30 50 65
Insérer 85 (Cas 2) 25 30 50 65 85 25 30 50 65 85 50 25 30 50 65 85
Insérer 75 (Cas 1) 50 25 30 50 65 75 85
Insérer 80 (Cas 2) 50 80 25 30 50 65 75 85 50 25 30 50 65 75 80 85 50 25 30 50 65 75 80 85
Insérer 80 (Cas 2) 50 75 25 30 50 65 75 80 85
Insérer 55 (Cas 1) 50 75 25 30 50 55 65 75 80 85
Insérer 60 (Cas 1) 50 75 25 30 50 55 60 65 75 80 85
Insérer 20 (Cas 1) 50 75 20 25 30 50 55 60 65 75 80 85
Insérer 90 (Cas 1) 50 75 20 25 30 50 55 60 65 75 80 85 90
Insérer 5 (Cas 1) 50 75 5 20 25 30 50 55 60 65 75 80 85 90
Insérer 10 (Cas 2) 50 75 10 5 20 25 30 50 55 60 65 75 80 85 90 50 75 5 10 20 25 30 50 55 60 65 75 80 85 90 50 75 5 10 20 25 30 50 55 60 65 75 80 85 90
Insérer 10 (Cas 2) 20 50 75 50 55 60 65 75 80 85 90 5 10 20 25 30
Insérer 15 (Cas 1) 20 50 75 50 55 60 65 75 80 85 90 5 10 15 20 25 30
Insérer 28 (Cas 1) 20 50 75 50 55 60 65 75 80 85 90 5 10 15 20 25 28 30
Insérer 70 (Cas 2) 20 50 75 50 55 60 65 75 80 85 90 5 10 15 70 20 25 28 30 20 50 75 50 55 60 65 75 80 85 90 5 10 15 70 20 25 28 30
Insérer 70 (Cas 2) 20 50 60 75 50 55 75 80 85 90 5 10 15 20 25 28 30 60 65 70
Insérer 95 (Cas 3) 20 50 60 75 50 55 75 80 85 90 5 10 15 95 20 25 28 30 60 65 70 20 50 60 75 50 55 75 80 85 90 5 10 15 95 20 25 28 30 60 65 70
Insérer 95 (Cas 3) 20 50 60 75 85 50 55 75 80 5 10 15 20 25 28 30 60 65 70 85 90 95
Insérer 95 (Cas 3) 20 50 60 75 85 50 55 75 80 5 10 15 20 25 28 30 60 65 70 85 90 95
Insérer 95 (Cas 3) 20 50 60 75 85 50 55 75 80 5 10 15 20 25 28 30 60 65 70 85 90 95 60 20 50 75 85 50 55 75 80 5 10 15 20 25 28 30 60 65 70 85 90 95
Suppression 60 25 50 75 85 50 55 75 80 5 10 15 25 28 30 60 65 70 85 90 95
Suppression Supprimer 70 (Cas 1) 60 25 50 75 85 50 55 75 80 5 10 15 20 28 30 60 65 70 85 90 95 Sans violation 70 n’appartient pas à une page interne
Suppression 60 25 50 75 85 50 55 75 80 5 10 15 20 25 28 30 60 65 85 90 95
Suppression Supprimer 25 (Cas 1) 60 25 50 75 85 50 55 75 80 5 10 15 20 28 30 60 65 85 90 95 Sans violation 25 appartient à une page interne
Suppression 60 28 50 75 85 50 55 75 80 5 10 15 20 28 30 60 65 85 90 95
Suppression Supprimer 60 (Cas 2 et 3) 60 28 50 75 85 50 55 75 80 5 10 15 20 28 30 60 65 85 90 95 Violation
Suppression Supprimer 60 (Cas 2 et 3) 60 28 50 75 85 50 55 75 80 5 10 15 20 28 30 60 65 85 90 95 Fusionner
Suppression Supprimer 60 (Cas 2 et 3) 60 28 50 75 85 50 55 75 80 5 10 15 20 28 30 60 65 85 90 95 On peut fusionner avec l’autre frère Cas 2 Fusion
Suppression Supprimer 60 (Cas 2 et 3) 65 28 50 75 85 50 55 65 75 80 5 10 15 20 28 30 85 90 95
Suppression Supprimer 60 (Cas 2 et 3) 65 Violation 28 50 85 50 55 65 75 80 5 10 15 20 28 30 85 90 95
Suppression Supprimer 60 (Cas 2 et 3) 65 Fusionner 28 50 85 50 55 65 75 80 5 10 15 20 28 30 85 90 95
Suppression Supprimer 60 (Cas 2 et 3) 65 Fusionner 28 50 85 50 55 65 75 80 5 10 15 20 28 30 85 90 95
Suppression Supprimer 60 (Cas 2 et 3) 28 50 65 85 50 55 65 75 80 5 10 15 20 28 30 85 90 95