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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file dbis-btree-1.0.4.tar.gz.

File metadata

  • Download URL: dbis-btree-1.0.4.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for dbis-btree-1.0.4.tar.gz
Algorithm Hash digest
SHA256 fe5cac3fa22cb2e30fe9ba34594c1b42247628f3775ea66693ed6c66a256e450
MD5 48a8beeeef6b74280cfdf3a82500aedb
BLAKE2b-256 c6eaa36977ff723dde11ac6b0ae7b05443c20fcda0c0cbd3751f1c916f7a7e0d

See more details on using hashes here.

File details

Details for the file dbis_btree-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: dbis_btree-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for dbis_btree-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a89b26383941ee00c5e685987fa5ea4c402bb31621776b95f9209dd0db2f42f6
MD5 e2b4d399484d94b3795c8923c50104ce
BLAKE2b-256 2a58f4131dffa50e4508573b6a296f25263753b9c1f26871fc0a0d03233c85a6

See more details on using hashes here.

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