gary: DBMS / Verständnisfrage

Beitrag lesen

Hallo zusammen,

Ich habe da einige fragen, die wiki nicht plastisch genug vermittelt.
Eine Datenbank (DB) ist im prinzip eine Datei mit Werten z. B. getrennt durch Kommata (z. B. CSV oder SEQ Datei). Dann benötigt man ein Programm, das die DB verwaltet. Das macht das Datenbankmanagementsystem (DBMS). Beides zusammen (DB+DBMS) ergeben dann das Datenbanksystem (DBS). Bis hierhin habe ich das glaube ich richtig verstanden.

Soviel zur Theorie, nun zur Praxis:

Mit dem Befehl open, kan ich eine beliebige Datei (werte.seq) öffnen. Beim Öffnen muss ich aber den Parameter angeben, wie die Datei zu öffnen ist:

OUTPUT=zum (Über)schreiben
INPUT=zum Lesen
APPEND=zum schreiben an das ende der geöffneten Datei.

OPEN Dateiname FOR Zugriffsmodus AS Dateinummer

So, nun die Fragen:
1. Wie soll der Programmierer bei drei Werten in der Datei, nur den 2. Wert (Frau)ändern?

Beispiel SEQ-Datei:
"Mann,"Frau","Kind","Ende"

Ich kann mir nur die Lösung vorstellen, dass er alle Werte ausliest, die eine Variable ändert, und dann die ganze Datei inkl. der Änderung neu abspeichert.

2. Eine Datei kann genau nur einmal geöffnet werden. Das heisst, wenn einer die Datei für einen Schreibzugriff geöffnet hat, kann kein Zweiter die Datei zum Lesen öffnen. (Error:File already open). Das fürt mich zu der Frage, wie das bei grossen Datenbanken gemacht wird, wo _gleichzeitig_ beispielsweise 50 Leute daten lesen und ändern. Existieren da einfach 50 Kopieen der selben DB, um allen zugriff zu gewähren, und über nacht gleichen sich dann die DB gegenseitig aus? Was für ein durcheinander.

Wie gesagt, hatte bis jetzt nichts mit DBS am Hut, da Access das für mich erledigt hat.

Viele Grüsse gary