Datenbanken

Informatik Johann Penon

Datenbanktypen

Im Laufe der Zeit wurden von Softwarefirmen und wissenschaftlichen Instituten eine Vielzahl von Datenbanksystemen entwickelt, denen unterschiedliche Anforderungen und Konzepte zugrunde liegen. In diesem Kurs sollen nach ihrem Betriebskonzept sog. Stand-Alone-Datenbanken, File-Share-Datenbanken und Client/Sever-Datenbanken unterschieden werden. Im Zentrum des Kurses wird das relationale Datenbankkonzept stehen, das in der Praxis eine überragende Bedeutung erlangt hat.

Stand-Alone-Datenbank
Sie stellt die simpelste Form einer Datenbank dar, die nur jeweils von einem Benutzer aufgerufen werden kann. Solche Datenbanken brauchen sich weder darum zu kümmern, dass mehrere Benutzer innerhalb eines Netzwerkes gleichzeitig auf den selben Datensatz zugreifen wollen (Multi-User-Probleme), noch um ausgefeilte Zugangsberechtigungen für unterschiedliche Benutzergruppen zu kümmern. Sie ist lediglich dazu da, von einem Benutzer über das immer gleiche Programm angesteuert zu werden. Typische Beispiele dafür sind Adresskarteien, elektronische Telefonbücher, Buchhaltungsprogramme etc. die mit dBase, Access, Filemaker, FoxPro, Paradox oder ähnlichen Programmen erstellt wurden und ihrem Benutzer auf einfache Weise einen mehr oder weniger guten elektronischen Karteikasten zur Verfügung stellen. Mit „echten Datenbanken“ können sich diese Implementierungen etwa so vergleichen wie ein Adressbuch mit einer Zentral-Bibliothek.

File-Share-Datenbank
Im Gegensatz zu einer Stand-Alone-Datenbank können auf eine File-Share-Datenbank innerhalb eines Netzwerkes mehreren Benutzer gleichzeitig auf denselben Datenbestand zugreifen. Innerhalb eines Netzwerkes wird der jeweilige Datenbestand „quasi als Datei“ an einer Stelle allen berechtigten Nutzern zur Verfügung gestellt, die von ihren jeweiligen Workstations aus, auf diese Datenbank zugreifen können. Der Zugriff auf die Datenbank erfolgt dabei über ein spezielles „database engine“ genanntes Programm-Modul, das im Gegensatz zu Client/Server-Datenbanken nicht nur einmal auf dem Server vorhanden sein muss, sondern auf jeder beteiligten Arbeitsstation ausgefürt wird. (Die Datenbank liegt wohl auf dem Server, jedoch hat dieser bezüglich der Verwaltung dieser Datenbank keine eigene Intelligenz. Die gesamte Intelligenz liegt im Wesentlichen separat auf jeder einzelnen Workstation.)

Greift ein Benutzer auf den Datenbestand zu, so wird in der Regel der gesamte Datenbestand zunächst auf die jeweilige Arbeitsstation übertragen, dort Satz für Satz ausgewertet und – bei Änderungen – anschließend wieder auf den Server zurückgeschrieben. Dieses Konzept ist wohl softwaretechnisch einfach zu realisieren, führt aber bei größeren Datenbeständen oder vielen Benutzern zu unzumutbaren Zeitverzögerungen. Bei konkurrierenden Zugriffen lassen sich dabei nur sehr ineffiziente Mechanismen zur Wahrung der operationalen Integrität realisieren, so dass häufig große Datenbereiche so lange gesperrt werden müssen, bis der lokale Client endlich „zu Potte gekommen ist“. (Häufig bleibt z.B. die gesamte Artikeldatei so lange für alle anderen Benutzer gesperrt, bis diese vom ersten Benutzer wieder auf den Server zurückgeschrieben und freigegeben wird.)

Solche Datenbanken sind häufig preisgünstige Lösung für Anwendungen mit kleineren Datenbeständen und wenigen Nutzern, wie z.B. Arztpraxen, Steuerberater, Ingenieurbüros.

Client/Server-Datenbank
Solche Datenbanken sind die „S-Klasse“ und genügen höchsten Ansprüchen. (Das gilt durchaus auch – mit Ausnahme von MySQL - für die Preise.)

Der Kern einer solchen Datenbank ist ein sog. Datenbankserver (Softwaresystem), der auf einem bestimmten und Leistungsstarken Rechner innerhalb eines Netzwerkes läuft. Dieser Server kapselt die gesamte Datenbank und bietet allen Benutzern eines Netzwerkes seine Dienste an. Programme, für welche der Server etwas tun soll, (diese werden Clients genannt,) greifen nicht wie bei einer File-Share-Datenbank selbst auf die Daten zu, sondern wenden sich mit Ihren Wünschen lediglich an den Server, der den gesamten Datenzugriff selbständig erledigt und dem jeweiligen Client anschließend lediglich eine entsprechende Rückmeldung gibt.

Die Datenverwaltung ist hier vom Zugriff konsequent getrennt. Die Clients wenden sich lediglich an die standardisierte Schnittstelle des Servers. Wo und wie der Datenbankserver seine Daten verwaltet ist für die Clients transparent.
Client/Server-Datenbanken bieten viele Sicherheits-, Leistungs- und Flexibilitätsvorteile, erfordern allerdings auch die Betreuung durch einen Datenbankadministrator. Die Produkte aus diesem Bereich haben Namen wie Oracle, DB2, MS-SQL-Server, Informix oder MySQL.

zum Seitenanfang springen

zum Seitenanfang springen