Hallo Edmund und andere Datenbank-Technik-Interessierte,
den Begriff Pointer kenne ich aus der Hundzucht ...
du bist hier nicht auf den Hund gekommen; an Evas Stelle antworte ich mal, der ich Datenbankstrukturen aus meiner fr�heren beruflichen Gro�rechnerwelt noch kenne:
Der Speicherberreich deiner Daten, z.B. in einer PAF-Datei, ist unterteilt in, sagen wir mal, "Segmente" meist bedarfsabh�ngiger L�nge, die innerhalb der Datei eine Adresse haben, wie H�user in einer Stra�e. In solchen Segmenten werden deine Daten abgelegt. Nehmen wir die einzelnen Personen deiner Datensammlung - f�r jede dieser Personen wird so ein Segment belegt. Wenn du jetzt 2 Personen miteinander verheiratest, wird ein Eheschlie�ungssegment angelegt. Das liegt vermutlich an ganz anderer Stelle als die evtl. zu unterschiedlichen Zeitpunkten "irgendwo" angelegten Personensegmente. Unter Pointern/Zeigern versteht man die Verweise der zusammengeh�rigen Segmente aufeinander durch Angabe deren Adresse, also z.B. vom Eheschlie�ungssegment zu den Segmenten der beteiligten Personen und von dort zur�ck. So ist es m�glich, diese Informationen jeweils nur einmal zu speichern und zusammengeh�rige Objekte wiederzufinden, indem man sich an Pointer-Ketten weiterhangelt. Mit der gleichen Logik sind auch Ehen mit ihren Kinder verkn�pft, und auch die unbelegten Segmente der Datei untereinander. Dass diese Pointerei in der Datenbank Platz kostet, ist klar; oft sind nur kleine Objekte auf vielerlei Weise mit vielen anderen Objekten verbunden, da wird dieser Overhead erheblich.
Weil nun mal Programme von Menschen gemacht werden und Menschen "per definitionem" Fehler machen, kann es vorkommen, dass das Programm mit seiner Pointerverwaltung gelegentlich ins Schleudern kommt, oder das Programm wird mit undefiniertem Status beendet, bevor nach einem Update die Pointerverwaltung korrekt abgeschlossen ist, weil z.B. einer den Stecker gezogen hat; PAF ist oft in der Lage, diese Fehler auf Wunsch zu reparieren, wobei das Risiko bleibt, dass dabei inhaltliche Fehler entstehen - man sollte also, �hnlich wie ich es gestern beschrieben habe, ein Sicherheitsnetz aufspannen, bevor man sich �ber den Grand Canyon zu balancieren traut.
Ich hoffe, ein bisschen Klarheit geschaffen zu haben - ich habe mich �brigens zu diesem Thema auch fr�her hier schon mal ausgelassen, weil von Zeit zu Zeit derlei Fragen immer wieder gestellt werden. - Mal ins Archiv schauen.
Freundliche Gr��e!
Nikolaus (Ordemann)