In diesem Abschnitt werden die folgenden Konzepte thematisiert: Der Unterschied zwischen
einer Datenbank und einem Datenbank-Management-System, zwei fundamentale Anforderungen, die jedes computerbasierte
Datenbanksystem erfüllen sollte, der Unterschied zwischen desktop- und serverbasierten Systemen sowie eine
kurze Erläuterung zu drei Typen von Datenbanken.
Datenbank versus Datenbank-Management-System
Eine Datenbank ist eine logische Einheit zusammengehörender Daten, ihrer
Meta-Beschreibungen sowie zusätzlicher Informationen, die zur Verarbeitung und Bereitstellung dieser Daten
benötigt werden. Physikalisch kann eine Datenbank in mehrere Einzelteile zerfallen, die getrennt werden können,
jedoch nur gemeinsam eine Datenbank bilden.
Datenbank-Beispiele in diesem logischen Sinne sind:
Eine Access-MDB-Datei
Eine mySql-Datenbank, zerfallend in viele Dateien, die in einem gemeinsamen Ordner liegen
Eine MS-SqlServer-Datenbank, verteilt auf diverse Dateien, die auf verschiedenen Festplatten mit
unterschiedlicher RAID-Stufe untergebracht sind
Ein Archiv mit tausenden von Regalmetern voller Aktenordnern sowie einem zusätzlichen Klassifikationssystem
in Form weiterer Ordner
Ein Zettelkasten mit Personennamen und zugeordneten Telefonnummern
Eine Sql-Datenbank zum Mieten, deren konkrete Implementierung nach außen hin unsichtbar ist
Eine Datenbank kann in den wenigsten Fällen direkt verwendet werden. Zwar mögen die Daten in Form von
Dateien vorliegen, ein direktes Lesen mit einem Editor liefert jedoch keine verwertbaren Informationen. Oder es
bestehen Zugriffsbeschränkungen verschiedenster Art, so daß ein gewöhnlicher Benutzer keine Informationen darüber
hat, in welcher Form und an welchem Ort die Dateien abgelegt sind.
Ein Datenbank-Management-System (DBMS) stellt
unterschiedliche Werkzeuge bereit, mit welchen eine oder mehrere Datenbanken erstellt, mit Daten gefüllt und
verwaltet werden können. Ein DBMS verfügt in der Regel über mindestens eine Benutzerschnittstelle und kann
eine oder mehrere Datenbanken nur aufeinanderfolgend oder parallel verwalten. Ferner gibt es - explizit oder
implizit - Regeln, wer zu welchem Zeitpunkt Zugriff auf und Änderungsrecht an den Daten hat. Schließlich können
Sicherungsstrategien / Backup-Verfahren definiert und regelmäßig ausgeführt werden.
Jede Benutzerschnittstelle besteht entweder aus verschiedenen Masken (Sql-Enterprise-Manager) oder
bietet dem Nutzer eine Möglichkeit, direkt Befehle entgegenzunehmen. Diese werden an das DBMS gesandt und
von diesem gegen die aktuelle Datenbank ausgeführt. Die hierfür verwendete Sprache könnte vom Hersteller des
DBMS frei entwickelt worden sein. Tatsächlich wird von den meisten relationalen DBMS Structured Query Language (SQL) mit
eventuellen eigenen Erweiterungen unterstützt.
Datenbank-Management-Systeme in diesem Sinne sind:
Die Installation einer geeigneten Ms-Access-Version zur Verwaltung von jeweils einer
Datenbank.
Oder: Die Installation der NET-Laufzeitumgebung sowie des Sql-Interaktiv-lernen. Mit diesem können
Datenbank-Befehle direkt auf der Access-Datenbank ausgeführt werden.
Eine mySql-Installation, die vielleicht eine Datenbank verwaltet, deren Ordner auf einem
anderen Rechner liegt.
Eine MS-SqlServer-Standard-Installation, die einige Werkzeuge (Enterprise-Manager, OSQL) bereitstellt.
Oder: Ein installiertes MS-Access, in dem ein Access-Projekt erstellt wird, das auf eine Datenbank auf
einem MS-SqlServer zugreift.
Regeln für den Zutritt zum Archiv (Ausweispflicht, zeitliche Einschränkungen, nicht in der Urlaubszeit).
Gespräch mit den Archivverwaltern, um bestimmte Informationen zu finden bzw. um das Klassifikationssystem
erst einmal zu verstehen, Verbot der Archivbenutzung bei zu vielen Anfragen oder bei ungebührlichem Benehmen.
Implizite oder explizite Verhaltensregeln innerhalb des Archivs (kein Essen / Trinken / Rauchen),
da das Archiv einmalig ist und keine Sicherung zur Verfügung steht.
Der Zettelkasten: Diese Datenbank ist einmalig und kann nicht mit einem vertretbaren Aufwand kopiert / gesichert
werden. Sie könnte höchstens, Karte für Karte, kopiert bzw. abgeschrieben werden. Für neue Datensätze genügt
einfaches kartoniertes Papier. Spezielle Kenntnisse zur Erstellung neuer Datensätze sind zunächst nicht
notwendig. Jeder mit Zutritt zum Zimmer kann auf diese Daten zugreifen und die Sortierung zerstören.
Es kann jedoch einen zweiten Zettelkasten geben, der nach vergleichbaren Prinzipien aufgebaut und
von derselben Person verwaltet wird.
Zu einer Sql-Datenbank zum Mieten wird ein Web-Interface mit üblichen Masken angeboten, wie sie
bsp. von Access her bekannt sind. Im Hintergrund werden aus den Nutzereingaben Sql-Befehle generiert und
diese auf der Kunden-Datenbank ausgeführt. Verschiedene Nutzer verwenden zwar dasselbe Interface, haben
jedoch keinen Zugriff auf die Datenbanken der anderen Nutzer.
Zusammengefaßt: Eine Datenbank als logische Einheit umfaßt alle Daten mit den notwendigen Meta-Informationen,
diese sind ohne das zugehörige Datenbank-Management-System unverständlich und nicht verwendbar. Letzteres stellt die eigentliche
Rahmenarchitektur zur Erstellung von Datenbanken dieses Typs mit ihren speziellen Inhalten dar und bietet datenbankübergreifend
zusätzliche Service-Leistungen an.
Grundlegende Anforderungen an computergestützte Datenbank-Systeme
An Datenbank-Systeme, die edv-basiert sind, werden üblicherweise zwei fundamentale Forderungen gestellt:
Vermeiden von Redundanz sowie die Sicherstellung einer maximalen
Integrität der Daten.
Redundanzfreiheit: Informationen sollten nicht mehrfach abgelegt werden.
Wurden Daten zu einer Einheit, einem Objekt, einem Vorgang abgelegt, so sollen diese Daten nur einmalig in
der Datenbank vorhanden sein, so daß beim lesenden Zugriff immer nur diese eine Position abgefragt, beim
schreibenden Zugriff nur diese Position geändert wird. Enthält die Datenbank bsp. Informationen zur Person
'Max Mustermann, Tel. 773355', so sollen die Eigenschaften 'Vorname', 'Nachname' und 'Telefon' nur einmalig
existieren. Ändert sich etwa die Telefonnummer, so muß sie nur an einer einzigen Stelle geändert werden. Alle
anderen Stellen, welche diese Information benötigen, lesen sie von dort aus und erhalten ab der Änderung
unverzüglich den neuen Wert.
Papierversionen von Datenbanken sind oft redundant, so werden Personennamen ausgeschrieben, anstatt daß nur
eine Nummer eingesetzt wird. Damit steht bsp. auf Karteikarten der Name des Erstellers, gleichzeitig ist es
nur mit einem unvertretbar hohen Aufwand möglich, alle von diesem erstellten Karten herauszufinden.
Datenintegrität erzwingen: Alle abzulegenden Informationen zerfallen
in kleinste Einheiten, die vielfachen Einschränkungen unterliegen können. Ein Geburtsdatum darf nur gültige
Datumswerte enthalten, bei Gewichts- oder Mengenangaben sollen nur ganze Zahlen größer Null zulässig sein.
Bei Namen sind vielleicht Sonderzeichen verboten, bei Benutzernamen für ein Forum mögen keine Leerzeichen
(... van der ...) gewünscht und die Länge beschränkt sein. Telefonnummern erlauben lediglich die Eingabe von Zahlen
und Leerzeichen einschließlich führender Nullen, die nicht abgeschnitten werden sollen. Oder ein Feld
erfordert die Auswahl aus einer Reihe von Werten, etwa Währungen, Personen oder Kategorien. Hier sollte
eine Pulldown-Liste versehentliche oder absichtliche Fehleingaben ausschließen. Schließlich gibt es
Pflichtfelder, die zwingend zu belegen sind, Werte müssen eindeutig sein - etwa Personalnummern - oder
sollen zusätzliche Bedingungen erfüllen (10 < Wert < 100). Ferner kann es wünschenswert sein, Lese- und Schreibrechte
fein granuliert zu verteilen, so daß nur berechtigte Personen Zugriff auf den jeweiligen Ausschnitt der
Daten erhalten.
Zur Forderung der Datenintegrität zählt ferner, daß das DBMS parallele Benutzerzugriffe gestattet, so daß parallele
Lese- und Schreibzugriffe sich nicht gegenseitig behindern. Bei schwerwiegenden Störungen wie einem Verbindungsabbruch
innerhalb der Netzkommunikation oder einem Stromausfall muß es das DBMS gewährleisten, daß die Daten konsistent bleiben
bzw. daß das System auf einen Zustand kurz vor dem Abbruch zurückgesetzt werden kann.
Beachten Sie, daß das vielleicht erwartete, üblicherweise edv-typische Kriterium des 'raschen Zugriffs' hier
ausdrücklich nicht thematisiert worden ist. Dieses Kriterium stellt zwar einen der entscheidenden Unterschiede
zu jeder Form eines papiergebundenen Archivs dar, für das mühsam vielleicht einzelne Schlagworte mit Seitenangaben
katalogisiert wurden. Es wird jedoch im Laufe der weiteren Ausführungen deutlich werden, daß der rasche Suchzugriff
höchstens eine Folge der obigen Anforderungen darstellt. Sind die Daten nicht redundanzfrei abgelegt oder ist
die Datenintegrität nicht bei jeder Verarbeitung sichergestellt, so liefert jede nachfolgende Auswertung ebenfalls
ungenügende oder falsche Ergebnisse.
Desktop- versus serverbasierte Datenbank-Management-Systeme
Ein desktop-basiertes DBMS ist dadurch gekennzeichnet, daß der Betriebssystem-Prozeß,
der auf die Datenbank zugreift, nur in der Zeit aktiv sein muß, in welcher die Datenbank tatsächlich benutzt wird.
Damit können verschiedene Instanzen desselben DBMS auf verschiedenen Rechnern gestartet werden und versuchen, auf
dieselbe logische Datenbank zuzugreifen, deren Datei auf einem Netzlaufwerk freigegeben worden ist. Jede dieser
Instanzen muß freiwillig Zugriffe anderer Instanzen respektieren und eventuell gesetzte Schreibsperren
beachten. Ein böswillig geschriebenes oder einfach fehlerhaftes Programm kann ebenfalls auf die Datenbank zugreifen
und deren Inhalt beliebig verändern, so daß die Datenbank zerstört wird. Der Rechner, auf dem die Datenbank-Datei liegt,
wird nur als Fileserver verwendet. Alle Filter- und Sortiervorgänge werden ausschließlich von den Benutzerprozessen
erledigt, so daß sich eine solche Instanz alle Daten über das Netzwerk holt, erst lokal wenige Zeilen aussondert und
diese dem Nutzer anzeigt. Fordert ein anderer Nutzer dieselbe Teilmenge von Daten an, führt der Betriebssystem-Prozeß
dieses Nutzers dieselbe Aktivität durch. Sollen Sicherungen erstellt werden, so gelingt dies nur durch ein physikalisches
Kopieren der Datei. Wird die Datei so beschädigt, daß sie nicht mehr verwendbar ist, kann nur auf die eventuell
mehrere Stunden alte Sicherung zurückgegriffen werden, so daß alle in der Zwischenzeit erfolgten Änderungen verloren
sind.
Beispiel: Eine Access-Datenbank auf einem freigegebenen Laufwerk. Mehrere Benutzer starten auf ihrem Rechner
Access und öffnen die Datenbank. Zusätzlich schreibt jemand ein Programm, welches direkt, unter Umgehung der
üblichen Treiber, auf die Datenbank zugreift und diese als Textdatei anspricht.
Ein serverbasiertes DBMS ist durch mindestens einen kontinuierlich laufenden
Betriebssystem-Prozeß charakterisiert, welcher vom Server-Betriebssystem verwaltet und geschützt wird. Nur dieser
weiß, wo die physikalischen Dateien tatsächlich liegen und verbietet jedem anderen Prozeß den Zugriff auf diese. Dieser
Prozeß stellt verschiedene Kommunikations-Schnittstellen zur Verfügung, die von Nutzern angesprochen werden können.
Alle über die Schnittstellen mitgeteilten Wünsche werden zunächst vom Server-Prozeß analysiert. Nur wenn die Befehle syntaktisch
korrekt sind und die Berechtigung für diesen Zugriff vorliegt, wird die Befehlsfolge ausgeführt und gegebenenfalls Daten zurückgesandt.
Fordert ein Nutzer nur wenige Datensätze an, so wird die Filterung sofort auf dem Server durchgeführt, für das Senden
der Daten sind nur geringe Netzwerk-Ressourcen notwendig. Fordern mehrere Nutzer dieselben Informationen ab, können
spätere Anfragen direkt aus dem Arbeitsspeicher heraus beantwortet werden, so daß die Antwortzeit entsprechend verkürzt
wird. Sicherungen können während des laufenden Betriebs vom Serverprozeß erstellt werden.
Vergleicht man diese beiden Typen mit einem klassischen Archiv, so entspricht einem Desktop-System ein
Archiv, das frei zugänglich ist, bei dem jeder Archiv-Nutzer selbst zu den Regalen geht, in den Akten blättert
oder einen Ordner aus dem Regal nimmt und an einer anderen Stelle wieder einstellt. Die Integrität und Konsistenz
des Archivs ist also vollständig vom Verhalten der Nutzer abhängig, die Logik der Archivierung muß jedem Nutzer
neu erläutert werden.
Eine serverbasierte Datenbank-Lösung läßt sich dagegen beschreiben als eine Art Hochsicherheitstrakt mit frei zugänglichem
Eingangsbereich. Die Nutzer haben keinen Zutritt zu den Stockwerken und Regalen, sie dürfen im Erdgeschoß ihre Wünsche
interaktiv oder telefonisch mitteilen. Nur, wenn die Wünsche syntaktisch korrekt formuliert und die notwendige
Berechtigung vorliegt, wird ausschließlich das erlaubte Datenpaket zugesandt.
Drei Typen von Datenbank-Systemen
Bei Datenbank-Management-Systemen werden drei verschiedene Typen unterschieden:
Hierarchische Datenbank: Dies ist der historisch früheste Typ.
Die Daten werden in Form einer Baumstruktur abgebildet, so daß Parent-Child-Beziehungen maßgeblich sind.
Relationale Datenbank: 1970 veröffentlichte Edgar Frank Codd
den Text A Relational Model of Data for Large Shared Data Banks (früher zugänglich unter
http://www.acm.org/classics/nov95/toc.html),
mit dem er die Grundlage für relationale Datenbank-Systeme legte. Die Daten werden in flache Tabellen (= Relationen)
abgelegt, die durch Fremdschlüssel-Beziehungen beliebig miteinander verknüpft werden können. Die fünf Normalformen
stellen Regeln dar, entlang derer ein Tabellenschema so entworfen wird, daß die Daten ohne Informationsverlust
und redundanzfrei gespeichert werden. Charakteristisch für das relationale Modell ist, daß die
Informationen zu einem Geschäftsvorfall auf viele Tabellen verteilt und bei Bedarf zusammengesetzt werden.
Das relationale Modell ist bis heute das vorherrschende Modell für Datenbanken.
Objektorientierte Datenbank: Ein objektorientiertes DBMS erlaubt es,
zusammengehörende Einheiten auch zusammen abzuspeichern. Dabei lehnt es sich an die objektorientierte
Programmierung an und vermeidet damit das wiederholte Zusammensuchen zusammengehörender Daten.
Link zur hiesigen Seite als QR-Code
Kontaktformular:
Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!
Mit dem Klick auf den Button stimmen Sie zu, daß Cookies in Ihrem Browser gespeichert werden. Informationen zu den gespeicherten Cookies finden Sie unter Datenschutz#Cookies.Bei Fragen zur Technik wenden Sie sich bitte an Server-Daten - Web-Datenbank-Lösungen