Hello,
kann mir bitte jemand den Unterschied zwischen "Datenstruktur" und "Tabellenstruktur" in einer Datenbank kurz erklären.
Irgendein, nicht unbedingt konstantes Datenstrukturmodell liegt der Tabellenstruktur zugrunde. Die Datenstruktur der Tabelle muss sich ohnehin mit jedem Eintrag ändern. In vielen Fällen geschieht dies aber regelmäßig.
Das bedeutet etwas länger ausgedrückt:
Speicher ist sowohl im RAM als auch auf Persistentmedien i.d.R. linear verwaltet. Du kannst ihn dir also wie einen Bindfaden vorstellen, auf dem dann die Daten unterzubringen sind.
Aus den Datentypen, Grundtypen und selbstdefinierten, baut man sich nun eine Struktur für seine Daten. Das nennt man dann Datenstruktur, Record, Struct(ure), (Daten-)satz.
In einer "Tabelle" nennt man es dann "Zeile".
In einfachen Systemen bleibt so eine Satzdefinition (Zeilendefinition) über die Lebensdauer der Datei (Tabelle) konstant. Das bedeutet dann, dass man diese Strukturen als genaues Typenabbild (mit jeweils anderen Inhalten) einfach aneinanderreiht, wenn man Daten ansammelt.
In komplexeren Systemen werden die Daten aber nicht mehr in Sätzen gespeichert, sondern in Typenbäumen oder zumindest Elementbäumen (siehe z.B. "B+Tree"). Außerdem können sich die Strukturen auch von Satz zu Satz ändern, also nicht alle Elemente in die Bäume eingebaut werden. Da wird es dann irgendwann richtig kompliziert.
Je nachdem, wie die Daten nun angeordnet werden, spricht man von
- wahlfreiem Zugriff
- sequenziellem Zugriff (mit fester Satzlänge)
- vollständig sequentueillem Zugriff
(Textdatei. Sowohl Satzlänge als auch beteiligte Elemente können unterschiedlich
viel Platz beanspruchen) - Baumstruktur
- direktgestreuter Zugriff (hier liegt von vornherein fest, welcher Datensatz an
welcher Stelle abgespeichert wird, wenn er denn erscheint) - ...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg