SQL Mini-Schulung

Benutze die Pfeiltasten:
← oder→ zum Blättern

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?
    • Beispiele
    • Zum üben: http://pgexercises.com

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?
    • Beispiele
    • Zum üben: http://pgexercises.com

Übung auf Papier

"Buchausleihe"

Aufgabe

  1. Es gibt eine Tabelle mit Kunden
  2. Es gibt eine Tabelle mit Büchern

Q: Wie bilde ich den Vorgang "Ein Kunde leiht sich 1 oder mehr Bücher" in der Datenbank ab?

Welche Daten muss ich in den
beiden Tabellen speichern?

Was fällt euch dabei auf?

Diskussion

  • Es gibt oft mehr als 1 Exemplar eines Buches. Mehrere Kunden können den gleichen Titel ausleihen
  • Wie stellst du sicher, dass nicht mehr ausgeliehen wird als Bücher da sind?
  • Wie funktioniert die Buchrückgabe?

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?
    • Beispiele
    • Zum üben: http://pgexercises.com

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?
    • Beispiele
    • Zum üben: http://pgexercises.com

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?
    • Beispiele
    • Zum üben: http://pgexercises.com

Atomicity

Ganz oder gar nicht! Eine Änderung (=Transaktion) in der DB findet entweder vollständig, oder gar nicht statt. Stromausfälle oder Systemabstürze führen dazu, dass ein rollback passiert.

Consistency

Eine DB bleibt nach einer Transaktion konsistent. Das heißt, dass alle Regeln, die innerhalb der DB definiert worden sind eingehalten werden müssen. Andernfalls wird die Änderung nicht durchgeführt.

Isolation

Die DB sorgt dafür, dass zwei parallel stattfindende Transaktionen nur dann passieren dürfen, wenn der gesamte Vorgang zum selben Ergebnis führt, wie wenn diese Änderungen nacheinander durchgeführt worden wären.

Durability

Die DB sorgt dafür, dass eine durchgeführte Transaktion auch auf einen nicht-flüchtigen Speicher geschrieben wird, der einen Stromausfall oder Systemabsturz übersteht.

Was ist der Preis dafür?

Atomicity

Die DB muss sich den alten Stand merken und ggfs. dahin zurück kehren. Quasi wie ein Tagebuch. Das kostet Zeit und Speicher.

Consistency

Die Prüfung und Einhaltung der Regeln kann bei komplexen Vorgängen Zeit und Performance kosten.

Isolation

Auch hier: Zeit & Performance

Durability

Das Schreiben auf die Festplatte ist im Vergleich zum schnellen, aber flüchtigen Arbeitsspeicher des Datenbankservers um ein viel langsamer und blockiert andere Prozesse ggfs. sogar.

Alternative: NoSQL Datenbanken

Achtung: Sehr viele unterschiedliche Varianten und ganz unterschiedliche Anwendungsfälle. Meist auch Verzicht auf mindestens eine der positiven Eigenschaften von  A, C, I oder D !

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?
    • Beispiele
    • Zum üben: http://pgexercises.com

Daten lesen

​SELECT data FROM tables

Daten ändern

CREATE TABLE [...]

DELETE FROM table [...]

INSERT INTO table [...]

UPDATE table SET [...]

 

...

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?
    • Beispiele
    • Zum üben: http://pgexercises.com

Über was sprechen wir?

  • Was ist SQL, wie sieht das aus
    und was tut man damit?
  • Wie werden Datenbanken und
    Datenbank-Tabellen aufgebaut?
    • Was sind Normalformen und warum
      sind sie nützlich?
    • Was ist ACID?
  • Welche SQL-Anweisungen gibt es?

SQL-in-20-Minuten

By Stefan Antoni

SQL-in-20-Minuten

Ein paar Slides um SQL zu erklären.

  • 1,217