q2:einfuehrung_und_geschichte

Datenbank

aus Wikipedia, der freien Enzyklopädie Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen. Ein DBS besteht aus zwei Teilen: der Verwaltungssoftware, genannt Datenbankmanagement-system (DBMS) und der Menge der zu verwaltenden Daten, der eigentlichen Datenbank (DB). Die Verwaltungssoftware organisiert intern die strukturierte Speicherung der Daten und kontrolliert alle lesenden und schreibenden Zugriffe auf die Datenbank. Zur Abfrage und Verwaltung der Daten bietet ein Datenbanksystem eine Datenbanksprache an. Datenbanksysteme gibt es in verschiedenen Formen. Die Art und Weise, wie ein solches System Daten speichert und verwaltet, wird durch das Datenbankmodell festgelegt. Die gebräuchlichste Form eines Datenbanksystems ist das Relationale

Geschichte

Ausgehend von Problemen bei der Verarbeitung von Daten in einfachen Dateien, wurde in den 1960er Jahren das Konzept eingeführt, Daten durch eine separate Softwareschicht zwischen Betriebssystem (Dateiverwaltung) und Anwendungsprogramm zu verwalten. Dieses Konzept begegnete der Fehlentwicklung, dass Datenspeicher in Form von Dateien in der Regel für eine spezielle Anwendung konzipiert wurden und ein erheblicher Teil des Tagesgeschäfts mit Umko-pieren, Mischen und Restrukturieren der Dateien belastet war. Eines der ersten großen DBMS war IMS mit der Sprache DL/I (Data Language One). Die damit verwalteten Datenbanken waren hierarchisch strukturiert. Parallel dazu definierte CODASYL ein Modell für netzwerkartig strukturierte Datenbanken.

Einen wesentlichen Fortschritt erzielte in den 1960er und 1970er Jahren Edgar F. Codd mit sei-ner Forschungsarbeit am IBM Almaden Research Center. Codd entwickelte die Grundlagen des ersten experimentellen relationalen Datenbanksystems System R[1]. Die Berkeley Group folgte mit Ingres und der Abfragesprache QUEL. Oracle (damals noch unter den Firmennamen SDL und RSI) verwertete die Ergebnisse des Sys-tem R und führte SQL zum kommerziellen Erfolg. IBM folgte mit SQL/DS und DB2. Die relationa-len Datenbanksysteme verdrängten in den 1980er Jahren die hierarchischen und netzwerkarti-gen Systeme und der Großteil der Behörden, Konzerne, Institute und mittelständischen Unter-nehmen stellte seine IT auf Datenbanksysteme um. Während in den 1990er Jahren wenige kommerzielle Hersteller von Datenbank-Software fak-tisch den Markt beherrschten (namentlich IBM, Informix, Ashton-Tate mit dBASE, Microsoft mit SQL Server und Oracle), erlangen in den 2000ern die Open-Source-Datenbankmanagementsys-teme eine immer größere Bedeutung. Vor allem MySQL und PostgreSQL erzielten signifikante Marktanteile. Als Reaktion bieten die führenden kommerziellen Hersteller gebührenfreie Ver-sionen ihrer Datenbank-Software an. Etwa seit 2001 ist aufgrund mangelnder Skalierbarkeit re-lationaler Datenbanken die Bedeutung der NoSQL-Bewegung gewachsen. Internetsites werden heute häufig mit Datenbankenunterstützung erstellt. Man spricht von Content Managementsystemen. Eine der größten deutschen Softwarehersteller ist SAP. Diese Firma setzt in ihrer Unternehmenssoftware SAP R/3 große Datenbanken ein.

Komponenten eines Datenbanksystems

Das Datenbanksystem ist das ausgeführte DBMS zusammen mit den zu verwaltenden Daten, der Datenbank. Ein DBS gewährleistet die persistente Speicherung sowie die Konsis¬tenz der Nutzdaten einer Institution und bietet mit dem DBMS eine Schnittstelle zur Abfrage, Manipulation und Verwaltung dieser Daten. Datenbankmanagementsystem

Das Datenbankmanagementsystem (DBMS) ist die eingesetzte Software, die für das Daten-banksystem installiert und konfiguriert wird. Das DBMS legt das Datenbankmodell fest und entscheidet maßgeblich über Funktionalität und Geschwindigkeit des Systems. Datenbankmanagementsysteme selbst sind hochkomplexe Softwaresysteme.

Die Ebenen eines Datenbankmanagement-Systems

Den Begriff „Datenbank“ und „Datenbankmanagementsystem“ (kurz DBMS) kann man sich vielleicht am besten verdeutlichen, wenn man sich ein oft als „Dateien-system“ bezeichnetes Verfahren zur Verwaltung von Daten ansieht, das sich in den 60er und 70er Jahren etablierte und z.T. heute noch verwendet wird. Kennzeichnend dafür ist eine statische Zuordnung von Programmen und den Daten, die sie benötigen.

Bsp.: An der Schule werden an verschiedenen Stellen Stammdaten der Schüler wie Vorname, Nachname, Geburtsdatum benötigt, z.B. im Sekretariat, in der Bibliothek und bei der Institution (Person), die Kurse einteilt. Alle nutzen unterschiedliche Programme und verwalten dabei ihre eigene Schülerdatei.

Die Probleme, die hierbei auftreten sind ersichtlich:

  1. Datenredundanz, d.h. dieselben Daten werden mehrfach gespeichert.
  2. Gefahr der Dateninkonsistenz, d.h. bei Änderung können wegen der mehrfach gespeicherten Daten Widersprüche auftreten. Verlässt ein Schüler die Schule, so wird er mit Programm I im Sekretariat gelöscht, aber bei III immer noch in Kurse eingeteilt. (Es soll sogar schon vorgekommen sein, dass solche fiktiven Schüler dann auch noch Noten erhalten haben.
  3. Unflexibel gegenüber Änderungen, kurz gesagt, Änderungen der Datenstruktur verlangen Änderungen der Programme, zusätzliche Aufgaben verlangen neue Datenorganisation, da diese an der alten Zielsetzung ausgerichtet war. Abfragen über mehrere Datenbestände hinweg lassen sich in diesem System kaum realisieren (als Bsp. eine Abfrage über die Daten der Bibliothek und der Kurseinteilung: „Lesen Schüler der Deutsch-Leistungskurse mehr klassische Literatur?“).
  4. Datenschutzprobleme und Datensicherheit, Benutzer bzw. Programme besitzen vollen Zugriff zumindest auf die dem Programm zugeordnete Daten. (So könnte z.B. das Biblio-theksprogramm aufgrund einer Fehlfunktion sämtliche Ausleiher, d.h. Schülerdaten löschen.)
  5. Schwierige Einhaltung von Standards, d.h. Datenbestände werden an unterschiedlichen Stellen in unterschiedlichen Formaten abgespeichert und sind nicht ohne weiteres aus-tauschbar. Z.B. können die Schülerdaten im Sekretariat in einem Format vorliegen, das vom Bibliotheksprogramm nicht verstanden wird, so dass diese Daten dort extra einge-geben werden müssen.

Diese Probleme sollen mit dem Konzept der Datenbank und des DBMS vermieden werden. Das DBMS verwaltet zentral alle Daten eines Unternehmens, einer Institution, eines Projekts usw. Redundanzen und Inkonsistenzen können so vermieden werden, unterschiedliche Standards entfallen.

Die Daten sind gemäß ihren logischen Zusammenhängen organisiert und nicht entsprechend den Anforderungen spezieller Anwendungen. Das DBMS stellt Benutzern, das können Menschen, aber auch Programme sein, die Daten in einer für sie brauchbaren Form zur Ver-fügung. Ändert sich eine Anwendung, dann muss nicht mehr die Datenorganisation geändert werden, sondern lediglich eine neue „externe Sicht“ auf die Daten geschaffen werden. Datensicherheit und Datenschutz können leichter gewährleistet werden. So erhält ein Benutzer durch seine spezifische Sicht nur Zugriff auf für ihn „erlaubte“ Daten. Das DBMS kann durch spezifische Kontrollen beim Eingeben, Löschen und Ändern von Daten Fehler vermeiden helfen. So ist es z.B. nicht möglich, einem fiktiven Schüler, d.h. einem Schüler, der nicht in der Schülersubdatenbank existiert, Kurse zuzuweisen. Man spricht hier von der Erhaltung der Datenintegrität.

Das zuvor Gesagte macht deutlich, dass es sehr unterschiedliche Sichten auf eine Datenbank gibt. Man unterscheidet sinnvoll drei Ebenen:

  1. Externe Sicht, so stellen sich, wie oben schon ausgeführt, die Daten dem Benutzer dar.
  2. Logische Gesamtsicht, hier sind die logischen Zusammenhänge und Abhängigkeiten der Daten beschrieben. Die Abstraktion, die von der realen Welt zu dieser logischen Gesamtsicht führt, bezeichnet man auch als konzeptuelles Modell.
  3. Interne Sicht, hier wird die Realisierung der Daten auf einer Computeranlage beschrieben. Es geht um Fragen, wie: welche Daten werden zu Einheiten (Daten¬sätzen) auf einem Massenspeicher zusammengefasst und wie wird (schnell) darauf zugegriffen (Suchbaum, Hashtabelle usw.)

Im Idealfall sind die drei Ebenen völlig unabhängig voneinander, d.h. dass z.B. eine andere interne Organisation der Daten nichts am konzeptuellen Modell ändern sollte. Die Ver-bindungen werden durch Transformationen geschaffen, die natürlich bei Änderungen auf einer Ebene anders gestaltet werden müssten.

In einer ANSI-Definition dieses 3-Ebenen-Modells werden auch drei Instanzen (event. Personen) unterschieden, die für die einzelnen Ebenen zuständig sind : Anwendungsadministrator, Unternehmensadministrator und Datenbankadministrator. Inwieweit eine solche strenge Differenzierung sinnvoll ist und tatsächlich praktiziert wird, sei dahingestellt. Wichtig ist aber, dass es Benutzer gibt, die auf der externen Ebene Zugang zur Datenbank haben, und eine Instanz, die ein konzeptuelles Modell des Unternehmens erstellt und eine, die sich um die interne Organisation der Daten kümmert.

  • /var/www/infowiki/data/pages/q2/einfuehrung_und_geschichte.txt
  • Zuletzt geändert: 2017/07/13 16:21
  • von admin03