10 Transaktionen Änderungen verwalten
|
|
- Irma Maier
- vor 7 Jahren
- Abrufe
Transkript
1 Eindruck eines Einnutzer- Systems Datenbanken werden meist von vielen Nutzern fast gleichzeitig genutzt. Dieses Kapitel zeigt Ihnen die möglichen Gefahren und Lösungsansätze. In den bisherigen Kapiteln wurde implizit angenommen, dass man alleine am System arbeitet. Dies ist bei großen Datenbanken typischerweise nicht der Fall. Um die Arbeit nicht unnötig zu verkomplizieren, sollte das Datenbank-Managementsystem dafür sorgen, dass der Nutzer auf andere Nutzer keine Rücksicht nehmen muss. In diesem Kapitel wird gezeigt, dass diese Aufgabe zwar grundsätzlich vom Datenbank-Managementsystem übernommen wird, es aber sinnvoll ist, sich über kritische Situationen Gedanken zu machen. Wenn zwei Nutzer die gleiche Zeile gleichzeitig verändern wollen, ist es nicht möglich, beiden Nutzern das Gefühl zu geben, alleine an der Datenbank zu arbeiten. Im folgenden Unterkapitel wird zunächst die Möglichkeit zur Transaktionssteuerung für einen einzelnen Nutzer vorgestellt. Danach werden typische Probleme gezeigt, die bei der gleichzeitigen Nutzung der gleichen Tabellen auftreten können und welche Lösungsmöglichkeiten es für diese Probleme gibt Änderungen verwalten Änderungen rückgängig machen Wurden bisher Änderungen an den Tabellen vorgenommen, konnte man davon ausgehen, dass diese Änderungen direkt in der Datenbank durchgeführt wurden. Dieser einfache Ansatz hat dann Probleme, wenn eine größere Anzahl von Änderungen durchgeführt werden soll, es aber möglich ist, dass man nach einigen Teilschritten feststellt, dass die Änderungen doch nicht durchgeführt werden sollen. Bisher müsste man sich alle Folgen von INSERT-, UPDATE- und DELETE-Befehlen merken, um dann diese Änderungen mit einer neuen Folge von SQL-Befehlen wieder rückgängig zu machen. Dies ist gerade durch die Nutzung komplexer WHERE- Bedingungen und die verschiedenen Verknüpfungsmöglichkei- 223 S. Kleuker, Grundkurs Datenbankentwicklung, DOI / _10, Springer Fachmedien Wiesbaden 2013
2 Transaktion In verschiedenen Datenbank-Managementsystemen gibt es die Möglichkeit, statt eines SAVEPOINTs mehrere durch den Befehl SAVEPOINT <name> anzulegen und dann mit ROLLBACK TO SAVEPOINT <name> zu diesem Sicherungspunkt zu springen. Interessant ist die Aussage, dass mit COMMIT versucht wird, die Änderungen endgültig in die Datenbank zu übernehmen. Die- Transaktionssteuerung nur für Tabellenänderungen COMMIT garantiert keine Ausführung ten durch die Fremdschlüsselbeziehungen sehr aufwändig und potenziell fehlerträchtig. Aus diesem Grund wird im SQL-Standard die Möglichkeit zur Transaktionssteuerung spezifiziert. Dabei ist eine Transaktion eine Menge von SQL-Befehlen zur Veränderung von Tabelleninhalten, die ein Nutzer zusammen durchführen und die er vor einer endgültigen Ausführung abbrechen können möchte. Zu beachten ist, dass sich die Transaktionssteuerung auf Veränderungen existierender Tabellen bezieht, Befehle zum Erzeugen und Löschen von Tabellen sind explizit ausgeschlossen. Zur Transaktionssteuerung stehen dem Nutzer grundsätzlich folgende Befehle zur Verfügung: BEGIN TRANSACTION: Mit diesem Befehl wird eine Transaktion gestartet. Häufiger wird auf die Angabe des Befehls explizit verzichtet, da man beim Start des Systems und durch ein COMMIT oder ROLLBACK automatisch eine neue Transaktion beginnt. COMMIT: Die vorher eingegebenen Befehle zur Veränderung von Tabellen sollen endgültig in die Datenbank übernommen werden. Die Transaktion wird damit abgeschlossen. ROLLBACK: Die Änderungen an den Tabellen, die seit dem Ende der letzten Transaktion durchgeführt wurden, sollen verworfen werden. Es sollen keine Änderungen in der eigentlichen Datenbank stattfinden. SAVEPOINT: Mit diesem Befehl kann in der laufenden Transaktion ein Sicherungspunkt gesetzt werden. Mit dem nächsten ROLLBACK-Befehl wird dann zu der Situation zurück gesprungen, die zum Zeitpunkt des SAVEPOINT-Befehls vorlag. Mit einem weiteren ROLLBACK würde dann die gesamte Transaktion verworfen. 224
3 10.1 Änderungen verwalten ser Versuch kann scheitern, wenn ein zweiter Nutzer Änderungen an den gleichen Tabellen vornehmen möchte. In diesem Fall führt das Datenbank-Managementsystem automatisch ein ROLLBACK durch und verwirft die gesamte Transaktion. Werden neue Tabellen angelegt, Tabellen gelöscht oder bricht ein Nutzer die Datenbank-Verbindung ab, wird typischerweise automatisch ein COMMIT durchgeführt. Dies kann aber in der Konfiguration von Datenbank-Managementsystemen eingestellt werden. Der beispielhafte Ablauf von Tabellenänderungen mit Transaktionssteuerung wird mit dem folgenden SQL-Skript und der zugehörigen Ausgabe gezeigt. CREATE TABLE ( MNr INTEGER, Name VARCHAR(6), Gehalt INTEGER, PRIMARY KEY(MNr) ); INSERT INTO VALUES(1,'Egon',70); INSERT INTO VALUES(2,'Uwe',60); SAVEPOINT; INSERT INTO VALUES(3,'Ute',80); SELECT * FROM ; ROLLBACK; SELECT * FROM ; ROLLBACK; INSERT INTO VALUES(4,'Udo',70); COMMIT; SELECT * FROM Die erste Ausgabe liefert: MNR NAME GEHALT Egon 70 2 Uwe 60 3 Ute 80 Danach wird zum vorher festgelegten Sicherungspunkt zurück gesprungen, die Ausgabe liefert: MNR NAME GEHALT Egon 70 2 Uwe 60 Dann wird zum Ausgangspunkt der Transaktion zurück gesprungen und danach ein neuer namens Udo angelegt. Die Ausgabe liefert: 225
4 Originaltabelle im Datenbank-Managementsystem Transaktionssteuerung ist systemabhängig MNR NAME GEHALT Udo 70 Die Realisierung der Transaktionssteuerung wird im SQL- Standard offen gelassen und ist Aufgabe der Hersteller der Datenbank-Managementsysteme. Ein häufig gewähltes Verfahren ist der Schattenspeicher. Dabei werden alle Änderungen einer Transaktion lokal in einem Zwischenspeicher gehalten und erst bei einem COMMIT in die eigentliche Datenbank übertragen. MiNr Name 2 Uwe Nutzer der Datenbank UPDATE SET Gehalt=100 WHERE.Name='Uwe' Gehalt 100 Schattenspeicher mit aktuellen Änderungen Aktualisierung bei COMMIT MiNr Name 1 Egon 2 Uwe Gehalt Abb. 10-1: Schattenspeicher-Verfahren Schattenspeicher-Verfahren In Abb wird das Schattenspeicher-Verfahren verdeutlicht. Der Nutzer ändert das Gehalt von Uwe auf 100. Diese Information wird lokal im Speicher zur Transaktion vermerkt. In der eigentlichen Datenbank findet die Änderung noch nicht statt. Fragt der Nutzer die tabelle in der laufenden Transaktion ab, wird er trotzdem das Gehalt 100 bei Uwe sehen, da alle Anfragen durch den Schattenspeicher laufen. Interessant und schwierig an diesem Ansatz ist, wenn ein zweiter Nutzer gleichzeitig die Tabelle bearbeitet, da er die Änderungen des ersten Nutzers typischerweise nicht sehen kann. Die dahinter stehenden Probleme und ihre Lösungsansätze werden in den folgenden Unterkapiteln diskutiert. 226
5 10.2 Typische Probleme beim parallelen Zugriff 10.2 Typische Probleme beim parallelen Zugriff lokale Variablen in Datenbanken Hat das Datenbankmanagementsystem keine ordentliche Verwaltung von Transaktionen, kann es zu den folgenden Problemen kommen. Zur Erklärung wird ein Befehl SELECT.Gehalt INTO :X FROM WHERE.MiNr=1 genutzt. Für die Zeile INTO :X wird davon ausgegangen, dass eine Variable :X im System definiert wurde, die vom Typ her zum Ergebnis der Anfrage, hier zur Spalte.Gehalt, passt. Eine solche Variablendeklaration ist in verschiedenen Datenbank-Managementsystemen möglich, ist aber sparsam eingesetzt worden, da Ergebnisse von Anfragen nicht in zusätzlichen Variablen verwaltet werden sollten. Der Ansatz wird hier vorgestellt, der als Platzhalter dafür dienen kann, dass eine Applikation einen Wert aus der Datenbank liest und nach einer Bearbeitung wieder, eventuell an anderer Stelle, in die Datenbank schreiben will. Nutzer 1 Nutzer 2 Datenbankinhalt SELECT.Gehalt INTO :X 1 Uwe 70 WHERE.MiNr=1 SELECT.Gehalt INTO :Y WHERE.MiNr=1 UPDATE SET Gehalt=:X+10 WHERE.MiNr=1 UPDATE SET Gehalt=:Y+20 WHERE.MiNr=1 1 Uwe 80 1 Uwe 90 Abb. 10-2: Lost Update Lost Update In Abb ist ein Beispiel für eine verloren gegangene Änderung, ein Lost Update, beschrieben. Beide Nutzer wollen das Gehalt des s mit der MiNr 1 ändern. Dazu lesen sie den aktuellen Wert jeweils in eine Variable. Diese Variable wird dann zur Aktualisierung des Datenbankeintrags genutzt. Da 227
6 Dirty Read Phantom Read das Lesen der zweiten Variable vor der schreibenden Änderung des ersten Nutzers stattfindet, geht die Änderung des ersten Nutzers verloren. Solch eine Situation kann z. B. auftreten, wenn ein zwei Prämien aus unterschiedlichen Gründen erhalten soll und dann eine Prämie verloren geht. In Abb ist ein Beispiel für das Lesen eines nicht bestätigten Wertes, ein Dirty Read, beschrieben, das nur durch die im vorherigen Unterkapitel vorgestellte Transaktionssteuerung auftreten kann. Dabei ist allerdings zu beachten, dass man eine ähnliche Situation erreicht, wenn der Nutzer 1 statt eines ROLLBACKs den Wert mit einem UPDATE-Befehl wieder zurücksetzt. Dieses eng mit dem Dirty Read verwandte Problem wird auch Phantom Read genannt. Der Name ist passend, da während der Aktionen des Nutzers 2 ein Datum erscheint, vom Nutzer 2 genutzt wird und wieder verschwindet ohne dass der Nutzer 2 nachvollziehen kann, was eigentlich passiert ist. Nutzer 1 Nutzer 2 Datenbankinhalt 1 Uwe 70 UPDATE SET Gehalt=Gehalt+20 WHERE.MiNr=1 UPDATE SET Gehalt=Gehalt+20 WHERE.MiNr=1 ROLLBACK COMMIT Abb. 10-3: Dirty Read 1 Uwe 90 1 Uwe Uwe 70 1 Uwe 110 Im beschriebenen Fall will der Nutzer 1 das Gehalt von Uwe um 20 erhöhen, danach nutzt der Nutzer 2 den neuen Wert, um das Gehalt um 20 zu erhöhen. Nutzer 1 entscheidet sich zur Rücknahme der Änderung, so dass der Nutzer 2 mit einem nicht bestätigten Wert gearbeitet hat. Eine solche Situation kann z. B. auftreten, wenn zwei Sachbearbeiter das gleiche Personal 228
7 10.3 Transaktionssteuerung Unrepetable Read bearbeiten und ein Fehler bei der Trennung der Kompetenzen vorliegt. Ein drittes typisches Problem, ist die Nichtwiederholbarkeit lesender Operationen, Unrepeatable Read genannt. In Abb ist ein Beispiel dargestellt. Der Nutzer 2 lässt sich zweimal die Summe der Gehälter berechnen. Dies kann z. B. dann sinnvoll sein, wenn eine Softwarekomponente die Berechnungen einer anderen Komponente überprüfen möchte. Diese Prüfung, ob :X und :Y den gleichen Wert haben, scheitert in diesem Fall, da der Nutzer 1 einen Wert in der Tabelle geändert hat. Sinnvoll wäre es, wenn der Nutzer 2 innerhalb einer Transaktion immer die gleichen Werte sehen würde, das Ergebnis der Summenberechnung sollte entweder immer 130 oder 150 sein, aber niemals das Zwischenergebnis 140. Nutzer 1 Nutzer 2 Datenbankinhalt 1 Uwe 70 2 Ulli 60 UPDATE SET Gehalt=Gehalt+10 WHERE.MiNr=1 1 2 Uwe Ulli SELECT SUM(.Gehalt) INTO :X FROM UPDATE SET Gehalt=Gehalt+10 WHERE.MiNr=2 SELECT SUM(.Gehalt) INTO :Y FROM Abb. 10-4: Unrepeatable Read 1 Uwe 80 2 Ulli Transaktionssteuerung Um die im vorherigen Unterkapitel vorgestellten Probleme zu vermeiden, wird vom Datenbank-Managementsystem eine Transaktionssteuerung gefordert. Details dieser Steuerung kann der Nutzer dabei für seine Transaktionen einstellen. Generell soll der Nutzer das Gefühl haben, dass seine Transaktionen das 229
8 Atomicity Consistency Isolation Durability hier zu erklärende ACID-Prinzip nutzen. Der Standard überlässt es den Herstellern der Datenbank-Managementsysteme, wie sie dieses Prinzip durchsetzen. ACID ist dabei eine Abkürzung, die sich aus folgenden Forderungen zusammensetzt. Das A steht für Atomicity, zu Deutsch Atomarität. Transaktionen sind unteilbar, sie finden entweder ganz oder gar nicht statt. Innerhalb einer Transaktion kann eine andere Transaktion keinen Einfluss haben. Für die vorgestellten Probleme heißt das im Lost Update-Beispiel der Abb. 10-2, dass die Transaktionen hintereinander stattfinden, also zwar in beliebiger Reihenfolge, aber immer mit dem Ergebnis, dass das Gehalt auf 100 gesetzt wird. Bei dem Dirty Read-Beispiel in Abb müssen die beiden Transaktionen wieder in beliebiger Reihenfolge stattfinden. Das Ergebnis wäre immer, dass das Gehalt auf 90 gesetzt wird. Im Fall des Unrepeatable Read-Beispiels aus Abb würde das Ergebnis sein, dass der Nutzer 2 entweder in beiden Fällen 130 oder in beiden Fällen 150 berechnet. Das C steht für Consistency, zu Deutsch Konsistenz. Eine Transaktion geht von einer Datenbank aus, die alle Konsistenzregeln erfüllt. Wird die Transaktion dann ausgeführt, ist die Datenbank danach wieder in einem Zusatand, in dem alle Regeln erfüllt sind. Das I steht für Isolation, was zu Deutsch auch als Isolation übersetzt werden kann. Isolation garantiert, dass alle Zwischenergebnisse, die während einer laufenden Transaktion erreicht werden, von anderen Transaktionen nicht gelesen und verändert werden können. Das D steht für Durability, zu Deutsch Dauerhaftigkeit. Die Dauerhaftigkeit garantiert, dass Ergebnisse einer Transaktion persistent sind, also auf Dauer gespeichert werden. Die Ergebnisse einer Transaktion können nur durch eine andere Transaktion verändert werden. Der Nutzer kann die Genauigkeit der Transaktion steuern. Dazu kann beim Start der Transaktion ein so genannter Isolationsgrad mit SET TRANSACTION LEVEL <Nummer> gesetzt werden. Häufig werden statt der Nummern auch Schlüsselwörter genutzt, die aber in Datenbank-Managementsystemen variieren können. 230
9 10.4 Aufgaben Level Name mögliche Problemfälle 0 READ UNCOMMITED Dirty Read, Unrepeatable Read, Phantom Read 1 READ COMMITTED Unrepeatable Read, Phantom Read 2 REPEATABLE READ Phantom Read 3 SERIALIZABLE keine Abb. 10-5: Isolationslevel Gründe für niedrigen Isolationslevel Auswirkungen von Transaktionssteuerungen Die genauen Werte können der Abb entnommen werden. Die typische Standard-Einstellung ist der Wert 3, mit dem ACID-Transaktionen garantiert werden. Wenn man weiß, dass man nur lesende Zugriffe hat beziehungsweise kein zweiter Nutzer auf die gleichen Tabellen zugreifen will, kann es aus Performance-Gründen sinnvoll sein, einen anderen Isolationslevel für eine Transaktion einzustellen. Der Level muss typischerweise für jede Transaktion neu eingestellt werden, wenn nicht der Standardwert des Datenbanksystems genutzt werden soll. Aus Nutzersicht ist zu beachten, dass eine ordentliche Transaktionssteuerung einige Rechenzeit benötigt. Weiterhin kann es sein, dass eine Transaktion bei einem COMMIT lange warten muss bis sie endlich ausgeführt wird, da die Transaktionssteuerung auf das Ende einer anderen Transaktion wartet. Weiterhin ist es möglich, dass eine Transaktion abgebrochen oder trotz COMMIT ein ROLLBACK ausgeführt wird, da ein Konflikt mit einer anderen Transaktion vorliegt. Im Extremfall können sich Transaktionen gegenseitig blockieren, wenn z. B. die eine Transaktion die Tabelle A geändert hat und dann die Tabelle B ändern will und eine andere Transaktion B geändert hat und auf A zugreifen möchte. Man spricht dabei von einem Deadlock, der entweder vom Nutzer durch den Abbruch einer Transaktion oder vom Datenbank-Managementsystem durch den Ablauf einer Zeitschranke, in der eine Transaktion weiter voran schreiten muss, aufgelöst wird Aufgaben Wiederholungsfragen Versuchen Sie zur Wiederholung folgende Aufgaben aus dem Kopf, d. h. ohne nochmaliges Blättern und Lesen zu bearbeiten. 231
10 1. Was versteht man unter einer Transaktion? 2. Welche Steuerungselemente für Transaktionen gibt es? 3. Wie funktioniert das Schattenspeicherverfahren? 4. Beschreiben Sie anschaulich die drei typischen Probleme, die bei der parallelen Datenbanknutzung auftreten können. 5. Was versteht man unter dem ACID-Prinzip? 6. Was sind Isolationsgrade, wozu können sie genutzt werden? Übungsaufgaben 1. Ein Nutzer A führt auf einer Datenbank folgende SQL- Befehle aus: INSERT INTO T1(Name,Alt) VALUES('Heinz', 42); UPDATE T1 SET Alt=Alt+1 Ein zweiter Nutzer B führt auf der gleichen Datenbank folgende SQL-Befehle aus: INSERT INTO T1(Name,Alt) VALUES('Verena',33); UPDATE T1 SET Alt=Alt+1 Gehen Sie davon aus, dass die Tabelle T1 mit den Spalten Name und Alt erfolgreich angelegt wurde und leer ist, bevor A und B tätig werden, die am Ende COMMIT eingeben. a. Welche Endzustände können in der Tabelle T1 erreicht werden, wenn die Datenbank keine Transaktionssteuerung hat, dabei seien einzelne INSERT und UPDATE nicht unterbrechbar? b. Welche Endzustände können in der Tabelle T1 erreicht werden, wenn die Datenbank eine vollständige Transaktionssteuerung hat? 2. In Abb wird das Schattenspeicher-Verfahren vorgestellt. a. Überlegen Sie, welche Auswirkungen dieses Verfahren auf die drei Problemfälle hat. b. Überlegen Sie im nächsten Schritt einen möglichen Ansatz, mit dem man ACID-Transaktionen erreichen könnte. 232
In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken
In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken gewährleistet wird. 1 Im einzelnen geht es in diesem Abschnitt
MehrEigenschaften von TAs: ACID-Prinzip
Transaktionsparadigma Definition: Transaktion ununterbrechbare Folge von DML-/DDL-Befehlen begin transaction --- end transaction begin: meist implizit mit ersten Datenbankzugriff end: commit (work) oder
MehrTransaktionsverwaltung
Kapitel l2 Transaktionsverwaltung Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten im Sommersemester 2007 an der
MehrKapitel 2 Transaktionsverwaltung. Skript 2009 Matthias Schubert
Kapitel 2 Transaktionsverwaltung Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten im Sommersemester 2007 an der
MehrDatenbanksysteme. Transaktionen. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen
Datenbanksysteme Transaktionen Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2019 Übersicht Transaktionen Motivation ACID-Eigenschaften Recovery Ursachen für Recovery
Mehr7. Transaktionsverwaltung
7. Transaktionsverwaltung Motivation Transaktionen erlauben Bündelung von Operationen und gelten als wichtigster Beitrag des Bereichs Datenbanken zur Informatik; sie werden heute auch außerhalb von Datenbanksystemen
Mehr11 Rechte und Views Views
Anfrageergebnisse als Tabellen Rechte zur Tabellennutzung Oft enthalten Datenbanken sehr komplexe Tabellen und Informationen, die nicht jedem Nutzer zugänglich sein sollen. In diesem Kapitel lernen Sie,
Mehr1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL
1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II SS Transaktionen & ACID. Dr. Christian Senger Transaktionen & ACID 1
Transaktionen & ACID Dr. Christian Senger Transaktionen & ACID 1 PC Architekturen Kein Mehrbenuzterbetrieb Recovery? Benutzerabbrüche? PC Lokale Datenbank PC PC PC PC PC PC-System DBMS PC PC PC PC Internet
MehrTransaktionsverwaltung read write read write
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable a: read(a,a); 2. Reduziere den Kontostand um 50.- Euro: a:= a 50; 3. Schreibe
MehrTransaktionen. Concurrency Management in MS SQL Server
Transaktionen Concurrency Management in MS SQL Server Transaktionen in SQL Server SQL Server bietet die Möglichkeit, eine Reihe von Datenbankoperationen (Änderungen) in einem logischen Vorgang zu gruppieren
MehrTransaktionsverwaltung
Transaktionsverwaltung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung Transaktionen:
MehrInhaltsverzeichnis. Inhaltsverzeichnis
Inhaltsverzeichnis Das Script für die Lehrveranstaltung Datenmanagement wurde im Wintersemester 2007/2008 komplett überarbeitet und neu strukturiert. Wir bitten darum, eventuelle Fehler im Script an Milan
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrTransaktionsverwaltung
Transaktionsverwaltung Commit Eigenschaften von Transaktionen (ACID) Transaktionen in SQL Kapitel 9 1 Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand
Mehr6. Updates in SQL 6-1. Inhalt. 1. Update-Kommandos in SQL. 2. Transaktionen. 3. Gleichzeitige Zugriffe
6. Updates in SQL 6-1 Inhalt 1. Update-Kommandos in SQL 2. Transaktionen 3. Gleichzeitige Zugriffe 6. Updates in SQL 6-2 Updates in SQL: Übersicht SQL-Befehle zur Änderung des DB-Zustands: 1. INSERT: Einfügung
MehrKapitel 2 Transaktionsverwaltung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 2 Transaktionsverwaltung Vorlesung: PD Dr. Peer
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrBeispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion
12. Transaktionen Beispielszenarien Transaktionsbegriff Probleme im Mehrbenutzerbetrieb Serialisierbarkeit Sperrprotokolle zur Synchronisation Isolationsebenen in SQL Platzreservierung für Flüge quasi
MehrGruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS 21.06.2018 DATENMODELLIERUNG 2 (184.790) DATENBANKSYSTEME (184.686) GRUPPE
MehrDatenbanken: Transaktionskonzept und Concurrency Control
Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der
MehrProbeklausur Datenbanktechnologie
Probeklausur Datenbanktechnologie Prof. Dr. Ingo Claßen Name: Vorname: MatrNr: Bewertung 1 25 2 15 3 10 4 10 Übung 40 Σ = 100 Punkte Punkte: Note: Notenspiegel 100 95 1,0 94 90 1,3 89 85 1,7 84 80 2,0
MehrIsolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
MehrTransaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Transaktionen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Motivation ACID-Eigenschaften Übersicht Transaktionen Motivation ACID-Eigenschaften Ursachen für Logging und Backup
MehrTransaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
MehrKapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
MehrTransaktionsverwaltung
Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung
Mehr5.8 Bibliotheken für PostgreSQL
5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9
MehrSoftware-Engineering und Datenbanken
Software-Engineering und Datenbanken Transaktionskonzepte 1 Der Transaktionsbegriff Eine Transaktion ist eine Folge von Operationen, die die Datenbank von einem konsistenten Zustand in einen neuen überführen.
MehrDatenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
Mehrfbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1
Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency
MehrTransaktionsmanagement - Einführung. Prof. Dr. T. Kudraß 1
Transaktionsmanagement - Einführung Prof. Dr. T. Kudraß 1 Einführung Nebenläufige Ausführung von Benutzerprogrammen wesentlich für gute Performance des DBMS Weil Plattenzugriffe häufig und relativ langsam
MehrLiteratur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14
Literatur und Quellen Datenbanken Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2013/14 Lektüre zu den Themen : Kapitel 9 () aus Kemper und Eickler:
Mehr12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
MehrPrakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement
Prakt. Datenbankprogrammierung Sommersemester 2005 I,9: Datenmanipulation Daten-Manipulations-Sprache DML-Statements werden ausgeführt bei: Hinzufügen von Datensätzen Modifizieren von Datensätzen Löschen
Mehr7 DCL (Data Control Language)
7 DCL (Data Control Language) 7 In diesem Kapitel werden wir die der SQL-Befehle für Transaktionen und für die Vergabe von Privilegien kennen lernen. Eine der wichtigsten Eigenschaften einer Datenbank
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
MehrFolien php/mysql Kurs der Informatikdienste
Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,
MehrKapitel 3 Synchronisation
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 3 Synchronisation Vorlesung: PD Dr. Peer Kröger
MehrKapitel 7: Referentielle Integrität
Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen
Mehr9 Transaktionskonzept
9 Transaktionskonzept Transaktionskonzept 9.1 Das Transaktionskonzept 9.2 Concurrency & Locking 9.3 Recovery 9.4 JDBC Teil II 9.4.1 Transaktionsmanagement 9.4.2 Objektrelationale Konzepte Schestag Datenbanken
Mehr3.6 Transaktionsverwaltung
3.6 Transaktionsverwaltung Transaktionen erlauben Bündelung von Operationen und gelten als wichtigster Beitrag des Bereichs Datenbanken zur Informatik; sie werden heute auch außerhalb von Datenbanksystemen
MehrDatenbanken. Ein DBS besteht aus zwei Teilen:
Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)
MehrDatenbank und Tabelle mit SQL erstellen
Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`
MehrTestklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17
Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren Aufgabe 1 10 = 5 + 5 Punkte) DDL Relationenmodell eer-diagramm /10) Gegeben sei das folgende SQL-DDL-Skript zur Generierung eines Oracle-Datenbankschemas:
MehrVorlesung "Verteilte Systeme" Wintersemester 2000/2001. Verteilte Systeme. 14. Transaktionen
Verteilte Systeme 14. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries (Primary-Backup- Approach) Aktive
MehrDatenbankadministration
Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion
MehrVorlesung Informationssysteme
Saarbrücken, 25.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 8: Transaktionen und wann sie gebraucht werden Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch
Mehr6.3 Verteilte Transaktionen
6.3 Verteilte Transaktionen Situation: Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.b. verteilte Datenbank, verteiltes Dateisystem,...) d.h. in Fragmente aufgeteilt, für die
MehrAbfragen (Queries, Subqueries)
Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl
MehrPraktische SQL-Befehle
Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/
MehrDatenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
MehrDB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer
DB-Datenbanksysteme DB-13 043-SQL-DML 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache
MehrDatenbanken II Literatur
Datenbanken II Literatur C. J. Date: An Introduction to Database Systems; Addison-Wesley Systems Programming Series. 6th ed. 1995 H. E. Erbs, S. Karczewski und I. Schestag: Datenbanken (Datenmodelle, Objekte,
MehrVorlesung "Systemsoftware II" Wintersemester 2002/03
(c) Peter Sturm, Universität Trier 1 Verteilte Systeme 16. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
MehrDatenbanken Konsistenz und Mehrnutzerbetrieb III
Datenbanken Konsistenz und Mehrnutzerbetrieb III 1. Oracle Architektur! Komponenten des Oracle Servers! Zugriff über Netzwerk 2. Zugriffsrechte! Starten und Schließen der Datenbank! Nutzer und Rollen!
MehrSQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP
SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP W. Spiegel Übersicht DDL & DML Relationen definieren: CREATE Primärschlüssel setzen mit primary key Tabellen löschen: DROP Daten speichern: INSERT Daten
MehrDie InnoDB Storage Engine. Handy aus?
Die InnoDB Storage Engine Kristian Köhntopp Handy aus? InnoDB: Vorteile, Nachteile Vorteile: Transaktionen MVCC Row Locks OLTP Concurrency Crash-Recovery Nachteile: Höherer Platzbedarf Höherer Speicherbedarf
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrModerne Datenbankkonzepte
Verteilte Datenbanken Moderne Datenbankkonzepte Wünschenswert, aber extrem aufwändig ( Zweiphasen Commit) Objektrelationale Datenbanken Kompromiss zwischen relational und rein objektorientiert seit 1999
MehrDatenbank- Verwaltungssysteme
Datenbank- Verwaltungssysteme Diana Troancă Babeș-Bolyai Universität Fakultät Mathematik und Informatik Dozent: Diana Troancă E-mail: dianat [at] cs.ubbcluj.ro Website: www.cs.ubbcluj.ro/~dianat/ Feedback
MehrTrainingsmanagement Gutschein Management. Beschreibung
Trainingsmanagement Beschreibung www.dastm.de info@dastm.de 1. Einführung... 2 2. Gutschein Funktionen... 3 2.1. Gutschein Menü... 3 2.2. Gutscheine anlegen... 4 Gutschein Kassenwirksam erfassen... 6 Gutschein
MehrDB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition:
1 Referentielle Aktionen Gegeben sei folgende Datendefinition: [10 P.] CREATE TABLE Wissenschaftler( SVNr int PRIMARY KEY, Vorname varchar(25) NOT NULL, Nachname varchar(25) NOT NULL, Gehalt int NOT NULL
MehrÜbersicht der wichtigsten MySQL-Befehle
Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit
MehrÜben von DDL und DML. Ergebnis:
SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen
MehrKlausur mit Musterlösung
Carl-Schurz-Schule 14.03.2012 Informatik, Kurs Q2Info01 Victor Hahn Klausur mit Musterlösung Ihr Name: Maximal erreichbare Anzahl Verrechnungspunkte (VP): 66 Einziges zugelassenes Hilfsmittel: Ein Blatt
MehrTransaktionen: Wiederholung und Vertiefung
Wirtschaftsinformatik II Datenorganisation Datenbanken - Kommunikation Transaktionen: Wiederholung und Vertiefung 7. Datenbankorganisation 7.1. Architektur und Klassifizierung von Datenbanksystemen 7.2
MehrKapitel 9a Transaktionen - Synchronisation
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme Wintersemester 2018/2019 Kapitel 9a Transaktionen - Synchronisation Vorlesung:
MehrEinführung in Subversion
Einführung in Subversion Benjamin Seppke AB KOGS Dept. Informatik Universität Hamburg Was ist Subversion? Ein Server-basiertes Versions-Verwaltungs- System Ermöglicht mehreren Benutzern die gemeinsame
MehrVIEWS UND WEITERE TABELLEN-OPERATIONEN
KAPITEL 9 VIEWS UND WEITERE TABELLEN-OPERATIONEN 9.1 Vereinbarung und Einsatz von Views 9.1.1 Einrichtung von Views Die CREATE VIEW-Anweisung Von Ausnahmen abgesehen ist es wie wir zuvor erläutert haben
Mehr1 Referentielle Aktionen
1 Referentielle Aktionen Betrachten Sie das folgende Datenbankschema: Person(Vorname, Nachname, DOB, Wohnort, Lieblingsfilm Film.IMDb-ID, Videothek Videothek.VID) Film(IMDb-ID, Titel, (ProduzentVN, ProduzentNN)
Mehr1 Excel Schulung Andreas Todt
1 Excel Schulung Andreas Todt Inhalt 1 Darum geht es hier... 1 2 So wird es gemacht... 1 2.1 Zellen und Blatt schützen... 1 2.2 Arbeitsmappe schützen... 5 2.3 Schritt für Schritt... 6 1 Darum geht es hier
MehrIn diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.
1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?
MehrGrundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking
Grundlagen von Datenbanken Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking SQL DDL: Referentielle Aktionen (1/3) Potentielle Gefährdung der referentiellen Integrität durch Änderungsoperationen
MehrDies ist eine Probeklausur, die keine formalen Schlüsse auf die Form, die Struktur oder den Inhalt der endgültigen Klausur zulässt.
Thema: Datenbanken Dozent: Prof. Dr. Stephan Kleuker Seitennummer: Seite 1 von 12 Studiengang: Technische Informatik Studiensemester: 3 Datum: Bearbeitungszeit: 120 Minuten Matrikelnummer: Name: Dies ist
Mehr4. Objektrelationales Typsystem Kollektionstypen. Nested Table
Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen
MehrKlausur Objektorientierte Datenbanken WS 2004/2005
Klausur Objektorientierte Datenbanken WS 2004/2005 Hinweise: Iwanowski 16.02.2005 Bearbeitungszeit: 60 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Diese Klausur besteht aus 9 Aufgaben (Seiten
MehrÜbung Datenbanksysteme I Transaktionen, Selektivität, XML
Übung Datenbanksysteme I G-3.1.09, Campus III Hasso Plattner Institut Übersicht Übungsthemen Transaktionen Selektivität XML Chart 2 Wiederholung Transaktionen Eine Transaktion ist eine Folge von Operationen
MehrProbeklausur mit Musterlösung
Carl-Schurz-Schule 07.03.2012 Informatik, Q2 Victor Hahn Probeklausur mit Musterlösung Ihr Name: Maximal erreichbare Anzahl Verrechnungspunkte (VP): 64 Einziges zugelassenes Hilfsmittel: Ein Blatt DIN
MehrOnline Table Shrink. Freigabe von ungenutztem Speicherplatz. Autor: Ralf Durben, ORACLE Deutschland GmbH
Online Table Shrink Freigabe von ungenutztem Speicherplatz Autor: Ralf Durben, ORACLE Deutschland GmbH DOAGNews Q2_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere
MehrC++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision
C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision 15. März 2018 C++ Anwendungskurs 15. März 2018 Daniela Horn 1 Übersicht 1 Motivation 2 Relationale
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrEs geht also im die SQL Data Manipulation Language.
1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.
Mehr10. Übungsblatt. Für die Übung am Donnerstag, 15. Januar 2009, von 15:30 bis 17:00 Uhr in 13/222.
AG Datenbanken und Informationssysteme Wintersemester 2008 / 2009 Prof. Dr.-Ing. Dr. h. c. Theo Härder Fachbereich Informatik Technische Universität Kaiserslautern http://wwwlgis.informatik.uni-kl.de/cms
MehrAuf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt.
432 433 434 435 Auf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt. 436 437 438 439 440 441 442 443 Die verkürzte
MehrGenauer müssen in den eckigen Klammern eigentlich Boolesche Bedingungen stehen. Man kann hinter jeden dargestellten Bedingungstext ein "ausgewählt"
265 266 267 268 Genauer müssen in den eckigen Klammern eigentlich Boolesche Bedingungen stehen. Man kann hinter jeden dargestellten Bedingungstext ein "ausgewählt" setzen, um dies auch sprachlich zu erreichen.
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrÜbungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 4. Lösung
Dr. rer. nat. Sven Groppe Übungen zur Vorlesung Mobile und Verteilte Datenbanken WS 2008/2009 Blatt 4 Lösung Aufgabe 1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar
Mehrids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR
ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher
MehrS(tructured)Q(uery)L(anguage)
S(tructured)Q(uery)L(anguage) Welche Kunden haben wir? Welche Kunden wohnen in Chicago? Welche Bestellung wurden zwischen dem 01.03.2006 und dem 31.03.2006 aufgegeben? Leibniz Universität IT Services Anja
Mehr