Datenbank-Grundlagen

Aus IV1

Eine wesentliche Funktion eines Computersystems besteht darin, Daten, Texte, Bilder, Sprache, Sounds (oder auch Kombinationen mehrerer Informationsarten) zu speichern, so dass deren bedarfsgerechtes, insbesondere rasches und einfaches Wiederauffinden und Nutzen ermöglicht wird.

Für den Benutzer eines PCs tritt häufig die Situation auf, dass Informationen ausgewertet und weiterbearbeitet werden sollen, die z. B. in mehreren unterschiedlichen Grafiken, Berichten und Tabellen enthalten sind. Diese Dokumente sind oft mittels unterschiedlicher Softwarepakete erstellt bzw. in unterschiedlichen Dateiformaten abgespeichert worden. Das Wiederauffinden und vor allem das Nutzen dieser Dokumente erfordert daher Kenntnisse über die jeweils eingesetzten Dateiformate.

Das Kapitel der Datenbanken behandelt insbesondere, wie große Datenmengen dauerhaft und zuverlässig gespeichert und bei Bedarf abgerufen werden können. Dazu ist es erforderlich, die für einen oder mehrere Benutzer relevanten Ausschnitte aus der Realität einzugrenzen, und letztere in konventionellen Dateisystemen oder in Datenbanken abzubilden. Grundlegende Fragen der Datenorganisation und der Planung von Datenbanksystemen sowie verbreitete Werkzeuge zur Nutzung von Datenbanken (insbesondere SQL) sind daher weitere Inhalte dieses Kapitels.

Bei moderneren Implementierungen von Datenbanken wird in die Funktionen: Datenbank-Client und Datenbank-Server unterschieden. In letzter Zeit sind auch verteilte Datenbankkonzepte bzw. Schnittstellen zwischen Datenbanken unterschiedlicher Hersteller entwickelt worden. Allmählich finden SQL-Kommandos bzw. Schnittstellen zu SQL-Datenbanken nicht nur bei Datenbanksoftwarepaketen, sondern auch bei sonstigen Werkzeugen der Individuellen Datenverarbeitung (zB: bei Tabellenkalkulationsprogrammen) Berücksichtigung.

Wozu dient eine Datenbank?

Mit einer Datenbank eröffnet sich die Möglichkeit, vielseitige Informationen an einem Ort zu verwalten. Daten können in separaten Tabellen gespeichert werden, Tabellendaten können in Formularen angezeigt, ergänzt und aktualisiert, mit Hilfe von Abfragen gesucht und abgerufen sowie in Berichten analysiert oder mit einem bestimmten Layout ausgedruckt werden. Mittels Datenzugriffsseiten können die Benutzer die Daten einer Datenbank über das Internet oder ein Intranet anzeigen, aktualisieren oder analysieren - die Möglichkeiten der individuellen Benutzeroberflächen sind sehr weitreichend.

Zum Speichern von Daten wird eine Tabelle für jeden gewünschten Informationstyp erstellt. Um Daten aus mehreren Tabellen in einer Abfrage, einem Formular, einem Bericht oder einer Datenzugriffsseite zusammenzufassen, definiert man Beziehungen zwischen den Tabellen.

Um nur die Daten (selbst aus mehreren Tabellen) zu suchen und abzurufen, die den angegebenen Bedingungen entsprechen, erstellet man eine Abfrage. Diese kann auch Daten aus mehreren Datensätzen aktualisieren oder löschen sowie integrierte oder benutzerdefinierte Berechnungen an Ihren Daten durchführen.

Um Daten mühelos direkt in einer Tabelle anzuzeigen, einzugeben und zu ändern, erstellt man ein Formular. Wird ein solches Formular geöffnet, werden die Daten aus einer oder mehreren Tabellen abgerufen und in der gewünschten Form ausgegeben.

Von der Datei zur Datenbank

Geht es um die Abbildung von Teilen der Realität in Dateien und Datenbanken, so ist dabei stets von einer bedarfsgerechten Abbildung der Wirklichkeit auszugehen. Dateien und Datenbanken enthalten demnach jene Abbildungen der Wirklichkeit (der Produkte, der Lieferanten, der Geschäftsfälle, usw.), die sich für betriebliche und zwischenbetriebliche Informations- und Kommunikationsprozesse als notwendig bzw. brauchbar erweisen. Die Vollständigkeit bzw. Richtigkeit einer Datei oder Datenbank kann nur unter Einbeziehung des realen Umfeldes beurteilt werden.

Ein Satz (Datensatz, data record, record) bildet ein Objekt der Realität vereinfachend in einem Computersystem ab. Ein solches Objekt (Entität, entity) kann ein konkreter Gegenstand, ein Ereignis oder auch ein abstrakter Begriff sein. Es wird durch seine Attribute (Merkmale, Eigenschaften) beschrieben. Das Objekt Lehrbuch kann beispielsweise durch die Attribute Nummer, Autor, Titel, Preis, Verlag, Auslaufend und Bestand beschrieben werden. Die konkreten Inhalte der Attribute eines konkreten Lehrbuches werden Feldern (Datenfelder, fields) zugewiesen. Alle Felder eines konkreten Objektes bilden einen Datensatz. Eine tabellarische Darstellung eignet sich dafür hervorragend, siehe Tabellen in Datenbanken. Die Tabelle kann dabei um die Beschreibung weiterer Objekte (im vorliegenden Beispiel Bücher) erweitert werden.

Tabellarische Darstellung der Attribute
Nummer Autor Titel Preis Verlag Auslaufend Bestand
646 Schwab EDV - Projektleitung 30,06 mc y 95

Datenfelder bilden die kleinste Einheit von Dateien und Datenbanken. Datenfelder sind mit einem Namen versehen, der sich oftmals mit der Bezeichnung des Attributes deckt und können unterschiedlichen Datentyps sein. Die Felder Nummer und Bestand sind z.B. vom Typ Ganzzahl, das Feld Preis vom Typ Dezimalzahl. Die Felder Autor, Titel und Verlag sind vom Typ Text und das Feld Auslaufend vom Typ Flag (mit den Ausprägungen y oder n).

Relationale und redundante Datenbanken

Sämtliche Daten werden in Datenbanken immer in Form von Tabellen abgebildet (ähnlich Excel). Relational ist eine Datenbank dann, wenn sie nicht aus einer großen Tabelle, sondern aus mehreren Tabellen besteht. Die Datenmengen können dadurch gering gehalten werden, da die Daten nicht doppelt geführt werden müssen. Mit sogenannten Schlüsselfeldern (keys) werden zwischen den Tabellen Verknüpfungen erstellt, siehe Beziehungen in Datenbanken. Eine Datenbank, die nicht relational ist, sondern aus einer großen Tabelle besteht, ist meist redundant. Dies bedeutet, dass Daten, die in der Realität nur einmal vorkommen, viel öfter als notwendig gespeichert sind. Die Lösung für dieses Problem ist eine relationale Datenbank, die aus mehreren Tabellen besteht. Der Vorgang des Umwandelns einer redundanten Datenbank in eine relationale nennt man Normalisieren. Dies kann eine durchaus komplexe Angelegenheit werden. Es gibt dazu aus der Theorie einige Methoden, die es ermöglichen, diesen Vorgang zu standardisieren bzw. zu erleichtern. Dabei werden verschiedene Normalformen unterschieden - für den Praktiker und bei einfachen Datenbanken ist es aber auch möglich, ohne großartige Theoriekenntnisse die Datenbank zu normalisieren.