Datenbanken sind das Gedächtnis des IT-Business, heute vor allem des Internet. Ohne Gedächtnis ist dem Menschen Denken unmöglich – man könnte sich nicht an die Worte erinnern, die man sprechen will. Denken und Erinnerung sind eins.
Und so sind Datenbanken auch das Kernstück künstlicher Intelligenz und jeder fortschrittlichen IT dieser Tage.
Facebook, Google, Amazon, ebenso wie jede Bloggingwebseite, oder auch jedes Kassensystem in einem Restaurant, sind im Kern eine Datenbank.
Neben der Datenbank benötigt man natürlich noch Befehle, die Daten aus der Datenbank auslesen, verbinden, verändern, anzeigen, und so weiter. Das nennt man die „Business-Logik“, oder die „Anwendung“, oder „Frontend“ (im Gegensatz zum „Backend“), oder „View“ und „Controller“.
Struktur einer relationalen Datenbank
Eine Datenbank ist ein Aufbewahrungssystem für strukturierte Daten. Man stelle sich eine Datenbank, speziell eine Access-Datenbank, als eine Sammlung von Tabellen vor. Diese Tabellen sind oft miteinander verknüpft, weil nur so der Zweck erreicht werden kann, den man mit der Datenbank verfolgt. Zum Beispiel würde bei einer Kundendatenbank die Tabelle KUNDEN mit der Tabelle TELEFONNUMMERN verknüpft werden. Während in der Tabelle KUNDEN für jeden Kunden ein Datensatz existiert, können in der Tabelle TELEFONNUMMERN gar kein Datensatz, oder sehr viele Datensätze je Kunde angelegt sein, je nachdem unter wie vielen Rufnummern ein Kunde erreichbar ist.
So ist es möglich, dass in einem Formular (Datensicht / View) ein Kundendatensatz gezeigt wird, der 2 Kontaktmöglichkeiten hat, und für einen anderen Kunden sind es 10. Dies geschieht, indem im Hintergrund die beiden Tabellen miteinander verknüpft werden, und in Blitzesschnelle einem Kunden zugehörigen Telefonnummern herausgesucht werden.
Weil sich eine Tabelle auf die andere bezieht, weil eine Tabelle von der anderen abhängt und sie einander in relativen Positionen verbunden sind, spricht man von einer relationalen Datenbank. Man bedenke: die Tabelle TELEFONNUMMERN würde ohne die Tabelle KUNDEN keinen Sinn machen.
Verbunden werden die Tabellen über eindeutige Nummern, sogenannte „ID“s.
Im konkreten Beispiel wird die Verbindung hergestellt, indem in der Tabelle TELEFONNUMMERN ein Feld „Kunden-ID“ existiert.
Es gibt auch noch andere Datenbankmodelle als relationale Datenbanken, zum Beispiel es No-SQL-Datenbanken bei denen zugunsten schnellstmöglichen Zugriffes teilweise auf die Vermeidung von Redundanzen verzichtet wird. Die klassische Datenbank und die am weitesten verbreitete, ist die relationale Datenbank.
Anlegen und Pflegen von Daten
Eine Datenbank muss sorgfältig strukturiert und geplant werden. Man möchte Redundanzen (Doppelerfassungen) von Daten vermeiden, man möchte beste Voraussetzungen für eine umfangreiche Auswertung schaffen, etc. pp..
In bestehenden Datenbanken kommt es immer wieder vor, dass Daten umstrukturiert werden müssen. Zum Beispiel kann es sein, dass Postleitzahl und Ort eines Kunden gemeinsam erfasst wurden, und man möchte diese Angaben trennen. Oder man hat zuerst die Kundenadressen und Telefonnummern in einer Tabelle gespeichert, und möchte das nun trennen.
Oder man hat eine größere Anzahl von vielleicht zigtausend Datensätzen zu verändern, indem bestimmte Angaben in jedem Datensatz ersetzt werden durch andere, oder irgendeine andere Umformung stattfindet.
Für diese Arbeiten braucht es Erfahrung. Einerseits möchte man keine Daten verlieren, andererseits will man sich keine zusätzlichen Probleme schaffen, indem man unvorbereitet feststellt, dass nach einer Daten-Neustrukturierung Formulare oder Abfragen nicht mehr funktionieren.
Eine weitere wichtige Aufgabe für jede Datenbank ist die Ausgabe von Daten – die Abfrage von Daten. Bei Google stelle man sich das so vor, dass man eine Frage in den Webbrowser eingibt, und durch einen Algorithmus werden der Datenbank, die physisch in den USA beheimatet ist, die relevanten Daten entnommen und im Browser angezeigt. Bei allen Datenbanken, auch Access-Datenbanken ist das so – Daten werden abgefragt und in Formularen, Tabellen oder Berichten angezeigt.
die wichtigsten Elemente einer Access-Datenbank
„Tabellen“ sind die Rohform der Datenanzeige, man kann hier die Daten übersichtlich zeilenweise sehen und auch ändern.
In „Formularen“ werden die Daten übersichtlich und zum Zwecke der Eingabe/Änderung/Löschung angezeigt. Formulare sind, wie der Name schon sagt, eine Art graphische Anzeige für die Daten aus Tabellen, mit sehr weitgehenden Freiheiten bzgl des Designs.
„Berichte“ sind zum Anzeigen (nicht zum Ändern) von Daten gedacht. Beispielsweise kann man Berichte verwenden um Rechnungen zu erstellen. Dateneingabe in Reports ist hingegen nicht möglich.
„Abfragen“ verbinden Tabellen, berechnen die Daten aus Feldern (addieren, subtrahieren, Prozentberechnungen etc.), und geben diese Daten wiederum als Tabelle aus. „Abfragen“ dienen als Datenquelle für Berichte und ggf. auch Formulare. Mit Abfragen kann man große Datenmengen in kurzer Zeit anpassen.
„Module“ sind die Code-Container einer Access Datenbank. Hier hinein schreibt der Programmierer die Funktionen und Objekte seines Codes … beispielsweise wenn erreicht werden soll, dass sich auf einen Tastendruck des Anwenders hin ein Formular öffnen soll etc..