Datenbank Management System: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Datenbankmanagementsysteme''' (abgekürzt '''DBMS''', englisch ''Database Management System'') sind Systemprogramme, die die strukturierte Speicherung von Daten in [[Datenbank]]en organisieren und alle lesenden und schreibenden Zugriffe kontrollieren. Sie sind ein wesentlicher Bestandteil moderner IT-Architekturen. | '''Datenbankmanagementsysteme''' (abgekürzt '''DBMS''', englisch ''Database Management System'') sind Systemprogramme, die die strukturierte Speicherung von [[Daten]] in [[Datenbank]]en organisieren und alle lesenden und schreibenden Zugriffe kontrollieren. Sie sind ein wesentlicher Bestandteil moderner IT-Architekturen. | ||
== Einführung == | == Einführung == | ||
[[Datei:DBMS-Schichten.png|mini]] | [[Datei:DBMS-Schichten.png|mini]] | ||
Ein Datenbankmanagementsystem organisiert die strukturierte Speicherung von Daten in Datenbanken und kontrolliert alle lesenden und schreibenden Zugriffe. Zur Wahrung der [[Datenkonsistenz|Konsistenz]] des Datenbestandes müssen sich alle Anwendungssysteme an das DBMS wenden, um die Datenbank nutzen zu können. | Ein Datenbankmanagementsystem organisiert die strukturierte Speicherung von [[Daten]] in Datenbanken und kontrolliert alle lesenden und schreibenden Zugriffe. Zur Wahrung der [[Datenkonsistenz|Konsistenz]] des Datenbestandes müssen sich alle Anwendungssysteme an das DBMS wenden, um die Datenbank nutzen zu können. | ||
Ein DBMS selbst gehört zur Kategorie der [[Systemsoftware]], sorgt für eine dauerhafte Sicherung der Daten auf einem Speichermedium und ist ein wichtiger Bestandteil von [[Mehrschichtenarchitektur|mehrschichtigen Architekturen]]. Es gibt sehr viele Anbieter von DBMS. Ein sehr weitverbreitetes Produkt ist [[MySQL]]. | Ein DBMS selbst gehört zur Kategorie der [[Systemsoftware]], sorgt für eine dauerhafte Sicherung der [[Daten]] auf einem Speichermedium und ist ein wichtiger Bestandteil von [[Mehrschichtenarchitektur|mehrschichtigen Architekturen]]. Es gibt sehr viele Anbieter von DBMS. Ein sehr weitverbreitetes Produkt ist [[MySQL]]. | ||
Zur Abfrage und Verwaltung der Daten bietet ein Datenbanksystem unterschiedliche Techniken. Dies hängt von der Art der Datenbank ab. So hat sich zum Beispiel die [[SQL|Structured Query Language]] (SQL) als Standard für relationale Datenbanken etabliert. | Zur Abfrage und Verwaltung der [[Daten]] bietet ein Datenbanksystem unterschiedliche Techniken. Dies hängt von der Art der Datenbank ab. So hat sich zum Beispiel die [[SQL|Structured Query Language]] (SQL) als Standard für relationale Datenbanken etabliert. | ||
== Funktionen eines DBMS == | == Funktionen eines DBMS == | ||
Zeile 15: | Zeile 15: | ||
* Modellierung von semantischen Modellen wie [[Entity-Relationship-Modell]]en | * Modellierung von semantischen Modellen wie [[Entity-Relationship-Modell]]en | ||
* Verwaltung mehrerer Datenbanken | * Verwaltung mehrerer Datenbanken | ||
* Speicherung, Überschreibung und Löschung von Daten | * Speicherung, Überschreibung und Löschung von [[Daten]] | ||
* Vorkehrungen zur [[Datensicherheit]] und [[Datenschutz]] durch Rechte- und Rollen-Konzepte | * Vorkehrungen zur [[Datensicherheit]] und [[Datenschutz]] durch Rechte- und Rollen-Konzepte | ||
* Vorkehrungen zur [[Datenintegrität]] | * Vorkehrungen zur [[Datenintegrität]] | ||
Zeile 26: | Zeile 26: | ||
=== Relationale Datenbank === | === Relationale Datenbank === | ||
Datenbanksysteme gibt es in verschiedenen Formen. Die gebräuchlichste Form ist das [[Relationales Datenbankmodell|relationale Datenbankmodell]]. Die Art und Weise, wie ein solches System Daten speichert und verwaltet, wird durch das [[Datenbankschema]] festgelegt. Das Datenbankschema wird in der Regel aus einem Entity-Relationship-Modell abgeleitet. | Datenbanksysteme gibt es in verschiedenen Formen. Die gebräuchlichste Form ist das [[Relationales Datenbankmodell|relationale Datenbankmodell]]. Die Art und Weise, wie ein solches System [[Daten]] speichert und verwaltet, wird durch das [[Datenbankschema]] festgelegt. Das Datenbankschema wird in der Regel aus einem Entity-Relationship-Modell abgeleitet. | ||
=== Objektorientierte Datenbank === | === Objektorientierte Datenbank === | ||
Zeile 47: | Zeile 47: | ||
[[Datei:DBMS-Darstellung.png|mini]] | [[Datei:DBMS-Darstellung.png|mini]] | ||
[[Datei:DBMS-Softwareentwicklungsprozess.png|mini]] | [[Datei:DBMS-Softwareentwicklungsprozess.png|mini]] | ||
Zu Beginn wird die zu erstellende Datenbank durch ein semantisches Modell, z.B. ein Entity-Relationship-Modell, konzipiert. Gemäß dieses Designs wird die Datenbank mittels [[Data Definition Language|DDL]] - einem Teil von SQL - implementiert. Das Anlegen, Verändern, Löschen und Einsehen von Daten einer Datenbank erfolgt durch SQL-Abfragen bzw. -Anfragen. Jede Anfrage wird überprüft, ob sie den Konsistenzbedingungen der Datenbank entspricht. Wenn nicht, wird die Abfrage abgewiesen. | [[Datei:DBMS-Server.png|mini|Server Architecture (Quelle: https://docs.oracle.com)]] | ||
Zu Beginn wird die zu erstellende Datenbank durch ein semantisches Modell, z.B. ein Entity-Relationship-Modell, konzipiert. Gemäß dieses Designs wird die Datenbank mittels [[Data Definition Language|DDL]] - einem Teil von SQL - implementiert. Das Anlegen, Verändern, Löschen und Einsehen von [[Daten]] einer Datenbank erfolgt durch SQL-Abfragen bzw. -Anfragen. Jede Anfrage wird überprüft, ob sie den Konsistenzbedingungen der Datenbank entspricht. Wenn nicht, wird die Abfrage abgewiesen. | |||
== Architekturtypen == | == Architekturtypen == | ||
=== Stand-Alone-DBMS === | === Stand-Alone-DBMS === | ||
Die Daten und das DBMS selbst befinden sich auf einem Rechner. Es können zwar unterschiedliche Anwendungen bzw. Anwender auf die Datenbank zugreifen, allerdings niemals parallel bzw. gleichzeitig. Erst wenn die Anwendung A die Datenbankverbindung zur Stand-Alone-Datenbank X geschlossen hat, kann eine zweite Anwendung B auf diese Datenbank X zugreifen. | Die [[Daten]] und das DBMS selbst befinden sich auf einem Rechner. Es können zwar unterschiedliche Anwendungen bzw. Anwender auf die Datenbank zugreifen, allerdings niemals parallel bzw. gleichzeitig. Erst wenn die Anwendung A die Datenbankverbindung zur Stand-Alone-Datenbank X geschlossen hat, kann eine zweite Anwendung B auf diese Datenbank X zugreifen. | ||
=== Client-Server-Architektur === | === Client-Server-Architektur === | ||
Zeile 58: | Zeile 59: | ||
== Hersteller und Produkte == | == Hersteller und Produkte == | ||
[[Datei:DBMS-MySQL.png|mini]] | |||
Es gibt eine Vielzahl von Anbietern und Produkten auf dem Markt. Alle basieren auf der Programmiersprache SQL. Jedoch verwendet jeder Hersteller einen anderen Dialekt dieser Sprache. Hier eine willkürliche Auswahl von Herstellern und Produkten: | Es gibt eine Vielzahl von Anbietern und Produkten auf dem Markt. Alle basieren auf der Programmiersprache SQL. Jedoch verwendet jeder Hersteller einen anderen Dialekt dieser Sprache. Hier eine willkürliche Auswahl von Herstellern und Produkten: | ||
Zeile 76: | Zeile 77: | ||
[[Kategorie:Datenbanken]] | [[Kategorie:Datenbanken]] | ||
[[Kategorie:FI_I_SDM]] | [[Kategorie:FI_I_SDM]] | ||
[[Kategorie:FI_I_TP2]] |
Aktuelle Version vom 8. Oktober 2025, 10:52 Uhr
Datenbankmanagementsysteme (abgekürzt DBMS, englisch Database Management System) sind Systemprogramme, die die strukturierte Speicherung von Daten in Datenbanken organisieren und alle lesenden und schreibenden Zugriffe kontrollieren. Sie sind ein wesentlicher Bestandteil moderner IT-Architekturen.
Einführung

Ein Datenbankmanagementsystem organisiert die strukturierte Speicherung von Daten in Datenbanken und kontrolliert alle lesenden und schreibenden Zugriffe. Zur Wahrung der Konsistenz des Datenbestandes müssen sich alle Anwendungssysteme an das DBMS wenden, um die Datenbank nutzen zu können.
Ein DBMS selbst gehört zur Kategorie der Systemsoftware, sorgt für eine dauerhafte Sicherung der Daten auf einem Speichermedium und ist ein wichtiger Bestandteil von mehrschichtigen Architekturen. Es gibt sehr viele Anbieter von DBMS. Ein sehr weitverbreitetes Produkt ist MySQL.
Zur Abfrage und Verwaltung der Daten bietet ein Datenbanksystem unterschiedliche Techniken. Dies hängt von der Art der Datenbank ab. So hat sich zum Beispiel die Structured Query Language (SQL) als Standard für relationale Datenbanken etabliert.
Funktionen eines DBMS
Die wesentlichen Funktionen von heutigen Datenbankmanagementsystemen sind:
- Modellierung von semantischen Modellen wie Entity-Relationship-Modellen
- Verwaltung mehrerer Datenbanken
- Speicherung, Überschreibung und Löschung von Daten
- Vorkehrungen zur Datensicherheit und Datenschutz durch Rechte- und Rollen-Konzepte
- Vorkehrungen zur Datenintegrität
- Ermöglichung des Mehrbenutzerbetriebs durch das Transaktionskonzept
- Optimierung von Anfragen
- Ermöglichung von Triggern und Stored Procedures
- Bereitstellung von Kennzahlen über Technik und Betrieb des DBMS
Arten von Datenbanken
Relationale Datenbank
Datenbanksysteme gibt es in verschiedenen Formen. Die gebräuchlichste Form ist das relationale Datenbankmodell. Die Art und Weise, wie ein solches System Daten speichert und verwaltet, wird durch das Datenbankschema festgelegt. Das Datenbankschema wird in der Regel aus einem Entity-Relationship-Modell abgeleitet.
Objektorientierte Datenbank
Am einfachsten lassen sich Objekte in objektorientierten Datenbanken serialisieren. Die Idee ist, dass man die im Speicher vorhandenen Objekte um einen persistenten Bereich erweitert, der dann von einer Datenbank verwaltet wird.
XML-Datenbanken
Ursprünglich ist XML als eine Sprache zur Darstellung von Dokumenten gestartet, mit der Zeit haben sich jedoch auch XML-Datenbanken entwickelt.
Komponenten
Ein Datenbankmanagementsystem besteht meist aus einer Administrationsoberfläche und den einzelnen Datenbanken. Datenbanken sind eigenständige Dienste. Die Administrationsoberfläche bietet eine Sicht auf diese Dienste durch eine grafische Benutzeroberfläche. Standardfunktionen können hier bequem gesteuert werden.
Technisch erfolgt die Interaktion mit einer Datenbank jedoch immer mit Hilfe der Sprache SQL. Aufgabenstellungen, die über die Standardanforderungen hinausgehen, müssen eigenständig durch SQL-Befehle programmiert werden. Eine Datenbank ist das Ergebnis eines Softwareentwicklungsprozesses.
Entwicklungsprozess



Zu Beginn wird die zu erstellende Datenbank durch ein semantisches Modell, z.B. ein Entity-Relationship-Modell, konzipiert. Gemäß dieses Designs wird die Datenbank mittels DDL - einem Teil von SQL - implementiert. Das Anlegen, Verändern, Löschen und Einsehen von Daten einer Datenbank erfolgt durch SQL-Abfragen bzw. -Anfragen. Jede Anfrage wird überprüft, ob sie den Konsistenzbedingungen der Datenbank entspricht. Wenn nicht, wird die Abfrage abgewiesen.
Architekturtypen
Stand-Alone-DBMS
Die Daten und das DBMS selbst befinden sich auf einem Rechner. Es können zwar unterschiedliche Anwendungen bzw. Anwender auf die Datenbank zugreifen, allerdings niemals parallel bzw. gleichzeitig. Erst wenn die Anwendung A die Datenbankverbindung zur Stand-Alone-Datenbank X geschlossen hat, kann eine zweite Anwendung B auf diese Datenbank X zugreifen.
Client-Server-Architektur
Einen anderen Ansatz verfolgen Client-Server-Datenbanken: Zugriff auf Dateien des Datenbestandes hat dort nur der Datenbank-Server, der die Arbeitsplatzrechner bedient. Anfragen werden also nicht auf dem Arbeitsplatzrechner bearbeitet, sondern auf dem Datenbank-Server, es werden dann nur die Ergebnisse an die Arbeitsplatzrechner geschickt. Hinzu kommt, dass Client-Server-Systeme meist viel besser auf den Umgang mit großen Datenmengen ausgerichtet sind.
Hersteller und Produkte

Es gibt eine Vielzahl von Anbietern und Produkten auf dem Markt. Alle basieren auf der Programmiersprache SQL. Jedoch verwendet jeder Hersteller einen anderen Dialekt dieser Sprache. Hier eine willkürliche Auswahl von Herstellern und Produkten:
- Microsoft Access von Microsoft
- Microsoft SQL Server von Microsoft
- MySQL von Oracle Cooperation
- PostgreSQL von PostgreSQL Global Development Group
- und viele andere