Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Frage zu B-Baum und B+-Baum bezüglich Select *

Dieses Thema im Forum "Allgemeine Diskussionen" wurde erstellt von HansD, 6 Juni 2012.

  1. HansD

    HansD Neuer Benutzer

    Hallo,

    bei mir steht bald eine Datenbanken Klausur an, und daher bin ich mit dem Lösen von alten Klausuren beschäftigt und habe ein paar Fragen.

    Die Aufgabe lautet:

    Wie wird der Befehl Select * from TAB1 lesetechnisch im Baum umgesetzt, wenn die Daten,

    a) in einem B-Baum gespeichert sind? (erläutern bsp anhand Skizze)

    Angenommen ich zeichne einen Baum mit drei Ebenen, dann würde ich schreiben, dass er beim Baum erstmal nach links ganz unten geht, dann hoch, dann wieder runter, dann wieder hoch usw, bis er den ganzen Baum durchlaufen hat, da ja die Daten in den Blättern liegen.

    b) in einem B+-Baum gespeichert sind?
    Hier wäre meine Antwort, dass er im Baum einfach links nach unten in die unterste Ebene geht, zu den ersten Daten und dann einfach bis ganz nach rechts geht und somit alle Daten hat.


    Ich denke meine Antworten müssten soweit passen. Falls ich hier schon falsch liege, bitte ich um Hinweise.

    Mein Problem liegt in den folgenden zwei Fragen:

    Wie wird der Befehl Select * from TAB1 order by f1 descending (f1 ist der Primärschlüssel/Clustered Index) leseteschnisch im Baum umgesetzt, wenn die Daten in einem

    a) B-Baum gespeichert sind?

    Der B-Baum hat ja keinen Clustered Index, also ist hier f1 der Primärschlüssel.
    Meine Antwort wäre, dass er jetzt im Baum RECHTS runter geht und dann wieder rauf usw, wie eben vorher bei Aufgabe a, nur eben, dass er jetzt rechts geht und nicht links.

    Oder wird hier der Baum umsortiert und er geht wieder links runter??!


    b) B+-Baum gespeichert sind

    B+-Baum verwendet ja einen Clustered Index, also ist hier f1 der Clustered Index. Hier wären ja die Daten eigentlich schon sortiert, aber durch das order by, sortiert er ja nochmal?!

    Die Daten sind auf jeden Fall wieder in der untersten Ebene, nur weiß ich eben nicht, geht er links runter in die unterste Ebene und geht dann die Ebene nach rechts und hat dann die Daten, oder geht er rechts in die untereste Ebene und dann nach links rüber?

    Wäre sehr dankbar für Hilfe :)

    Grüße, Hans
     
  2. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Soweit ich dich verstehe, hast du eine Tabelle, welche eine Baumstruktur UND/ODER eine Hierachie wiederspiegel soll!?

    Dies ist relativ einfach mit sogenannten "Hierachischen" Abfragen lösbar.

    Hast du vl. die Spezifikation der Tabelle?
    Oder sollst du diese erstellen?

    Lg
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden