copyright (c)  2003   useGroup
PHP

Jochen Stärk
PHP-Tutorial
Datenbanken: Was und warum?

nach untenSkalierbarkeit
nach untenweitere Features
nach untenMulti-User-Fähigkeit
nach untenSicherheit
nach untenEinsatzgebiet

Skalierbarkeit

nach obenSkalierbarkeit 

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

nach obenweitere 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

nach obenMulti-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

nach obenSicherheit 

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

nach obenEinsatzgebiet 

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.


copyright (c)  2003   useGroup