Einführung in die Datenbanksysteme
Aufgaben
Daten zentral speichern, lesen, verwalten, bereitstellen
Anwendungsbeispiele
- CRM (Customer Relationship Management)
- Buchhaltungssoftware
- ERP (Enterprise Ressource Planning)
- SAP FI/CO (Financial Controlling)
- CMS (Content Management System)
- Userverwaltung in Netzwerken
Anforderungen
- schneller Zugriff
- Keine Redundanz (doppelte Daten)
- Erweiterbarkeit der Struktur
- Datensicherheit gegen unerlaubten Zugriff
- Datensicherheit gegen Datenverlust (Backup-Möglichkeiten)
- Sperrung von Daten, auf die schreibend zugegriffen wird
- Protokollierbarkeit von Aktionen -> Rollback, etc.
- Benutzergruppen mit unterschiedlichen Berechtigungen
Grundstruktur
Mehrere Anwendungen greifen auf ein im Intranet (seltener im Internet) zentral installiertes Datenbankmanagementsystem zu, welches mehrere Datenbanken bereitstellt:

DBMS-Beispiele
- MS-SQL-Server (Microsoft)
- mySQL (OpenSource)
- Postgre (OpenSource)
- Oracle Database Server
- IBM DB/2
Datenbankmodelle
Hierarchisches Datenmodell

- fester Strukturzwang entspricht nicht immer der Realität
+ physikalisch gut abbildbar im Speicher
Netzwerkdatenmodell

- Strukturzwang
- lässt sich nicht leicht physikalisch abbilden
- Änderungen sind schwer einzupflegen
+ entspricht häufiger den realen Gegebenheiten
Relationales Modell
Die Daten werden in Tabellen gespeichert, deren Einträge mit Schlüsseln (ID's) miteinander verknüpft werden.

+ kein Strukturzwang
+ komplexe Beziehungen lassen sich abbilden
+ weit verbreitet
Structured Query Language SQL ist die weitgehend standardisierte Abfragesprache mit der auf relationale Datenbanken zugegriffen wird.
Objektorientiertes Datenmodell
Hier werden Objekte als ganzes gespeichert.

+ Objekte werden zusammen mit Zugriffsmethoden gespeichert
+ Anbindung mit objektorientierten Sprachen ist relativ einfach
- nicht weit verbreitet, daher sind auch Schnittstellen zur Programmiersprache rar
Objektorientierte Datenbanken gehören zu den sogenannten noSQL-Datenbanken, die man nicht nur mit SQL abfragen kann (not only SQL).