Datenbanken-Frontends

Werbung
Datenbanken-Frontends
Holger Jakobs – [email protected], [email protected]
2011-10-19
Inhaltsverzeichnis
1 TOra
1.1 Start von TOra . . . . . .
1.2 SQL und Schema Browser
1.3 Speichern und Laden . . .
1.4 Der Schema Browser . . .
1.5 Transaktionen in TOra . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
5
5
6
2 SQL Developer
7
3 psql
8
4 pgAdmin III
8
Für unsere Datenbanksysteme Oracle und PostgreSQL gibt es diverse Frontends – d. h.
Programme zum interaktiven Arbeiten und Entwickeln. Das Datenbanksystem stellt hierzu
jeweils das Backend dar – also das Programm, welches auf einem zentralen Rechner läuft,
die eigentliche Datenverwaltung durchführt und vom Frontend über das Netz angesprochen
wird.
Einige der Frontends werden in diesem Dokument vorgestellt, so dass Sie eine Auswahl
treffen können und die wichtigsten Handgriffe im Umgang mit dem Programm erfahren.
Bei uns sind die Programme unter Windows zu finden unter Start/Programme/ProgrammEntwicklung/Datenbanken/..., unter Linux unter K-Menü/b.i.b./Datenbanken. Die
meisten Tools kann man aber auch ganz einfach aus einem Terminal heraus starten, indem
man den Namen eingibt.
Die bevorzugten Tools sind TOra für Oracle und PostgreSQL, SQL Developer für Oracle
und psql und pgadmin3 für PostgreSQL. Zum universellen Tool SquirrelSQL gibt es einen
separaten Einführungstext.
1
1 TORA
Name
psql
DB-Systeme
PostgreSQL
Beschreibung
Linux
sqlplus
Oracle
Linux
TOra
Oracle,
PostgreSQL u. a.
Linux, Windows
SQL
Developer
Oracle, MySQL,
SQL
Server,
unter Windows
auch .mdb-Files
alle
JDBCDatenbanken
PostgreSQL
Linux, Windows
Squirrel
SQL
pgAdmin
Kommandozeilentool – einfach, aber
sehr praktisch, auch in Scripts verwendbar Aufruf mit psql
Kommandozeilentool – sehr einfach, nicht sehr praktisch, Aufruf
mit
sqlplus username/password
@ora10.bg.bib.de
Unter Windows Version 1.3.21 (nur für
Oracle geeignet), unter Linux Version
1.3.18 (für mehrere DB-Systeme geeignet). Recht praktisches, grafisches
Tool, die Entwicklung scheint stehen
geblieben zu sein, nicht fehlerfrei.
Java-Tool, daher ein wenig träge, ansonsten praktisch und hilfreich.
Linux, Windows
Java-Tool, etwas träge.
Linux, Windows
praktisches, grafisches Tool, flink, auch
über pgadmin3 aufrufbar.
Tabelle 1: Übersicht über die Frontends
1 TOra
TOra steht für „Toolkit für Oracle“, unterstützt aber mittlerweile auch weitere Datenbanksysteme. Es ist ein Open-Source-Produkt.
1.1 Start von TOra
Bei uns kann TOra aufgerufen werden über das K-Menü, b.i.b., Datenbanken. Wahlweise
kann man auch das Kommando tora auf der Kommandozeile eingeben, am besten mit
einem & dahinter. Es erscheint die TOra-Oberfläche mit dem Anmeldedialog. Hier sind
Benutzername und Passwort einzugeben. Die übrigen Einträge bleiben mit ihren hier gezeigten default-Einträgen gefüllt. Die Checkbox „Use SQL*Net“ muss ausgewählt sein,
als „Database“ ist „ORA10.BG.BIB.DE“ einzugeben oder auszuwählen, bei Options muss
„SQL*Net“ ausgewählt sein. Falls bereits Benutzername und Passwort in den Feldern eingetragen sind, muss das Passwort trotzdem erneut eingegeben werden, da das alte Passwort
nicht gespeichert wurde. Die angezeigten Sternchen sind hier irreführend. Leider ist Oracle
2
1 TORA
1.2 SQL und Schema Browser
Abbildung 1: Herstellen einer Verbindung mit TOra
nicht in der Lage, einen bereits bei Windows bzw. Linux angemeldeten Benutzer als solchen
zu erkennen und daher einen Zugriff ohne erneute Eingabe eines Passworts zu gestatten.
Im b.i.b. gibt es derzeit nur eine einzige Oracle-Datenbank, aber jede(r) Benutzer(in) hat
einen eigenen Bereich mit eigenen Tabellen (ein sogenanntes Schema). Das Oracle-Passwort
ist üblicherweise nicht mit dem Login-Password von Windows und Linux identisch, aber
Sie können es natürlich so ändern, dass die Passwörter übereinstimmen.
1.2 SQL und Schema Browser
TOra verwendet ein MDI (multiple document interface), d. h. es gibt mehrere „Dokumentfenster“ innerhalb des Anwendungsfensters. Zunächst gibt es nur ein einziges, zweigeteiltes Dokumentfenster, das in der oberen Hälfte die Eingabe eines SQL-Kommandos
erwartet; siehe Abbildung 2 auf Seite 5. In der unteren Hälfte wird bei Absenden eines
SQL-Kommandos dessen Ergebnis angezeigt. Dies ist ein sogenanntes „Worksheet“. Neue,
zusätzliche Worksheets werden durch Auswählen von „Worksheet“ aus dem „Tools“-Menü
oder durch Anklicken des weißen Blatts in der Toolbar-Leiste geöffnet.
Daneben verwenden wir den Schema Browser, den man über das Tool-Menü auswählt. Der Schema Browser zeigt an, welche Tabellen, Attribute, Indexe usw. in der Datenbank vorhanden sind. Das ist praktisch, wenn einem die Schreibweise von Objekten in
der Datenbank gerade entfallen ist oder man nachprüfen möchte, ob ein bestimmtes Objekt
noch oder schon existiert, d. h. ob ein Kommando wirklich den gewünschten Effekt gezeigt
hat. Hier kann man sich über eine fremde Datenbank schnell einen Überblick verschaffen.
3
1.2 SQL und Schema Browser
1 Pfeil
2 Pfeile
Pfeil ...
1 TORA
Das Kommando, in dem der Cursor steht,
soll ausgeführt werden. Auf diese Weise können Sie im oberen Fenster mehrere Kommandos stehen haben und genau bestimmen, welches ausgeführt werden soll.
Alle Kommandos im oberen Fenster sollen direkt hintereinander ausgeführt werden.
Alle Kommandos im oberen Fenster sollen
ausgeführt werden, aber Schritt für Schritt,
d. h. nach jedem Kommando wird angehalten und es muss erneut auf die Schaltfläche
geklickt werden. So sehen Sie auch Zwischenergebnis.
Tabelle 2: Erläuterung der grünen Pfeile
Zwischen Worksheet und Schema Browser wird über das Windows-Menü umgeschaltet
oder durch Drücken der Strg-Taste und einer Ziffer, wobei Strg+1 das zuerst geöffnete
Fenster, Strg+2 das als zweites geöffnete Fenster usw. anspricht.
Wahlweise kann man auch die einzelnen Dokumentfenster kleiner als „Vollbild“ machen.
Auf diese Weise kann man evtl. Schema Browser und Worksheet gleichzeitig nebeneinander
sehen.
Die Bedeutung der hier gezeigten drei Schaltflächen mit grünen Pfeilen finden Sie in der
Tabelle 2.
Ausführliche Information darüber, was bei den Kommandos evtl. schief gegangen ist,
finden Sie, wenn Sie statt des Karteireiters „Result“ den Karteireiter „Logging“ wählen.
Dort stehen auch Meldungen zu früheren Kommandos, die Sie ggf. durch Zurückscrollen
sichtbar machen können. Leider kann man nicht sehen, an welcher Stelle eines vielleicht
sehr langen Kommandos ein (Syntax-)Fehler aufgetreten ist.
Sie können Ihr Oracle-Passwort jederzeit ändern. Geben Sie hierzu ins obere Feld des Worksheet ein: alter user eigeneBenutzerkennung identified by neuesPasswort;
Anschließend klicken Sie auf den grünen Pfeil, um das Kommando auszuführen. Erscheint
daraufhin in der Fußzeile (Statuszeile) der Hinweis Query executed, so wurde das neue
Passwort eingetragen. Dieses neue Passwort kann dasselbe sein wie Ihr Login-Passwort, kann
aber auch anders lauten. Das neue Passwort wird ohne Anführungszeichen eingegeben.
4
1 TORA
1.3 Speichern und Laden
Abbildung 2: Hauptbildschirm von TOra
1.3 Speichern und Laden
Jederzeit kann man den Inhalt des Eingabefeldes speichern oder auch den Inhalt einer
.sql-Datei in das Eingabefeld laden. Beim Verlassen von TOra wird man auch für jedes
offene Worksheet gefragt, ob man den im Eingabefeld befindlichen Text speichern möchte.
Auf diese Weise können Sie Kommandos in aller Ruhe ausprobieren und die funktionierende Fassung anschließend speichern.
1.4 Der Schema Browser
Der Schema Browser zeigt Ihnen auf der linken Seite Ihre Tabellen an. Diese sind alphabetisch sortiert. Daher ist es sinnvoll, wenn Sie logisch zusammengehörenden Tabellen ein
einheitliches Präfix geben, beispielsweise kh_ für alle Tabellen der Krankenhaus-Datenbank
und sp_ für alle Tabellen der Spieler-Datenbank.
Über die oberen Karteireiter kann man neben Tabellen auch Views, Indexe und anderes
anzeigen lassen. Dies wird in diesem Dokument aber nicht weiter erläutert.
Zunächst ist im rechten Teil der Karteireiter Columns ausgewählt. Wenn Sie im linken
Teil eine Tabelle auswählen, sehen Sie daher die zu der Tabelle gehörenden Attribute (Spalten, Columns) mit laufender Nummer, Namen, Datentyp und der Angabe, ob Nullwerte
zulässig sind oder nicht.
5
1.5 Transaktionen in TOra
1 TORA
Hierüber gibt der Schema Browser Auskunft bei Anwahl des zugehörigen Karteireiters
(Auswahl):
• Columns
Spalten mit laufender Nummer, Namen, Datentyp und der Angabe, ob Nullwerte
zulässig sind oder nicht
• Indexes
Indexe, d. h. explizit angelegte Indexe, aber auch Primärschlüssel, für die nämlich
automatisch ein eindeutiger Index angelegt wird.
• Constraints
Constraints, d. h. Beschränkungen für die Daten, die eingegeben werden können. Dies
können sein:
– check constraints, diese werden mit Hilfe einer check-Klausel eingegeben.
– primary key constraints, diese werden durch die Klausel primary key bestimmt.
– foreign key constraints, diese werden durch die references-Klausel bestimmt.
not null-Klauseln sind zwar eigentlich auch Constraints, aber hier nicht aufgeführt,
weil sie bei den Spalten stehen.
• References
Anzeige der Tabellen, die die aktuelle Tabelle referenzieren, d. h. einen Fremdschlüssel
haben, der auf die aktuelle Tabelle zeigt. Dies sind die komplementären Einträge zu
den Fremdschlüsseln, die unter Constraints auftauchen.
• Data
Anzeige der in der Tabelle enthaltenen Daten. Wenn ein Eintrag null lautet, so ist
in dem Attribut kein Wert eingetragen (sogenannter Nullwert).
Sollten Sie Änderungen an der Datenbankstruktur mittels Worksheet durchgeführt haben,
so ist evtl. die Anzeige des Schema Browsers nicht mehr aktuell. Durch Anklicken des
refresh-Icons können Sie sie aktualisieren.
1.5 Transaktionen in TOra
Da es sich bei Oracle um eine „richtige“ Datenbank handelt, werden alle Zugriffe auf sie
über Transaktionen gesteuert. Das bedeutet, dass Änderungen nicht unmittelbar in der
Datenbank landen, sondern zunächst in einem Schwebezustand sind, in dem die Sitzung,
in der sie eingegeben wurden, sie sehen kann, alle anderen Sitzungen aber nicht. Erst
nach Bestätigen der Transaktion (Abschluss mit commit work) werden die Änderungen
endgültig in die Datenbank geschrieben, oder sie werden mittels Zurückfahren (Abschluss
mit rollback work) endgültig rückgängig gemacht.
6
2 SQL DEVELOPER
Abbildung 3: Hauptbildschirm des SQL Developer
In TOra kann man die Kommandos commit work und rollback work im Worksheet
eingeben und ausführen. Alternativ dazu kann man auf eines der Icons ganz rechts in der
Toolbar-Leiste klicken. Das rot durchgestrichene Icon führt ein Rollback durch, das andere
ein Commit.
2 SQL Developer
Beim Start des SQL Developer werden Sie gefragt, ob sie bestimmte Dateitypen assoziieren
wollen. Sie können diesen Dialog einfach abbrechen.
Der Bildschirm anschließend ist sehr übersichtlich, siehe Abbildung 3. Bei den „Connections“ sind noch keine Einträge vorhanden, so dass Sie zunächst einmal eine neue Verbindung
herstellen müssen. Klicken Sie hierzu auf das grüne Pluszeichen.
Im folgenden Dialog geben Sie der Verbindung einen beliebigen Namen; Username und
Password sind wohl klar. Wenn Sie das Password speichern möchten, um es nicht bei jedem
Start erneut eingeben zu müssen, wählen Sie die Checkbox „Save Password“ aus. Als Datenbanksystem wählen Sie Oracle, Role bleibt default, „Connection Type“ müssen Sie auf
TNS umstellen. Dann können Sie bei „Network Alias“ unsere Datenbank ORA10.BG.BIB.DE
auswählen.
Klicken Sie dann erst auf Save, dann auf Connect, um die Verbindung herzustellen.
7
4 PGADMIN III
Der rechte Teil des Fensters – bisher leer – ist nur dreigeteilt in „Enter SQL Statement“,
„Results“ und „Logging Page“. Hier können Sie SQL Statements eingeben und ausführen.
Wie bei TOra können Sie auch Textdateien mit SQL Statements öffnen, ausführen und für
späteren Gebrauch auch speichern, d. h. es ist Editorfunktionalität vorhanden.
Im linken Teil ist Ihre neue Verbindung hinzugekommen, die Sie am kleinen Pluszeichen
öffnen können – dies entspricht dann dem Schema Browser von Tora, wo Sie die Tabellen,
Views usw. anzeigen können.
3 psql
Für das einfache, schnelle Arbeiten zwischendurch bietet sich für PostgreSQL das mitgelieferte Tool psql an. Starten Sie es in einem Linux-Terminalfenster. Wenn Sie eine Datei
namens .pgpass mit folgendem Inhalt in Ihrem Homedirectory speichern, benötigen Sie
das Password nicht bei jedem Programmstart – achten Sie aber auf die Rechteeinstellungen,
so dass niemand das Password dort lesen kann!
dbserver2:5432:datenbankname:username:pg-password
Verwenden Sie reichlich die Command History – so wie Sie sie von der Shell (bash) schon
kennen. Sie können auch Dateien mit SQL-Kommandos ausführen, indem Sie \i gefolgt
vom Dateinamen eingeben.
Hilfe zu den Spezialkommandos von psql erhalten Sie mit \?, zu SQL-Kommandos mit
\h, verlassen können Sie das Programm mit \q.
Sehr hilfreich ist auch das Tool zum Exportieren von Datenbankinhalten, d. h. Objektbeschreibungen (für Tabellen, Index, Sequenzen, Sichten usw.) und auch Tabelleninhalten:
pg_dump – über die vielfältigen Optionen informiert die Online-Hilfe, die Sie mit pg_dump
--help aufrufen können.
4 pgAdmin III
Wer den Komfort einer grafischen Oberfläche nicht missen möchte, kann – sowohl unter
Windows als auch unter Linux – pgAdmin III verwenden. Es ist allerdings nur für PostgreSQL-Datenbanken geeignet.
Die Bedienung ist weitestgehend intuitiv. Die Datenbanken und ihre Inhalte werden in
einer übersichtlichen Baumstruktur angezeigt. Beim Auswählen eines Objekts wird direkt
angezeigt, mit welchen Kommandos man es löschen und neu erzeugen kann. So sind die
Eigenschaften immer unmittelbar ersichtlich. Über die Schaltfläche SQL in der Symbolleiste
haben Sie Zugriff auf einen SQL-Editor.
Einen komforablen Start von pgAdmin III erreichen Sie, indem Sie das Programm nicht direkt aufrufen, sondern statt dessen das Script pgadmin-regset.tcl
aus dem Verzeichnis sysdaten/tcl/scripts des FORALL-Laufwerks, Dann ist der Daten-
8
4 PGADMIN III
Abbildung 4: Herstellen einer Verbindung mit pgAdmin III
bankserver mit Ihrer Kennung schon eingetragen, so dass Sie nur noch Ihr DatenbankKennwort selbst eingeben müssen.
Nach einem direkten Start des Programms hingegen sind noch keine Einträge vorhanden.
Um sich mit unserem Datenbank-Server zu verbinden, klicken Sie auf das Steckersymbol
und geben im Dialog Ihre Zugangsdaten ein. Bitte achten Sie darauf, als „Wartungs-DB“
template1 auszuwählen und nicht postgres. Unser Server heißt – wie bei allen Datenbanksystemen hier im Haus – dbserver2, die Portnummer bei PostgreSQL ist immer 5432,
SSL benötigen wir nicht. Es kann sein, dass Sie das Programm noch einmal schließen und
neu starten müssen, bevor die Verbindung mit dem Server klappt.
Damit Sie nicht immer die Liste der bei uns ca. 1000 Datenbanken sehen, können Sie
beim Dialog für die Verbindung eine Einschränkung auf die anzuzeigenden Datenbanken
machen, siehe Abbildung 4.
In der Abbildung 5 auf der nächsten Seite ist zu erkennen, dass durch eine Einschränkung nur die Datenbank bbyf5aja sichtbar ist. Diese hat viele Schemata, das Schema
bibliothek ist geöffnet, darin die Liste der Tabellen. Die Tabelle b_benutzer ist ausgewählt, weshalb im rechten Teil unter Eigenschaften die Tabelle beschrieben wird, im
unteren Bereich steht automatisch das komplette create-Statement.
%$Id: frontends.tex,v efcb5b401798 2009/03/23 14:15:07 bibjah $
9
4 PGADMIN III
Abbildung 5: Hauptbildschirm von pgAdmin III
10
Herunterladen