10 Transaktionen Änderungen verwalten

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "10 Transaktionen Änderungen verwalten"

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

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 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

Mehr

Datenbanken: Transaktionskonzept und Concurrency Control

Datenbanken: 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

Mehr

Kapitel 2 Transaktionsverwaltung

Kapitel 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

Mehr

11 Rechte und Views Views

11 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,

Mehr

Tag 4 Inhaltsverzeichnis

Tag 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

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung Commit Eigenschaften von Transaktionen (ACID) Transaktionen in SQL Kapitel 9 1 Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand

Mehr

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Transaktionen 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

Mehr

Tag 4 Inhaltsverzeichnis

Tag 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

Mehr

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14

Literatur 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:

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis

Inhaltsverzeichnis. 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

Mehr

Software-Engineering und Datenbanken

Software-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.

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser 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,

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: 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

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken 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,

Mehr

Probeklausur Datenbanktechnologie

Probeklausur 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

Mehr

Datenbanken II Literatur

Datenbanken 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,

Mehr

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Datenbanken 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!

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. 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)

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 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

Mehr

9 Transaktionskonzept

9 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

Mehr

Vorlesung Informationssysteme

Vorlesung 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

Mehr

5.8 Bibliotheken für PostgreSQL

5.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

Mehr

View. Arbeiten mit den Sichten:

View. Arbeiten mit den Sichten: View "individuelle Sicht" (vgl. 3-Schichten-Modell) virtuelle Tabellen: in der DB wird nicht deren Inhalt, sondern nur die Ableitungsregel gespeichert. Arbeiten mit den Sichten: Anfragen: kein Problem.

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien 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,

Mehr

Abfragen (Queries, Subqueries)

Abfragen (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

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (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

Mehr

Datenbankentwicklung mit PureBasic

Datenbankentwicklung mit PureBasic Datenbankentwicklung mit PureBasic Datenbanken stellen heutzutage wichtige Informationsquellen für viele Bereiche der Wirtschaft, Verwaltung aber auch im eigenen Haushalt dar. In Datenbanken werden Daten

Mehr

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement

Prakt. 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

Mehr

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock Übung Datenbanksysteme I Transaktionen, Selektivität und XML Thorsten Papenbrock Übersicht: Übungsthemen 2 Transaktionen Selektivität XML Thorsten Papenbrock Übung Datenbanksysteme I JDBC Transaktionen:

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

Testklausur 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:

Mehr

Transaktionen und Synchronisation konkurrierender Zugriffe

Transaktionen und Synchronisation konkurrierender Zugriffe Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP

SQL,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

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale 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.

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Klausur mit Musterlösung

Klausur 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

Mehr

Hochschule Karlsruhe Technik und Wirtschaft

Hochschule Karlsruhe Technik und Wirtschaft Hochschule Karlsruhe Technik und Wirtschaft Sommersemester 2009 Seite 1/12 Fakultät: Fakultät für Informatik und Wirtschaftsinformatik Semester: BC3 D4 Prüfungsfach: Datenbanken I Fachnummer: I 3B71 I

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. 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

Mehr

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München Transaktions-Konzept (1) Beispiel: op 1 BOT op 2 read(k 1

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

10. Datenbank Design 1

10. Datenbank Design 1 1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation

Mehr

Aufgabe 1: Integrität

Aufgabe 1: Integrität Aufgabe 1: Integrität Gegeben sei das folgende Schema: Personal: (PNR, Name, Gehalt, Abt, Vorges) a) Geben Sie das CREATE TABLE Statement an, um die Tabelle Personal zu erzeugen. Folgende Integritätsbedingungen

Mehr

P.A. Bernstein, V. Hadzilacos, N. Goodman

P.A. Bernstein, V. Hadzilacos, N. Goodman TRANSAKTIONEN UND DATENINTEGRITÄT Concurrency Control and Recovery in Database Systems P.A. Bernstein, V. Hadzilacos, N. Goodman Addison Wesley, 1987. Kapitel 1. und 6. Grundlagen der Datenbanksysteme

Mehr

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig) 1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Es geht also im die SQL Data Manipulation Language.

Es 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.

Mehr

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k Transaktionsverwaltung 1. Schnellkurs: Serialisierbarkeit, Isolationslevel, Synchronisationsverfahren, Savepoints, Logging, Implementierungsaspekte! Harder, Rahm Buch 2. Erweiterte Transaktionskonzepte!

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach) Multimedia im Netz Wintersemester 2013/14 Übung 03 (Nebenfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 3-1 Datenbanken und SQL Mit Hilfe von Datenbanken kann man Daten

Mehr

www.informatik-aktuell.de

www.informatik-aktuell.de www.informatik-aktuell.de Flashback Reise in die Vergangenheit einfach. gut. beraten. Warum Oracle Zeitreisen anbieten kann, der Microsoft SQL Server aber leider nicht. IT-Tage Datenbanken 18.12.2015,

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In 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?

Mehr

Isolationslevel in SQL

Isolationslevel in SQL Isolationslevel in SQL Zu den ACID-Eigenschaften von Transaktionen gehört auch das I, also Isolation. Streng genommen versteht man unter Isolation, dass eine Transaktion unbeeinflusst durch andere Transaktionen

Mehr

S(tructured)Q(uery)L(anguage)

S(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

Word-Dokumente Designer

Word-Dokumente Designer HIW RENDITE 2007 Word-Dokumente Designer HIW GmbH Berblingerstr. 1 71254 Ditzingen Werner-von-Siemens-Str. 23 93413 Cham www.hiw24.de Hinweis: Alle Beiträge sind nach bestem Wissen zusammengestellt. Eine

Mehr

Nutzung von NetBeans

Nutzung von NetBeans 6 NetBeans und Datenbanken (NetBeans 7.2) In diesem Kapitel wird davon ausgegangen, dass Java DB zusammen mit Java installiert wurde, was Java 7 immer automatisch der Fall ist. Java DB geht auf die Datenbank

Mehr

Lösungen der Übungsaufgaben von Kapitel 1

Lösungen der Übungsaufgaben von Kapitel 1 Lösungen der Übungsaufgaben von Kapitel 1 1. Finden Sie heraus, wie Sie selber bzw. die Menschen in Ihrer Umgebung ihre Adressbücher und Telefonlisten organisieren. Was für Strukturen der Gliederung verwenden

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Besonders für den Anfänger empfiehlt sich folgende Vorgehensweise für die Erstellung von Manipulationsabfragen:

Besonders für den Anfänger empfiehlt sich folgende Vorgehensweise für die Erstellung von Manipulationsabfragen: Manipulationsabfragen Datenbanksysteme 6 Manipulationsabfragen Lerninhalte Tabellenerstellungsabfragen Löschabfragen Anfügeabfragen Aktualisierungsabfragen Lerninhalte Mit den Datenbanksprachen SQL und

Mehr

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung. Datenmanagement 60 5 Datenschutz und Datensicherheit 5.1 Datenschutz Wer wird hier geschützt? Personen Ein anderer Begriff für Datenschutz ist Zugriffskontrolle. Datenschutz soll sicherstellen, dass alle

Mehr

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

Mehr

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann Datenbanksysteme I Transaktionsmanagement 20.6.2011 Felix Naumann Motivation - Transaktionsmanagement 2 Annahmen bisher Isolation Nur ein Nutzer greift auf die Datenbank zu Lesend Schreibend In Wahrheit:

Mehr

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

Hochschule Karlsruhe Technik und Wirtschaft

Hochschule Karlsruhe Technik und Wirtschaft Hochschule Karlsruhe Technik und Wirtschaft Sommersemester 2009 Seite 1/15 Fakultät: Fakultät für Informatik und Wirtschaftsinformatik Semester: BC3 D4 Prüfungsfach: Datenbanken I Fachnummer: I 3B71 I

Mehr

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine. Kapitel 2 Datenverwaltung durch SQL Server Wir wollen das obige Skript zwei Mal laufen lassen, einmal mit und einmal ohne eingeschalteten Schreibcache der Festplatte. Für eine lokale Festplatte können

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion?

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion? Teil I Einführung & Grundlagen Kapitel 1: Einführung in das Transaktionskonzept 1.1 Was ist eine Transaktion? 1.2 Transaktionseigenschaften 1.3 Beispiele Datenbanktransaktionen: Banküberweisung Moderne

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

Es geht also um die sogenannte SQL- Data Definition Language.

Es geht also um die sogenannte SQL- Data Definition Language. In diesem Abschnitt werden wir uns die SQL Befehle ansehen, mit denen ein sogenanntes Datenbankschema angelegt, gepflegt und auch wieder gelöscht werden kann. Es geht also um die sogenannte SQL- Data Definition

Mehr

Teil VIII Transaktionen, Integrität und Trigger

Teil VIII Transaktionen, Integrität und Trigger page.1 Teil VIII Transaktionen, Integrität und Trigger page.2 Transaktionen, Integrität und Trigger Transaktionen, Integrität und Trigger 1 Grundbegriffe 2 Transaktionsbegriff 3 Transaktionen in SQL 4

Mehr

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Informations- und Wissensmanagement

Informations- und Wissensmanagement Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig

Mehr

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

Mehr

Script-Upgrade. Vorraussetzungen. Folgende Meldungstypen werden dabei verwendet: Vom Fahrzeug zur Zentrale. Quittungstexte vom Fahrzeug (Type 11.

Script-Upgrade. Vorraussetzungen. Folgende Meldungstypen werden dabei verwendet: Vom Fahrzeug zur Zentrale. Quittungstexte vom Fahrzeug (Type 11. Script-Upgrade An Fahrzeuge können Update-Befehle gesendet werden, die diese dazu veranlassen, Scripte und Dateien von einem Server im Internet zu laden. Diese Script-Dateien stellen normalerweise die

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

Handbuch organice SQL-Reportgenerator

Handbuch organice SQL-Reportgenerator organice Software GmbH Handbuch organice SQL-Reportgenerator Benutzerhandbuch Stand: August 2013 Inhalt 1. Allgemeine Informationen... 3 1.1 Einführung... 3 1.2 Voraussetzungen... 3 1.3 Zielgruppe... 3

Mehr

Datenbanken (Übung 12)

Datenbanken (Übung 12) Datenbanken (Übung 12) Prof. Dr.-Ing. Norbert Fuhr Dipl.-Inform. Thomas Beckers (tbeckers@is.inf.uni-due.de) Universität Duisburg-Essen Fachgebiet Informationssysteme 1. 2. Februar 2012 Dipl.-Inform. Thomas

Mehr

Demo für

Demo für SUMMENZEICHEN Regeln und Anwendungen Gebrauchs des Summenzeichens mit Aufgaben aus vielen Bereichen für Angela Datei Nr. 4 Stand:. Oktober INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK Demo für 4 Summenzeichen

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Lösungen der Übungsaufgaben von Kapitel 4

Lösungen der Übungsaufgaben von Kapitel 4 Lösungen der Übungsaufgaben von Kapitel 4 1. Machen Sie einen Entwurf für die Oberfläche einer Applikation, mit der Sie Ihr Adressbuch verwalten wollen. Wenn Sie können, entwerfen und realisieren Sie sogar

Mehr

SQL-Gebiet. Datenbank-Funktionen jenseits SQL. Datenbankfunktionen: SQL und andere. create table, create view, mater. View, create index, drop jeweils

SQL-Gebiet. Datenbank-Funktionen jenseits SQL. Datenbankfunktionen: SQL und andere. create table, create view, mater. View, create index, drop jeweils Datenbankfunktionen: SQL und andere SQL-Gebiet DDL DML DCL DP create table, create view, mater. View, create index, drop jeweils insert, update, delete, select, where, Trigger Benutzerverwaltung, Transaktionsverwaltung

Mehr

Kapitel 8: Transaktionen

Kapitel 8: Transaktionen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Deinstallationsanleitung

Deinstallationsanleitung Deinstallationsanleitung Einleitung Bei der Deinstallation des Moduls ist es wichtig, dass Sie die Reihenfolge der unten stehenden Schritte exakt einhalten, da es sonst zu Fehlern im Shopsystem kommen

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Kapitel 10 Mehrbenutzersynchronisation 381 / 520 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt,

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr