Datenbanken und Informationssysteme

Werbung
Friedrich-Schiller-Universität Jena
Fakultät für Mathematik und Informatik
Institut für Informatik
Lehrstuhl für Datenbanken und Informationssysteme
Prof. Dr. Klaus Küspert
Dipl.-Inf. Matthias Liebisch
Informationen und Hinweise zum 6. Übungsblatt
Datenbanken und Informationssysteme
WS 2010/2011
Für die Lösung der Aufgaben in Übungsblatt 6 werden Ihnen spezielle Unix-Accounts zur Verfügung
gestellt, die Ihnen Zugriff auf das am Lehrstuhl verwendete Datenbanksystem DB2 Universal Database gestatten. Bevor Sie mit der Arbeit beginnen, sollten Sie die folgenden Hinweise und Ge”
brauchsanleitungen“ aufmerksam lesen und natürlich beachten. Wir gehen davon aus, dass Sie
etwas Erfahrung im Umgang mit Unix-Systemen und den zugehörigen Hilfsprogrammen haben.
1
Unix-Account für die Übung
• Leider können wir Ihnen aufgrund von Kapazitätsbeschränkungen für das Lösen der Aufgaben
keine gesonderten Arbeitsplätze zur Verfügung stellen. Als zentraler Datenbankserver dient
die iibm08 am DBIS-Lehrstuhl, auf den man sich per SSH (Secure Shell) vom lokalen Rechner
wie folgt verbindet. Unter Windows muss dazu ein SSH-Client (z.B. PuTTY und WinSCP)
installiert werden.
> ssh [email protected]
Ersetzen Sie die drei Fragezeichen bitte durch die Ihnen zugeordnete Nummer, das initiale
Kennwort ist für alle db20ueb11:
Login
ueb070
ueb071
ueb072
ueb073
ueb074
ueb075
ueb076
ueb077
ueb078
ueb079
ueb080
ueb081
ueb082
Name
Bechert, Lars
Boywitz, David
Börner, Michael
Drescher, Sebastian
Engelhardt, Max
Hahn, Andreas
Henneberg, Maria
Hercher, Stephanie
Kadanik, Lisa
Kieu Tien, Dung
Lesser, Martin
Liu, Qifang
Mothes, Augustin
Login
ueb083
ueb084
ueb085
ueb086
ueb087
ueb088
ueb089
ueb090
ueb091
ueb092
ueb093
ueb094
ueb095
Name
Noe, Nicole
Oehlenschläger, Sabine
Pöschl, Nils
Quadrat, Eric
Sattler, Florian
Schmidt, Alexandra
Schmidt, Toni
Schmieder, Ina
Tang, Panpan
Thiele, Raphael
Yin, Nan
Zhao, Tongjian
• Nach dem ersten Einloggen auf der iibm08 werden Sie aufgefordert, ein neues Kennwort
anzulegen, tun Sie dies! Sollte diese Aufforderung nicht erscheinen, ändern Sie es bitte selbst
mit dem Befehl passwd.
• Die iibm08 ist als Datenbankserver konzipiert. Benutzen Sie ihre Accounts also bitte nicht
für das Surfen im Internet oder das Auslagern von Datenbeständen.
• Bei Problemen senden Sie bitte eine E-Mail an unseren technischen Mitarbeiter Herrn Dr.
Friedel ([email protected]) oder kontaktieren den Übungsleiter Herrn Liebisch
([email protected]).
2
DB2 – Einführung
Die Arbeit mit DB2 erfolgt mit dem Command Line Processor (CLP), dessen wichtigste Optionen
hier kurz erläutert werden sollen:
db2 [option ...] [db2-command | sql-statement |
[? [phrase | message | sqlstate | class-code]]]
?
gibt einen Hilfetext zu dem spezifizierten DB2-Kommando oder der DB2(Fehler)Nachricht aus. Beipiel: > db2 ? options
-t
spezifiziert, dass das Trennzeichen für SQL-Anweisungen und DB2-Kommandos
ein Semikolon (;) sein soll. Standard ist CR.
-finfile
liest die SQL-Anweisungen und DB2-Kommandos aus der angegebenen Datei
infile. Beachten Sie hierzu die Option -t. Beispiel: > db2 -t -fscript.sql
liest Anweisungen aus script.sql, die mit einem Semikolon getrennt sind.
-zoutfile
schreibt alle Ausgaben in die angegebene Datei outfile.
+c
deaktiviert das Auto-Commit, d.h. die ausgeführten SQL-Anweisungen werden
erst dann wirksam, wenn Sie explizit den Befehl commit geben. Wollen Sie die
abgeschickten Anweisungen rückgängig machen, so können Sie das mit rollback
erreichen.
-s
Beendet die Ausführung eines Scripts, wenn ein Fehler aufgetreten ist. Standardverhalten ist das Weitergehen zur nächsten Anweisung.
Der Programmaufruf
> db2 -t
wechselt in den interaktiven Modus des CLP (Anweisungen müssen mit ; abgeschlossen werden,
s.o.). In den folgenden Beispielen wird, wenn nicht anders angegeben, davon ausgegangen, dass wir
uns im interaktiven Modus befinden. Der interaktive Modus kann durch die Eingabe von
db2 => quit;
oder
db2 => terminate;
beendet werden. Benutzen Sie terminate, wenn Sie die Arbeit mit der Datenbank beenden wollen,
dann werden alle gestarteten Prozesse entfernt und der allokierte Speicher freigegeben.
Werden auf der Shell-Kommandozeile (nicht im interaktiven Modus) Anweisungen angegeben, die
Sonderzeichen enthalten, so ist die Anweisung in doppelte Anführungszeichen zu setzen. Beipiel:
> db2 -t "select * from Angest;"
2.1
Ausführung von SQL-Skripten
Bei der Erstellung von Skripten können Sie Kommentare einfügen, indem Sie -- vor die Kommentarzeile stellen. Machen Sie von dieser Möglichkeit Gebrauch! Beispiel-Script create_table.sql:
------------------------------------------------ Beispiel fuer eine Create Table-Anweisung -----------------------------------------------create table Angest(
PNr
integer not null primary key,
Name varchar(20) not null);
commit;
Die Ausführung erfolgt dann mit
> db2 -t +c -s -fcreate_table.sql
2.2
Verbinden mit einer Datenbank
Bevor man mit einer DB2-Datenbank, wie beispielsweise der Universitäts-DB unidb, arbeiten kann,
muss man sich mit ihr verbinden. Dies geschieht über die DB2-Anweisung:
db2 => connect to unidb;
Nach dem Verbinden können Sie SQL-Anweisungen an ihre Tabellen in der Datenbank richten. Die
Übungsdatenbank steht allen Übungsteilnehmern zur Verfügung, jedoch ist der Zugriff jeweils auf
die unter dem eigenen Account angelegten Tabellen und anderen Datenbankobjekte beschränkt.
Die Tabellennamen werden zusätzlich implizit mit dem Account-Namen (Schema) qualifiziert, so
dass es nicht zu Namenskonflikten kommen kann. Um die Verbindung zu einer Datenbank wieder
zu trennen, benutzen Sie die DB2-Anweisung:
db2 => connect reset;
Trennen Sie vor dem Ausloggen die Verbindung zur Datenbank und beenden Sie jeden gestarteten
CLP mit
db2 => terminate;
bzw.
> db2 -t terminate;
wenn sie ihn vorher bereits mit quit verlassen haben.
2.3
DDL- und DML-Anweisungen
Die Dokumentation zur verwendeten DB2-Version mit ausführlicher Beschreibung der Syntax und
Semantik der zur Verfügung stehenden SQL-Anweisungen für die Datendefinition und Datenmanipulation steht im Web unter:
http://publib.boulder.ibm.com/infocenter/db2luw/v9
Von besonderem Interesse ist dabei SQL Reference Vol. 1 bzw. SQL Reference Vol. 2.
Herunterladen