Hallo zusammen!
Meine derzeitige Hausaufgabe besteht darin ein Datenbank-System zu programmieren.
Eine Datenbank ist im Prinzip ein Ordner und Tabellen sind Heapfiles in diesem Ordner.
Tabellen bekommen ein Schema (zB:
) welches angibt, welche Fields die Tabelle hat.
Zur Zeit speichere ich das Schema in den ersten Zeilen der Heapfile.
Mir ist nun derzeit leider nicht klar, wie ich am besten einen Record darstelle. Der braucht ja folgendes:
- Eine RecordID bestehend aus einer PageID und einer Slotnumber
- Values für die einzelnen Fields (Spalten)
Wie speichere ich jetzt die Values ab?
Es ist vorgegeben:
.
Ich könnte für die Values einfach auch ein Object-Array verwenden, aber dann wird
schwierig.
Ich könnte irgendwie so etwas wie eine Map verwenden...aber dann müsste ich in der File dauernd die Spaltennamen wiederholen, oder?
Also:
Was für Attribute braucht ein Record-Objekt?
Wie speichere ich dieses dann am geschicktesten in der HeapFile / im Buffer?
Ich hoffe ich habe mein Problem einigermaßen verständlich erklärt und ihr wisst eine Antwort!
Gruß,
Jman
Meine derzeitige Hausaufgabe besteht darin ein Datenbank-System zu programmieren.
Eine Datenbank ist im Prinzip ein Ordner und Tabellen sind Heapfiles in diesem Ordner.
Tabellen bekommen ein Schema (zB:
Java:
Object[][] schema = { { "int", "4", "id" },
{"int", "4", "salary" },
{"varchar", "128", "name" },
{"varchar", "128", "address" } };
Zur Zeit speichere ich das Schema in den ersten Zeilen der Heapfile.
Mir ist nun derzeit leider nicht klar, wie ich am besten einen Record darstelle. Der braucht ja folgendes:
- Eine RecordID bestehend aus einer PageID und einer Slotnumber
- Values für die einzelnen Fields (Spalten)
Wie speichere ich jetzt die Values ab?
Es ist vorgegeben:
Java:
public Record createRecord(Object[] tuple)
Ich könnte für die Values einfach auch ein Object-Array verwenden, aber dann wird
Java:
public Object readFieldValue(String fieldName)
Ich könnte irgendwie so etwas wie eine Map verwenden...aber dann müsste ich in der File dauernd die Spaltennamen wiederholen, oder?
Also:
Was für Attribute braucht ein Record-Objekt?
Wie speichere ich dieses dann am geschicktesten in der HeapFile / im Buffer?
Ich hoffe ich habe mein Problem einigermaßen verständlich erklärt und ihr wisst eine Antwort!
Gruß,
Jman