SQL und Datenbanken

Man kennt es, liebt oder hasst es. Bestandsaufnahmen, Rechnungen und To-Do-Listen sind schnell am Computer erstellt; die Flexibilität, komfortabel Berechnungen durchzuführen und „Was-wäre-wenn“-Analysen der Art, wie verändern sich andere Berechnungswerte, wenn ein spezieller manipuliert wird, tragen sicherlich zur Popularität bei.

Wird das Projekt dann aber diffiziler, empfehlen sich (relationale) Datenbanken, deren Aufgaben die „Verwaltung und die Manipulation von komplexen Datenstrukturen“ ist. Gezielte Abfragen und Berichte (Ausgaben), speziell gruppiert und sortiert, sind nur hier effizient zu erstellen.

Bei relationalen Datenbanken stellt man die Datenstruktur zunächst abstrakt dar. Es besteht eine gewisse Analogie zum „Objekt-orientierten Programmieren. In einem Klein-Unternehmen gibt es beispielsweise Kunden mit bestimmten Eigenschaften (Vor- und Nachname, Anschrift etc.), es gibt Rechnungen (Datum, bezahlt am, Menge, Einzelpreis, Gesamtpreis, Rabatt etc.) und Lagerbestände (Menge, Einzelpreis, Ort etc.). Verknüpft sind diese drei Tabellen (es kann beliebig komplex werden) über sog. Primär-Schlüssel, in diesem Fall der Rechnungs-Nummer und der Kundennummer. Konkret ist z.B. möglich, Abfragen zu generieren, welcher Kunde, welche Materialien bestellt und bezahlt hat: eines der Grundvoraussetzungen, ein Unternehmen erfolgreich zu verwalten.

Auswahl-Felder verringern Schreibfehler, Inhaltsprüfungen testen, ob eine valide Email-Adresse eingeben wurde und Konsistenz-Prüfung verhindert Duplikate: sind Funktionsbeispiele.

Datenbanken, gerade bei vielen Datensätzen, müssen vorab gut projektiert und dokumentiert werden. Abfragen erhalten z.B. das Präfix „qry“, Berichte „rpt“ und Formulare „frm“.

Unten wurde ein Film-Archiv realisiert, das die Verwaltung von allen gängigen Medien (auch VHS-Kassetten etc.) erlaubt. Jeder Film erhält eine eindeutige Film-ID, jeder Schauspieler eine Personen-ID, genannt PID. Über die PID können jedem Film beliebig viele Schauspieler hinzugefügt werden.

Zur schnellen Übersicht, wurde ein Begrüßungs-Formular erstellt, mit dem alle Funktionen per Mausklick erreichbar werden.

Wie greift man auf eine Datenbank zentral, am besten auf einer Website zu? Man kann Interfaces in PHP oder Java programmieren, was sehr gut funktioniert. Typo3-Anwender dürfen sich aber über die Extension „WFQBE“ freuen, die Datenbanken ansteuert und dynamisch im Front-End ausgeben kann. Mit etwas SQL-Kenntnissen können hier auch neue Abfragen generiert werden.

Die Datenbank wird ohne Gewährleistung -wie auch sonst?- zum Download bereitgestellt.

Download

StudioCD-Film-Archiv.mdb

756 K