- Datenbanksysteme: Einleitung
- Grundbegriffe
- Datenbanksystem, Datenbank und Datenbankmanagementsystem
- Relationale Datenbanken
- Grundlagen
- Informationssysteme
- Datenspeicherung in einem Datensystem
- Einführung
- Beispiel: Organisation der Schulverwaltung mittels Daten auf dem Server des Verwaltungsnetzes
- Einführung in die Datenbank
- Das Klassendiagramm
- Klassen
- Beziehung
- Fremdschlüssel
- Erste Schritte zur Datenmodellierung
- Primärschlüssel
Datenbanksysteme: Einleitung
Grundbegriffe
Datenbanksystem, Datenbank und Datenbankmanagementsystem
Ein Datenbanksystem (DBS) ist ein System zur Beschreibung, Verwaltung, Speicherung und Wiedergewinnung großer Datenmengen, das von mehreren Anwendungsprogrammen bzw. Datenbanknutzern gleichzeitig und unabhängig genutzt werden kann.
Es besteht aus
- der Datenbank (DB), der Menge der gespeicherten Daten, und
- dem Datenbankmanagementsystem (DBMS), der Gesamtheit aller Programme für den Umgang mit diesen Daten.
Ein grundlegendes Prinzip bei Datenbanksystemen ist die strikte Trennung von Daten und Datenbearbeitung. Das DBMS ist dabei verantwortlich für
- die sichere und einheitliche Verwaltung der Daten,
- den Datenaustausch zwischen Datenbank und Anwendungsprogramm,
- die Verhinderung von unkontrollierten Zugriffen auf den Datenbestand,
- die effiziente Zugriffsmöglichkeit auf die meist sehr großen Datenbestände sowie
- die Aufrechterhaltung und Wiederherstellung eines konsistenten Datenzustanddes.
Relationale Datenbanken
Eine relationale Datenbank besteht nur aus Tabellen. Jede Tabelle enthält Informationen. Die Kunst besteht darin, die Tabellen so zu erstellen, dass die benötigten Informationen abgerufen werden können.
Als Beispiel soll eine Schule betrachtet werden. In ihr werden ständig vielfältige Informationen über Schüler, Fächer und Lehrer benötigt:
- Der Schulleiter braucht eine Liste aller Lehrer, die Informatik unterrichten können/dürfen.
- Der Klassenleiter möchte die Namen aller seiner Schüler in alphabetischer Reihenfolge.
- Die Verwaltung der Stadt möchte von der Schule wissen, wie viele SchülerInnen aus der Stadt kommen.
Die folgenden Tabellen geben einen ersten Einblick vom möglichen Aufbau einer solchen Datenbank:
Schüler | Name | Klasse | Wohnort |
Maier | 5a | Schweinfurt | |
Mayer | 5b | Schwebheim | |
Meier | 5c | Sennfeld |
Lehrer | Name | Fach |
Schmitt | M, Ph | |
Kinderfrau | M, WRe, Inf | |
Kinderfrau | D, F |
Liest man die Tabellen richtig aus, so erhält man mit Hilfe einer eigenen Sprache die gewünschten Informationen.
Grundlagen
Informationssysteme
Wir leben heute in einer Informationsgesellschaft. Zugriff auf Verarbeitung, Ablage und Weitergabe von Informationen spielen eine immer größere Rolle. Durch das rasante Anwachsen der angebotenen Informationsmenge greift man verstärkt auf Informationssysteme zurück.
Merkmale aller Informationssysteme, wie bei Urlaubsplanungen, in Bibliotheken oder in Banken, ist, dass sie auf Daten, d. h. auf elektronisch gespeicherte Informationen, zurückgreifen.
Datenspeicherung in einem Datensystem
Einführung
Die Daten werden in mehreren Dateien abgespeichert. Diese Form der Datenspeicherung wurde lange Zeit auch für größere Datenmengen eingesetzt und wird heute noch für individuelle Anwendungen genutzt.
Was scheinbar einfacher ist, birgt aber auch eine Vielzahl von Problemen, die erst durch den planvollen Einsatz von Datenbanksystemen behoben werden können.
Beispiel: Organisation der Schulverwaltung mittels Daten auf dem Server des Verwaltungsnetzes
Problem | Bedeutung | Beispiel |
Redundanz | Dieselbe Information muss mehrfach abgespeichert werden. | Die Daten (Name, Adresse, Telefon, Fächerverbindung) eines neu an die Schule gekommenen Lehrers müssen gespeichert werden. Es wird eine neue Lehrerdatei mit den entsprechenden Daten angelegt. Der Name muss zusätzlich in die Lehrerliste eingetragen werden. Die Telefonliste muss entsprechend ergänzt werden. |
Inkonsistenz | Gespeicherte Daten sollen in sich stimmig sein | Eine Lehrerin heiratet und ändert ihren Namen. Man ändert den Namen in der entsprechenden Lehrerdatei und korrigiert den Namen in der Lehrerkiste. Dabei passiert ein Schreibfehler. Die Aktualisierung der Telefonliste wird vergessen. Damit existiert der Name der Lehrerin in drei verschiedenen Versionen. |
Beschränkte Zugriffsmöglich- keiten | Es ist schwierig, in isolierte Dateien abgelegte Daten miteinander zu verknüpfen | Von der Klasse 5 wird eine Liest der kath. SchülerInnen benötigt. Es gibt keine Möglichkeit, diese Informationen durch Verknüpfen der einzelnen Schülerdaten automatisch zu erhalten. Die gewünschte Information kann nur durch Überprüfung jede Schülerdatei gewonnen werden. Dann wird eine neue Datei „Kath. Schüler der Klasse 5“ erstellt. |
Mehrbenutzer- betrieb | Schlechte Möglichkeiten eines kontrollierten Mehrbenutzerbetriebs | Die Datei mit der Lehrerliste wird gleichzeitig geöffnet. Beim Ersten wird ein Name ergänzt und abgespeichert. Beim Zweiten wird nur etwas korrigiert und danach ebenfalls gespeichert. Dies hat zur Folge, dass die Ergänzungen des Schulleiters wieder überschrieben werden. |
Verlust von Daten | Bei der Bearbeitung der Dateien kann ein Fehlerfall den Verlust von Daten bedeuten (Unvollständigkeit und Inkonsistenz) | Ein Schüler tritt während des Schuljahres von der 7. in die 6. Klasse zurück. Dessen Schülerdatei wird aus dem Ordner der 7. Klasse genommen. Unmittelbar vor dem Einfügen in den Ordner der 6. Klasse stürzt der Rechner ab. Dadurch gehen die Schülerinformationen verloren. |
Integritätsver- letzung | Einhalten von bestimmten Bedingungen, die an Daten gestellt werden | Bei der Stundenplanerstellung muss vermieden werden, dass eine Lehrkraft zeitgleich in verschiedenen Klassen eingesetzt wird. Isolierte Stundenpläne bieten keine Möglichkeit, solche Fehler aufzudecken. |
Einführung in die Datenbank
Das Klassendiagramm
Anmerkung: Die Namen (Klassen, Beziehungen etc.) beziehen sich auf ein spezielles Beispiel. Dieses wird später evtl. hinzugefügt.
Klassen
FLUG |
Flugnr : Text Fluglinie : Text von : Text nach : Text ab : Datum an : Datum Groesse : Integer |
KUNDE |
Kundennr Name Vorname Alter |
Beziehung
BUCHUNG |
Buchungsnr Kundennr Flugnr Sitz |
Primärschlüssel werden unterschrichen, die Datentypen können auch weggelassen werden. Die Darstellung der Beziehung zwischen den beiden Klassen FLUG und KUNDE sieht wie folgt aus:
Fremdschlüssel
In der Tabelle BUCHUNG verweisen die beiden Attribute „Flugnr“ und „Kundennr“ auf den jeweiligen Primärschlüssel einer anderen Tabelle, nämlich „FLUG“ und „KUNDE“. So erspart man der Datenbank in der Tabelle BUCHUNG viele redundante Einträge, da etwa die weiteren Flugdaten nicht noch einmal eingegeben werden müssen, sondern aus der Tabelle Flug entnommen werden können.
Der Fremdschlüssel muss ein Primärschlüssel der Bezugstabelle sein, da sonst keine eindeutige Zuweisung möglich wäre. Allerdings muss die Datenbank „wissen“, dass eine solche Beziehung besteht, da sonst etliche Probleme auftreten könnten.
Primärschlüssel
Ein Primärschlüssel kennzeichnet Datensätze einer Tabelle eindeutig. Er besteht aus einem Attribut (z.B. Flugnr für Datensätze der Tabelle FLUG) oder aus einer Kombination von Attributen (z.B. die Attribute Kundennr und Flugnr in der Tabelle BUCHUNG).
Es werden zwei Arten von Primärschlüsseln unterschieden:
- Natürlicher Primärschlüssel: Vorhandenes Attribut oder Kombination von vorhandenen Attributen
- Künstlicher Primärschlüssel: Zu diesem Zweck zusätzlich eingeführtes Attribut (meistens Durchnummerierung der Datensätze)