Skip to main content

RWTH Aachen Computer Science i5/dbis assets for Lecture Datenbanken und Informationssysteme

Project description

DBIS Informatik 5 - Informationssysteme und Datenbank

Dokumentation zur Nutzung des B-Baum

In der Vorlesung haben Sie B-Bäume kennengelernt. Dieses Blatt gibt einen kurzen Überblick über ein von uns entwickeltes Python-Tool.
Im DBIS Image des Jupyter Hub der RWTH ist dieses Package bereits integriert, falls Sie das Tool lokal benutzen möchten, können Sie diese über den folgenden Befehl installieren:

pip install dbis-btree
# in jupyter notebooks:
!pip install dbis-btree

Die folgende Zelle importiert das Python Modul und ermöglicht dessen Nutzung innerhalb des Notebooks:

from dbis_btree.BBaum import BTree

B-Baum als Objekt

Als erstes müssen Sie eine neue Instanz der Klasse BTree erzeugen. Diesem Objekt werden im weiteren Verlauf Knoten nodes und Kanten edges hinzugefügt. Geben Sie die M-Value für den B-Baum an.

# zum Beispiel M = 4
M = 4
bbaum = BTree(4)
# anzeigen des noch leeren bbaums:
bbaum.draw()

Knoten

Neue Knoten zum Baum hinzufügen: add_node(name, elements)

Geben sie dem Knoten einen eindeutigen Namen und die Zahlen, die im Knoten sich befinden sollen.
Wenn im Graph schon der Knoten mit diesem Namen existiert, kommt der Fehler:

AssertionError: Bitte nutze einen anderen Name für diese Node.

Konstruktor einer Relation:

  • name: String - Eindeutiger Name des Knoten
  • elements: Int Liste - Liste aus Int
bbaum = BTree(4)
# hinzufügen Knoten A
name = "A"
elements = [10,20]

bbaum.add_node(name, elements)

# hinzufügen Knoten B
bbaum.add_node("B", [1,2])

# nicht vergessen, den baum anzuzeigen:
bbaum.draw()

B-Tree generated above

Kanten

Neue Knoten zum Baum hinzufügen: add_edge(parent, child, n_child):

Dies fügt im Baum eine Kante vom parent-Knoten zum child-Knoten, an der der n_child-ten Stelle im parent-Knoten.

Konstruktor einer Relation:

  • name: String - Eindeutiger Name des Parent Knoten
  • child: String - Eindeutiger Name des Child Knoten
  • n_child: Int - Position im Parent Knoten.
bbaum = BTree(4)
# hinzufügen Knoten A
name = "A"
elements = [10,20]

bbaum.add_node(name, elements)

# hinzufügen Knoten B
bbaum.add_node("B", [1,2])

# hinzufügen einer Kante an 1st Stelle
positionImParentNode = 1
bbaum.add_edge("A", "B", positionImParentNode)

# nicht vergessen, den baum anzuzeigen:
bbaum.draw()

B-Tree generated above

Häufige Fehler und Warnungen

Warning: node A, port f5 unrecognized

bedeutet, dass eine falsche Zahl beim Parameter n_child genutzt wurde.
add_edge(parent, child, n_child):
In unserem Fall wurde dieser Fehler wurde ausgelöst, als eine Kante an Stelle 5 in Knoten A hinzugefügt wurde. Jedoch besaß A nur insgesamt Stellen 1 bis 4 um Kanten hinzuzufügen.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbis-btree-1.0.4.tar.gz (10.6 kB view hashes)

Uploaded Source

Built Distribution

dbis_btree-1.0.4-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page