Aufgabe 1
- Datenbank
- = Zusammenfassung von Daten verwaltet durch DBMS
- vielen Nutzern über definierte Schnittstelle (SQL) gleichzeitig zur Verfügung gestellt
- Vorteile:
- unterschiedliche Benutzer und parallele Benutzerzugriffe
- Verwaltung großer Datenbeständen
- 24/7 online
- Relation zwischen Daten
- Datenhaltung und Benutzung der Daten durch Anwendungsprogramme strikt getrennt
- Integrität und Sicherheit der Daten
- Nachteile
- anspruchsvolle Bedienung (Fachpersonal)
- hohe Kosten (Anschaffung, Support, Update)
- Beispiel
- Speicherung von Ausleihen in einer Software
- mehrere Bibliothekar:innen können über ein Programm darauf zugreifen
- Trennung der Ebenen: Nutzung des Anwenderprogramms, DB-Server
Aufgabe 2
- DBS:
- Kombination aus DB und DBMS
- DB: eigentlicher Datenspeicher
- DBMS: Steuerung und Verwaltung des Zugriffs auf die DB, z.B. durch Transaktionen
- Transaktion
- zum Schutz der Daten bei Fehlern ⇒ werden nicht in die DB vor Abschluss geschrieben
- Abschluss:
COMMIT
(Bestätigung und Schreiben der Transaktion in die DB durchs DBMS), ROLLBACK
(Abbruch der Transaktionen)
- Transaktionen können nicht konkurrent ausgeführt werden, sondern es wird gewartet, bis die aktuelle Transaktion ausgeführt wurde ⇒ Locking
- DirtyRead: T1 schreibt Daten, während T2 aus der selben Tabelle liest ⇒ T2 liest alte Daten
- LostUpdate: T1 schreibt Daten, während T2 auch Daten schreibt ⇒ T2 überschreibt die durch T1 geschriebenen Daten und der Inhalt von T2 geht verloren
Aufgabe 3
- ANSI-Modell:
- Trennung der Ebene in einer Software
- Externe Ebene (Anwendungssoftware):
- Benutzersicht
- Einschränkung des Zugriffs auf die Daten
- Benutzererfahrung im Vordergrund
- Konzeptionelle Ebene (DBS/DBMS):
- Benutzer hat keinen Zugriff
- Modellierung von Daten und Relationen ⇒ ERM
- Überprüfung von Integritätsbedingungen
- Interne Ebene (DB):
- physische Speicherung der Daten
- Beispiel Webshop:
- Externe Ebene: Webseite, User kann seine eigenen Daten einsehen und ändern, Admins können Daten aller User einsehen
- Konzeptionelle Ebene: Speicherung der Daten in einer Tabelle users
- Interne Ebene: Speicherung der Daten auf der Festplatte durch den Datenbankserver, z.B. MySQL
- Vorteile:
- Trennung der Rechte zwischen User und Admins
- Anpassungsfähigkeit
- Erweiterbarkeit / Unabhängigkeit von der Anwendungssoftware