← Alle Stockwerke

Stockwerk 8

Datenbanken

DBMS, SQL, Normalformen

Definition DBS, DBSM und DB

Skizze

idtitleprice1SQL19Zeile = Tupel, Spalte = Attribut
  • Das Datenbankmanagementsystem (DBMS) ist für die Verwaltung der Datenbank(-en) zuständig.
  • Die Datenbank speichert die Informationen in Form von einzelnen Datensätzen ab.
  • Ein Datenbanksystem unterstützt die computergestützte Datenverarbeitung von Informationen, die durch eine Datenbankapplikation erzeugt und verarbeitet werden.
Anforderungen/ Funktionen eines DBMS

Die wesentlichen Funktionen von heutigen Datenbankmanagementsystemen sind:

  • Speicherung, Überschreibung und Löschung von Daten
  • Verwaltung der Metadaten
  • Vorkehrungen zur Datensicherheit
  • Vorkehrungen zum Datenschutz
  • Vorkehrungen zur Datenintegrität
  • Ermöglichung des Mehrbenutzerbetriebs durch das Transaktionskonzept
  • Optimierung von Abfragen
  • Ermöglichung von Triggern und Stored Procedures
  • Bereitstellung von Kennzahlen über Technik und Betrieb des DBMS
Systemarchitekturen
  • Desktop Datenbanken für einfache Anwendungen (Einbenutzerbetrieb) läuft nur auf einem PC
  • Desktop Datenbanken für wenige Benutzer (Mehrbenutzerbetrieb) läuft auf einem externen Medium (Netzwerklaufwerk etc.)
  • Client/Server Datenbanken läuft auf einem Server-PC und exklusiven Zugriff auf Datenbankdateien.
SQL Definition

Skizze

idtitleprice1SQL19Zeile = Tupel, Spalte = Attribut

bedeutet Structured Query Language und ist eine Datenbanksprache zur Definition von Datenstrukturen in relationalen Datenbanken sowie zum Bearbeiten (Einfügen, Verändern, Löschen) und Abfragen von darauf basierenden Datenbeständen.

Datenbankmodelle

Skizze

idtitleprice1SQL19Zeile = Tupel, Spalte = Attribut

Ein Datenbankmodell ist die theoretische Grundlage für eine Datenbank und legt fest, auf welche Art und Weise die Daten im Datenbanksystem gespeichert und bearbeitet werden können.

  • Relationale Datenbanken
    Der Aufbau besteht ausschließlich aus Tabellen und zwischen diesen Tabellen bestehen mathematisch fundierte Beziehungen. Leicht programmierbar, aber erfordert viel PC-Leistung.
  • Objektorientierte Datenbanken
    können Tabellen enthalte, die weitere Tabellen besitzen, daher komplexer als Relationale Datenbanken und oft höherer Aufwand für seine Programmierer.
  • Hierarchische Datenbanken
    ist die älteste, dafür aber der schnellste, weil sie geringere Redundanzen bildet, da hier eine Monohierarchie genutzt wird (also vom Root zum Knoten).
  • Netzwerkartige Datenbanken
    stehen über ein beliebig aufgebautes Netz, die miteinander in Verbindung stehen. Flexibilität wird dadurch erhöht.
Drei Ebenen der Datenbanken

Skizze

idtitleprice1SQL19Zeile = Tupel, Spalte = Attribut
  • physische Sicht auf die Daten, die interne Ebene
  • logische Gesamtsicht auf die Daten, die konzeptionelle Ebene
  • Benutzersichten auf die Daten, die externe Ebene
Phasen des Datenbankentwurfs

Skizze

idtitleprice1SQL19Zeile = Tupel, Spalte = Attribut

Kosten-/ Nutzenanalyse: Sammeln und Analysieren der Anforderungen an die neue Datenbank

Konzeptueller Entwurf: Systemunabhängiger Entwurf der Datenbank nach Anwendungsfunktionen

Verteilungsentwurf: Bei verteilten Datenbanken systemunabhängiger Entwurf des verteilten Systems

Logischer Entwurf: Auswahl eines Datenbankmodells und Abbildung des konzeptuellen Entwurfs auf das Datenbankmodell

Datendefinition: Datendefinition, d. h. Codierung und Programmierung mithilfe eines DBMS, Definition der Benutzersichten

Phsischer Entwurf: Definition der Zugriffstrukturen im physischen Entwurf

Implementierung und Wartung: Installation der Datenbank-Anwendung, Anpassung, Testphase

Übungsaufgabe

Unterschied **DDL** vs. **DML**?
Relationale Datenbanken Grundbegriffe

Skizze

idtitleprice1SQL19Zeile = Tupel, Spalte = Attribut
  • Tabellen Grundbegriffe
  • Zelle, Spalte, Zeile, Zeile = Datensatz, Primärschlüssel
  • Schlüssel und Beziehungen ( Seite 19-20, 1.2 )

Übungsaufgabe

Was ist ein **Tupel**?
SQL ( DDL, DML, DCL ) Befehlsgruppen

Skizze

idtitleprice1SQL19Zeile = Tupel, Spalte = Attribut

Wichtige Grundbefehle:

CREATE

TABLE tabellenname (

attribute1, attribute2,  …

);

Erstellt eine Tabelle mit attributen

-- Dies ist ein Kommentar

Schreibweise von Kommentaren

ALTER

TABLE tabellenname

ADD

DROP

CHANGE

Tabelle verändern

DROP

TABLE tabelle;

Löscht Tabelle

CREATE

DROP

ALTER

TRUNCATE

DDL Anweisungen

 

INSERT

DELETE

UPDATE

SELECT

DML Anweisungen

SELECT *

FROM Kunden \G;

Vertikale Ansicht

SELECT

Vorname AS Firstname,

Nachname AS Lastname,

telefon AS Phone

FROM Kunden;

Ausgewählte Datensätze  unter geänderten Tabellenkopf anzeigen lassen

DELETE

FROM Kunden

WHERE knr = 2;

Lösche von Tabelle wenn Bedingung Wahr

Delete löscht immer ganze Zeilen

In diesem Fall löscht man sogar die Komplette zweite Zeile sodass sie nichtmehr belegt werden kann

INSERT

INTO Kunden

(Vorname, Nachname, Strasse, PLZ, Telefon)

VALUES

('Ender', 'Apaydin', 'Mohrenstr. 8a', '10117', '0900222222'),

('Scott', 'Bärbock', 'Möllendorffstr. 52', '10367','03012341');

Insert Beispiel

UPDATE Kunden

SET

Nachname = 'Lehmann',

Vorname = 'Kevin'

WHERE KNr = 3;

Update Beispiel