Du musst die Textlänge nicht wirklich definieren. Es ist nur Empfehlenswert.
Die Sache ist die. Wenn du die Textlänge definiert (ist eh meist bei 255 Zeichen Schluß) ist die Verwaltung der Datenbank durch das Datenbanksystem einfacher. Dies führt zu kleineres Datenbanken und schnelleren Zugriff.
Damals vor anno Tobac gab es 3 Arten von Datenbanken.
Sequenzielle Datenbanken (so was wie das Maps gedöns) = vorne anfangen -hinten aufhören. Die bekanntes Variante sind Datensätze mit Trennzeichen mit TXT-Format.
Relationale Datenbanken = Die sogenannten Karteikarten-Datenbanken (Feste Felder und Struckturen) = sehr beliebt als Adressendatenbanken
Und eine Mischung von beiden.
Die Index Sequenz orientierte Datenbanken. Die legten für jeden Index ein File an. Dieses File enthielt den Indexbegriff und die Sprungadresse. Die wirkliche Datenbank war eine Art Karteikasten mit festen Feldlängen (wie ein Formular). Du konntest den Datensatz auch direkt anspringen wie die die Einsprungadresse berechnet hast nach folgenden Formel (Länge des Datensatz * Nr. des Datensatz). Eine ähnliche Technik benutzte ich heutzutage wenn ich hex-Files lesen tue.
Kommen wie nun zu den Texten die Länge sind als 255 Zeichen. Datenbanken der Generation DBase legten diese Texte in externen Datenfiles ab. Die sogenannten Memo-Dateien. *.dbT . Im der Orginal-Datenbank wird dabei ein Pointer (ähnlich den Indexdateien der ersten Generation) auf diese Text-Datei verlegt. Schreibt nun ein User ein Text in die DB wird dieser in AN die Memo-Datenbank dran gehängt. Nur wirds lustig. Am Ende des Textes schreib die DB ein Pointer (der ist entweder ein EoF (End of Data)) oder eine Sprungadresse wo er Daten weiter lesen kann. Passiert wenn der User ein neuen Text abspeichert der grösser ist als der alte.
Das ganze führte mit der Zeit zu immer langsameren Zugriffen so das man den Befehl "Reorganisieren" ausführen musste. Dabei werden dann gelöschte Datensätze (die nur ein Löschvermerk haben) nicht um kopiert. Weil reorganisieren bedeutet nix anderes als den gesammelten Daten in die richtige Reihenfolge neu zu schreiben. Ein Vorgang den selbst modernste Datenbanken so handhaben. Die neue Datei ist dann je nach Lösch-/Änderungsvorgängen viel kleiner als die alten. Reorg. gibt es auch heute noch. Jedoch ist er kaum noch erforderlich. Grund sind moderne Algorithmen die die Datenbak gut unter Kontrolle haben.
Eine SQL-Datenbank ist ein Zwitter. Sie benutzt beide Techniken gleichzeitig. Man definiert die Länge des Textfeld (und dann ist ein ein Textfeld) oder man lässt es, dann ist ein ein Memo-Feld. Gespeichert und organisiert wird das ganz von der SQL-Software selbst und zwar in GOTTSEIDANK in EINER Datei. (Ich hab im mein Leben schon 1000 x geflucht weil einer die Memo-Datei vergessen hat.
Was ich mit den ganzen Vortrag sagen will ist. Der Aufbau einer Datenbank ist eine Kunst. Und zwar eine die nur die wenigsten Richtig beherrschen. Das was ein heute noch gigantisch erscheint kann nach einigen Monaten nämlich voll in die Hose gehen. Ich habe wegen VB meine Datenbanken immer in Access aufgebaut. Bis ich mal eine Datenbank hatte die mal > 2 GB war. Und dann hat es Zoomm gemacht. Also weg mit den Toten Mist und auf SQL umgestiegen. MS hat soviel seine Software nur auf Kundendatenbanken eingestellt. Große Datenmengen kannst du damit nicht verarbeiten. (Meine größte Datenbank schafft mal eben 5 GB an Festplattenplatz).
Wenn man nun wie ich es gerne mache die Datenbankabfrage in eine Funktion legt spart mal sich viel Arbeit. z.b. so.
wert = function (Name_der_tabelle, Name_der_spalte_mit den_ergebnis, name_der_spalte_mit_den_Suchwert)
Die Funktion öffnet die Datenbank, führt die Abfrage durch und liefert das Ergebnis. Für einfache Ergebnisse z.b. Grundeinstellungen ist das ideal.
Wie du merkst mag ich Datenbanken. Ich habe damals sogar unter MS-Basic selbst welche entwickelt für meinen Lehrer als Schülerverwaltung (lang lang ist her
)
Und dieses XML-Format ist grausig. Ich habe schon jede Menge Pharser geschrieben die diesen Mist wieder in eine Datenbank schreibt.
So ende des Vortrag. Das hier liest eh keiner das weiß ich ;(
Gruß
Pucki