SQL-Skript-Zusammenfassung

Zusammenfassung des 300 Seiten Skriptes

Zusammenfassung des 300 Seiten Skriptes


Marko Kiebitz
Diese Lernkarten bieten eine umfassende Übersicht über SQL-Skriptierung auf Universitätsebene, mit Fokus auf Tabellen, Datenbanken, Triggern, Stored Routines, Transaktionen und Joins. Sie decken Themen wie Tabellenstrukturen, Beziehungen, Locking, Isolierungsebenen und Berechtigungen ab. Ideal für Informatikstudenten, die ihre SQL-Kenntnisse vertiefen und praktische Beispiele sowie Syntax verstehen möchten.
Karten
375
Lernende
5
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
05.04.2015 / 14.12.2017

Lernkarten

Was bedeutet: (g123)

Der User "eins" erhält alle Rechte auf allen Datenbanken, ausgenommen eine Weiterverarbung mit grant

Nur die Spalten artikelname und Einzelpreis von artikeln dürfen selektiert werden vom user zwei

grant select (artikelname, einzelpreis) on artikel
to zwei

Wieviele Rechte, Benutzer, Objekte können gleichzeitig vergeben werden? (g124)

.

Rechte entziehen mit (g125) und beispiele

.

Transaktionen sind (g126)

Abfolge von mehreren Aktionen, die als logische Einheit betrachtet werden

Welche Eigenschaften sollten die Transaktionen erfüllen, um als zuverlässig zu gelten?(4)
 

ACID:


Atomic – Ununterbrechbarkeit, mehrere Befehle werde als Einheit betrachtet
Consistency – Datenstand von einem Consistenten in einen anderen konsistenten Zustand überführen
Isolation – Unabhängigkeit der Transaktionen untereinander
Durability – Dauerhafte Übernahme konsistenter Ergebnisse in den Datenbestand

Mit einer Transaktion: Setze den Kontostand von Konto 1 um 100 herab (g127)

.

Womit werden Änderungen rückgängig gemacht? (g128)

.

Was ist locking?

Temporäres Sperren von Datenbankobjekten

Wie Erfolgt die Freigabe nach dem sperren?
 

Automatisch nach Beendigung der Transaktion

Auf welchen Ebenen ist Locking möglich?(4)
 

Einzelne Attribute(Zellen)
Datensätze(Zeilen)
Ganze Tabellen
Komplette Datenbank

Locking Typen(3)
 

Read Lock – lesen für MEHRERE Transaktionen, kein schreiben
Write Lock – exklusiver Zugruff, read/Write für EINE Transaktion
Weitere Typen: Shareck Locks etc.

Gegenseitiges Sperren von Ressourcen kann zu

Deadlocks führen!

Beispiel Tabellen sperren bevor der Lagerbestand verändert wird (g129)

.

Isolierungen – Mögliche Konflikte : Dirty Read

Eine Transaktion liest einen Datensatz, den eine andere gleichezeitig ablaufende Transaktion kurz zuvor geschirben hat, jedoch nicht per commit bestätigt hat

Isolierungen – Mögliche Konflikte : Non-Repeatable Read
 

Innerhalb einer Transaktion liefert dieselbe Leseoperation unterschiedliche Ergebnisse, weil eine andere Transaktion nach dem ersten Lesevorgang die Daten geändert und bestätigt hat (der zweite Lesevorgang würde andere Ergebnisse liefern)

Isolierungen – Mögliche Konflikte : Phantom Read

Erneuter Lesevorgang innerhalb Transktion liefert inkonsistente Daten, weil andere Transaktion Daten hinzugefügt oder gelöscht hat

Isolierungsebenen Befehl
 

set transaction isolation level

Isolierungsebenen(4) und gelöste Probleme (4)

Serializable – gelöste Probeleme: dirty read, nonrepeatable read, phantom read
Repeatable read- gelöste Probeleme: dirty read, nonrepeatable read
Read commited - gelöste Probeleme: dirty read
Read uncommited - gelöste Probeleme: keine

Beispiel Dirty Read (g130)

.

Beispiel: Non-repeatable Read (g131)

.

Beispiel: Phantom Read (g132)

.

Stored Routines nenne drei Arten(3)
 

Stored Procedure
User-Defnied Funktion(Stored Funktion)
Trigger

Was sind Stored Routines(3)

Seit von SQL-Statemens, welche mit Namen auf DB-Server gespeichert sind
Mini Programme
Sie können nicht geändert nur gelöscht und neu erstellt werden

Was muss für Stored Routines geändert werden

Der Kommandobegrenzer (Delimiter)

Functions liefern einen

Ergebniswert zurück

Trigger werden nicht
 

Aktiv aufgerufen, sondern automatisch bei bestimmten Veränderungen am Datenbestand

Stored Procedure Syntax (g134)

.

Stored Procedure Beispiel (g133)

.

Was ist SQL/PSM

Persistent Stored Modules

Was beinhaltet PSM (2)
 

Befehle zur Ablaufsteuerung
Variablen, Zuweisungen, Blöcke usw

PSM Auswahl an Befehlen(10)
 

IF, WHEN, THEN, END, DO, ELSE, REPEAT, SET, RETURN, UNTIL usw

Deklaration einer Variable, muss wo stehen?
 

Am Anfang VOR anderen Statements!

Deklaration einer Variable Syntax

Declare , … [DEFAULT ]

Wertezuweisung einer Variable

set <varname> = xxx

Wertezuweisung einer Variable über select

select <colname> [, …] INTO varname[,…]
from <tablename> where…

Blöcke – sollen mehrere Statements als eine Einheit behandelt werden
 

So ist BEGIN-END zu nutzen (g135)

Code Beispiel : Verzweigungen mit if, then
 

if neueid is null then
  set neueid = 1 ;

end if

Verzweigungen mir elseif (g136)

,

Fallunterscheidung mit case-funktion (g137)

.

Lernen