1
Computer und Datenbanken Das folgende Kapitel ist wichtig, um zu verstehen, was relationale Datenbanken ausmacht, wozu man sie braucht, was ihre Stärken sind und somit auch, was der Einsatzbereich von SQL ist - und insbesondere, wann beispielsweise Dokumentenmanagementsysteme oder sogar ganz andere Alternativen genutzt werden sollten.
All das setzt voraus, dass man zunächst einmal eine sehr genaue Vorstellung davon hat, was das Arbeiten mit Unterstützung durch einen Computer bedeutet. Deswegen wird das erste Unterkapitel diesem Thema gewidmet sein.
1.1
Computer: Ihre Stärken -
und ihre Schwächen In unserem Land muss man das Wissen darüber, was ein Computer eigentlich ist, kann und vor allem auch nicht kann, mit der Lupe suchen. Ohne dieses Wissen ist es aber unmöglich zu verstehen, wann relationale Datenbanken und folglich auch SQL wahre Wunder wirken können - und wo Systeme auf der Basis relationaler Datenbanken schlicht das Verkehrte wären.
Unsere "allgemeinbildenden" Schulen
Dieser Abschnitt ist unter anderem deswegen hier notwendig, weil es geradezu ein Aberglaube ist anzunehmen, dass unsere allgemeinbildenden Schulen für eine ausreichende Kenntnis im Computer-Bereich sorgen würden. Entsprechende Lehrpläne
wurden um Jahrzehnte verspätet überhaupt erst entwickelt, zwingen die Schüler vorwiegend Theorien zu lernen, die bestenfalls in der ersten Hälfte des vorigen Jahrhunderts noch ein wertvolles Allgemeinwissen darstellten - und heutzutage nur noch für wenige Spezialisten interessant sind (z.B. Algorithmentheorie, Normalisierung). enthalten gerade jene Teile, die für die Praxis und damit das spätere Leben der Schüler interessant wären, gar nicht oder bestenfalls in völlig unzureichender Weise (z.B. Gestaltung von Benutzerschnittstellen, Dokumentation). sind in keiner Weise der Tatsache angepasst, dass sie ein sich rasend schnell entwickelndes Gebiet betreffen: Von einem Informatiker, der an der renommierten Universität "RWTH Aachen" studiert hatte, hörte ich schon vor vielen Jahren, dass in seinem Fach die Lehrbücher (und nicht etwa die Lehrpläne!) alle fünf Jahre komplett neu geschrieben würden. Dazu kommt, dass die Ausbildung der Lehrer - also jener, die das Wissen eigentlich vermitteln sollten - völlig unzureichend ist und viel zu spät begonnen wurde.
Wahrscheinlich sind auch die Kenntnisse derjenigen, deren Verantwortung es ist, die Lehrpläne zu erstellen, auf einem Niveau, das mit einem "mangelhaft" noch zu gut bewertet wäre:
Anders ist es jedenfalls nicht zu erklären, dass im nordrhein-westfälischen Kernlehrplan für das Fach Informatik an Gymnasium und Gesamtschule zwar von Primär- und Sekundärschlüsseln, von Datenbanken, Kardinalitäten, Entitäten, Relationen und Normalisierung die Rede ist, aber der in diesem Zusammenhang unbedingt notwendige Begriff "Fremdschlüssel" fehlt - und dieser Fehler offensichtlich
? weder denen, die diesen Lehrplan mit einigen Jahrzehnten Verspätung schließlich schreiben mussten, ? noch denen, die ihn kontrolliert haben, ? noch denen, die ihn benutzen (sollten!!!) im Verlaufe eines Jahrzehntes aufgefallen ist.
(Primär- und Fremdschlüssel werden in Abschnitt 8.4, erklärt, die Begriffe "Kardinalitäten", "Entitäten", "Sekundärschlüssel" und "Relationen" habe ich in der Praxis noch nie gebraucht, das Thema "Normalisierung" ist leider nicht ganz vermeidbar und wird in Abschnitt 3.3.3 besprochen - allerdings aus praktischer Sicht.)
Nebenbei bemerkt:
Es ist eine Unverschämtheit, Schüler in einem Bereich wie der Informatik einem rund zehn Jahre alten Lehrplan auszusetzen. Da fragt man sich: "Soll im Lateinunterricht eigentlich Cäsar gelesen werden - oder persönlich auftreten?"
Was die allgemeine Unwissenheit über Computer noch schlimmer macht, sind die weit verbreiteten Vorurteile, die zumeist auf Dingen basieren wie beispielsweise
Werbeversprechen, großartigen Präsentationen von hochbezahlten Professoren, die Ideen bringen, die nahezu perfekt klingen - aber meistens maximal 5 % von den praktischen Problemen, die sie angeblich lösen, beseitigen können (Ich sollte hier etwas zurückhaltender sein: Zum Teil waren die Ideen der Theoretiker für ihre Zeit sogar wirklich genial. Meist sind sie aber schon seit Jahrzehnten zur Lösung der aktuellen Probleme so geeignet wie ein Sack Kohlen zur Betankung eines Flugzeugs . oder wie Informatik-Lehrpläne dazu, Schülern etwas Brauchbares beizubringen.), den Fantasien aus Sonntag-Abend-Krimis oder irgendwelchen Science-Fiction-Romanen, dem früher teilweise üblichen Ausdruck "Elektronengehirn", der bestens dazu geeignet ist, Laien einzureden, ein Computer sei so etwas ähnliches wie ein menschliches Gehirn. (Warum das nicht stimmt, wird weiter unten erläutert.) Wenn etwas mit Unterstützung durch einen Computer erledigt wird, so ist das - trotz der speziellen Tricks, mit denen man sogar das Erkennen gesprochener Sprache und das Identifizieren von Personen auf Bildern in den Griff bekommen hat - letztendlich nichts anderes als eine Aufgabe mit Hilfe einer Maschine zu bewältigen. Das hat nun mal die dementsprechenden Nachteile, wie z.B.: Extrawürste sind (fast) immer teuer; manchmal sind sie sogar überhaupt nicht zu realisieren.
Die immer noch weit verbreitete Vorstellung "Ach, das macht schon der Computer" ist völlig realitätsfern und wird mit Sicherheit auch nicht dadurch aus den Köpfen verbannt, dass man Schüler mit Automatentheorie und anderem praxisfernen Unsinn quält - wie er in den entsprechenden Lehrplänen z.B. für NRW zu finden ist. (Die einzige Form von Planwirtschaft, die man trotz des "Kalten Krieges" auch im Westen offiziell stets für sinnvoll hielt und immer noch hält, ist ja die Lehrplanwirtschaft.)
Mit Computerunterstützung kann man 10 Millionen Rechnungen problemlos an einem Wochenende fertig stellen und sogar auch ausdrucken - aber ein Programm schreiben, das 10 Millionen Sonderwünsche berücksichtigt:
Das geht nicht!
Auch nicht mit Hilfe eines Computers!
Vieles ist natürlich möglich. Beispielsweise kam mir mal die Idee zu einem kaufmännischen Taschenrechner ganz speziell nur für Manager, Vertriebsleute und Politiker. Er sollte lediglich auf die Eingabe von "2 + 2" mit der Anzeige von "5" reagieren.
Spaß beiseite: Mit etwas Trickreichtum und Fantasie kann man für viele Sonderwünsche doch eine Lösung finden, zumal Computer heutzutage eine weitaus höhere Leistungsfähigkeit haben als noch vor wenigen Jahrzehnten.
Aber: Ein Computer ist von Hause aus eigentlich dümmer als eine komplette Amtsschimmelreiterei - er kann nur immer wieder dasselbe machen und auch das muss ihm noch jemand bis in die kleinste Einzelheit vorgeschrieben haben.
1.1.1
Stärken Die Vorteile des Computers dürften Ihnen im Wesentlichen bekannt sein:
Er erreicht ein geradezu unglaubliches Tempo bei der Arbeit. (Das ist positiv gemeint, liebe Beamte.) Er arbeitet ungeheuer zuverlässig, macht so gut wie keine Fehler: Selbst bei Millionen (oder gar Milliarden, also Tausenden von Millionen) von Rechnungen wird es nie vorkommen, dass beim Aufaddieren der Einzelpositionen etwas nicht korrekt ist. Er lässt nicht um vier Uhr den Griffel fallen, braucht kein Wochenende und kann problemlos auch nachts arbeiten. Entsprechend ausgestattet arbeitet er auch unter Bedingungen, die für Menschen geradezu unerträglich wären: Extreme Hitze, Staub oder giftige Gase sind Computern völlig egal. Die ungeheure Geschwindigkeit moderner Computer ermöglicht viele Dinge, die ohne den Rechner nur mit Zauberei gingen. Seit man 1986 anfing, SQL zu standardisieren, ist die Rechnerleistung ganz extrem angestiegen:
Ein Programm, das damals ein ganzes Jahrzehnt für eine Arbeit gebraucht hätte, wäre auf einem heutigen Computer mit dem identischen Problem in 10 Minuten fertig - wenn man davon ausgeht, dass der Rechner von 1986 und der von heute gleich viel Geld gekostet hätten. Einen Vergleich mit der Durchführung einer Aufgabe ganz ohne Computer kann ich mir an dieser Stelle wohl sparen. (Um Missverständnissen vorzubeugen: Jahrzehnt und Minuten hier gegenüber zu stellen, ist keine Übertreibung oder gar ein Scherz!)
Mit anderen Worten: Was früher wegen des hohen Aufwands undenkbar war, ist heute eine Kleinigkeit. Viele Tätigkeiten, die damals irgendwie anders erledigt wurden, werden heutzutage mit Hilfe von Computern und Internet gemacht.
1.1.2
Leistungsfähigkeit: Fluch und Segen Die Leistungsfähigkeit der Rechner hat eine Reihe von - teils positiven, teils negativen und teils zweischneidigen - Auswirkungen im Bereich...