Skalierbarkeit
Was kann ich mit Datenbanken anfangen?
Ziemlich simpel ausgedrückt sind sie Programme,
die Daten speichern und anderen Programmen zugänglich machen. Das können
einfache Dateien zwar auch, aber Datenbanken sind skalierbar ausgelegt,
dass heißt, ich kann eine Datei mit 20 Einträgen anlegen und jeden
einzelnen Eintrag sortiert ausgeben. Nehmen wir an die Datei wächst ein
bisschen und hat plötzlich 20 Millionen Einträge.
Wenn Sie jetzt den 15ten Eintrag löschen wollen müssen Sie zusehen, ob Sie die
anderen Daten nach oben wandern lassen oder nicht -- oder in einer Datei
einen Index mit Dateinamen führen die auf die Einträge verweisen.
dann würden Sie nur noch die Stelle im Index löschen und die Datei
auf Ihrer Platte. So ähnlich schaffen es große Datenbanken,
in großen Mengen einzufügen, zu ändern und zu löschen ohne viel
auf der Platte (oder im Speicher) zu bewegen.
weitere Features
Wenn Sie diese Datenmenge sortiert ausgehen wollen, nimmt
Ihnen die Datenbank auch diese Arbeit ab. Welcher Sortieralgorithmus
in der Datenbank arbeitet kann Ihnen egal sein - Hauptsache, die
Daten sind schnell da. Und das sind sie bei Datenbanken in der Regel.
Außerdem gruppieren, filtern, suchen, hinzufügen und löschen sie für Sie.
Multi-User-Fähigkeit
Bis auf wenige Ausnahmen brauchen Sie sich über die Fähigkeit Ihrer
Datenbank, mehrere Benutzer gleichzeitig zu betreuen, keine Sorgen zu machen
- sie kann es und macht es und in der Regel kommt man sich dabei auch
nicht ins Gehege.
Sicherheit
Neben ausgefeilten Benutzer- und Netzwerk-Zugriffsrechten
bieten Datenbanken auch eine gewisse Sicherheit für Daten:
Durch Transaktionen kann zum Beispiel ein logisch konsistenter
Zustand der Daten auch bei unvorhergesehenen Ereignissen oder Programmierfehlern
gewahrt werden, und Anweisungsblöcke können so gekapselt werden, dass Sie
nicht durch andere Anweisungen, die ggf. im Hintergrund laufen würden,
beeinflusst würden.
Einsatzgebiet

|
|
Datenbanken sind gut für große
und/oder wachsende Datenmengen die evtl. zueinander in Bezug stehen
und von einer oder mehreren Anwendungen gebraucht werden.
Eine
Bestelldatenbank würde zum Beispiel sämtliche Bestellungen die an ein
Unternehmen gerichtet sind aufnehmen und für die benötigten Daten von
den Programmen zur Auftragsbearbeitung und Rechnungsstellung abgefragt
werden. Daten die zueinander in bezug stehen möchte ich hier
an einem Beispiel erläutern: Ein Kunde hat bisher 5x bei der Firma
bestellt und die Details aller seine Bestellungen liegen noch vor
(Artikelnummer, Anzahl). Zusätzlich ist in jeder Bestellungstabelle
(relationale Datrenbanken arbeiten mit Tabellen) seine Kundennumer
gespeichert,
in einer anderen Tabelle steht in einer Spalte jeweils eine
Kundennummer und in der anderen Spalte derselben Zeile die zugehörige
Anschrift. Die Auftragsbearbeitung fragt also ab: "welche Bestellung
ist noch nicht erledigt" und ein Mitarbieter richtet die Posten.
Dann fragt die Auftragsverwaltung ab: "welche Kundennummer gehört zu
der nicht erledigten Bestellung und welche Anschrift gehört zu der
Kundennummer". Dabei werden 2 verschiedene Tabellen angesprochen,
diese "gut kombinieren zu können" ist eine wichtige Eigenschaft von
relationalen Datenbanken.
Oft wird dem Programmierer über die "Datenbankabfragesprache"
SQL mehr Arbeit abgenommen als
bloßes speichern. Vielleicht sollten Sie einmal versuchen,
gerade Anwendungen die viele kleine Datenstücke speichern,
in Datenbanken schreiben zu lassen.