Was ist eine Datenbank?
System zur elektronischen Datenverwaltung
Sorgt dafür das große Datenmengen effizient, wiederspruchsfrei und dauerhaft gespiechert werden können
Und bei Bedarf passend dargestellt werden können
Aus welchen zweit Teile besteht die Datenbanksystem?
Die Datenbank besteht aus zwei Teilen:
der Verwaltungssoftware (DBMS)
der gespeicherten Daten (Datenbank selbst).
Was ist das Datenbankmanagementsystem (DBMS)?
Die Software, die installiert wird, um ein Datenbanksystem einzurichten und zu konfigurieren.
Legt fest, welches Datenbankmodell genutzt wird
Hat einen großen Einfluss darauf, wie schnell und funktional das System arbeitet.
Was sind die Aufgbaen des Datenbankmanagementsystem (DBMS)?
Speichern der Daten
Verwaltung der Metadaten
Daten über Daten
Spaltenname, Datentyp, Länge, Default-Wert
Primärschlüssel, Fremdschlüssel
Datensicherheit
Mehrbenutzerbetrieb durch Transaktionen
Viele Benutzer können gleichzeitig auf die Datenbank zugreifen,
ohne dass es zu Konflikten, Fehlern oder Datenverlust kommt
Sicherstellen der Datenintegrität
Anfrageoptimierung
Bereitstellen von Indizes
Welche Eigenschaften hat das Datenbankmanagementsystem (DBMS)?
Eigenschaften:
Transaktionen
Datenintegrität
Wozu dienen Transaktionen im DBMS?
Schutz bei parallelem Zugriff mehrerer Benutzer
Verhindern gleichzeitige Änderungen durch verschiedene Benutzer
Sonst könnte das Ergebnis der Änderungen zufällig sein
Beispiel
Solange Anna ihre Transaktion nicht abgeschlossen hat (also noch kein COMMIT gemacht hat), kann Max dieselben Daten nicht ändern.
Die Datenbank blockiert diesen Zugriff – das nennt man Sperren (Locks).
Wie wird Datenintegrität im Datenbankmanagementsystem (DBMS) sichergestellt?
Regeln im Managementsystem, die festlegen, wie Daten verändert werden dürfen
Beispiel: Foreign Key Constraint
Verhindert, dass Daten gelöscht werden, die in einer anderen Tabelle noch benötigt werden
Was ist Anfrageoptimierung im DBMS?
Damit Daten abgefragt und manipuliert werden können, stellt das DBMS eine Datenbanksprache zur Verfügung.
Die Wahl der Operatoren und ihre Ausführungsreihenfolge wird durch den Anfrageoptimierer bestimmt (Erstellung eines Ausführungsplans).
Welche Aufgaben haben Sprachen im DBMS?
Datenabfrage und -manipulation
Verwaltung der Datenbank und Definition der Datenstrukturen
Berechtigungssteuerung
Meist in einer Sprache (z. B. SQL) vereint, in manchen Systemen auch in getrennten Sprachen
Was ist eine Datenbank und woraus besteht sie?
Logisch zusammengehöriger Datenbestand
Besteht aus einer Reihe Tabellen mit Datensätzen
Datensätze -> Tatsächlichen Werte wie z.B Anna bei Name oder 21 bei Alter
die wiederum aus Datenfeldern bestehen
Datenfelder -> Spalten: Strucktur welche Art von Information
z.B Kundennr, Vorname, Nachname
Wird von einem laufenden Datenbankmanagementsystem verwaltet
Was macht die Verwaltungssoftware in einem DBMS?
Organisiert intern die strukturierte Speicherung der Daten
Kontrolliert alle lesenden und schreibenden Zugriffe auf die Datenbank
Welche Arten von Datenbankmodellen gibt es?
Hierarchisch
Netzwerkartig
Relational
Objektorientiert
Es existieren Misch- und Nebenformen
Was bedeutet das hierarchische Datenbankmodell?
Datenobjekte stehen ausschließlich in einer Eltern-Kind-Beziehung zueinander
Was bedeutet das netzwerkartige Datenbankmodell?
Datenobjekte werden miteinander in Netzwerk verbunden
Was ist das relationale Datenbankmodell?
Daten werden zeilenweise in Tabellen verwaltet
Beliebige Beziehungen zwischen Datentabellen möglich
Beziehungen werden durch Werte bestimmter Tabellenspalten festgelegt
Was ist das objektorientierte Datenbankmodell?
Beziehungen zwischen Datenobjekten werden vom DBMS verwaltet
Objekte können Eigenschaften und Daten von anderen Objekten erben
Was bedeutet SQL (Structured Query Language)?
Datenbanksprache die fast von allen gängigen Datenbanksysteme unterstützt wird
Welche Aufgaben übernehmen SQL-Befehle?
Definition des Datenbankschemas
Datenmanipulation und -abfrage (Ändern, Einfügen, Löschen)
Rechteverwaltung
Was machen die SQL- Befehle?
SELECT:
Zum Abfragen bestimmter Tabellenspalten
INSERT:
Fügt neue Daten in eine Tabelle ein
UPDATE:
Ändert bestehende Werte in einer Tabelle
DELETE:
Löscht bestehnde Werte in einer Tabelle
CREATE:
Erstellen neue Tabelle in einer Datenbank
ALTER:
Zum Ändern der Tabellenstruktur
DROP:
Löscht eine Tabelle aus der Datenbank
Wie funktioniert die Rechteverwaltung in SQL/DBMS?
Rechte können auch auf Sichten (Relationen) vergeben werden
WITH GRANT OPTION: erlaubt Weitergabe von Rechten
PUBLIC: alle Benutzer
Datenbankadministrator (DBA) hat alle Rechte
Jeder Benutzer hat alle Rechte an seinen eigenen Objekten
DBMS haben eigene Benutzerverwaltung mit Rollen oder Gruppen
Rechte können auf fast alles vergeben werden, nicht nur auf Tabellen
Was ist Primary Key und Foregein Key in einer Datenbank?
Ein Primary Key identifiziert jeden Tupel (Datensatz) eindeutig
Ein Foregein Key ist ein Attribut, das auf den Primary Key einer anderen Relation verweist
Was ist eine Transaktion in einer Datenbank?
Mehrere Befehle, die logisch zusammengehören, werden ganz oder gar nicht ausgeführt.
Muss vollständig erfolgreich sein, sonst werden alle Änderungen rückgängig gemacht
Beispiel: Alle Änderungen werden bei Fehler zurückgesetzt (Rollback)
Was versteht man unter Dateninkonsistenz?
Daten verletzen Integritätsbedingungen (z. B. Fremdschlüsselbeziehungen)
Ursache: falsche Analyse des Datenmodells oder Programmierfehler
Was ist SQL als Sprache
Keine vollwertige Programmiersprache
Kann aber mit anderen Programmiersprachen kombiniert werden
Zuletzt geändertvor 14 Tagen