Tabelleneditor
<< | IBExpert | >>
Die deutschsprachige Dokumentation wird seit dem 26. Juli 2016 nicht mehr gepflegt. Aktuelle und vollständige Dokumentation finden Sie auf der englischsprachigen Webseite: IBExpert Documentation
Tabelleneditor
Der Tabelleneditor kann verwendet werden, um vorhandene Tabellen und ihre Definitionen zu analysieren, oder um neue Felder, Definitionen, etc. hinzuzufügen, also eigentlich um alle möglichen Arten von Tabellenänderungen vorzunehmen. Er kann aus dem DB Explorer einfach durch Doppelklicken auf die entsprechende Tabelle im DB Explorer oder mit dem DB Explorer Rechtsklickmenüpunkt Bearbeite Tabelle ... (Tastaturkürzel [Strg + O]) gestartet werden.
Der Tabelleneditor umfasst mehrere Seiten, die durch Anklicken der entsprechenden Reiter geöffnet werden. Jede Seite zeigt die entsprechenden Eigenschaften, die bereist festgelegt wurden an und ermöglicht die Ergänzung, Änderung oder Löschung weiterer Einstellungen. Verwenden Sie den Menüpunkt Objekteditor Optionen im IBExpert Menü Optionen , um festzulegen, welche der Tabelleneditorseiten aktiv sein soll, wenn der Tabellenedior geöffnet wird (wenn Sie z.B. viele Datenmanipulationen vornehmen müssen, soll beispielsweise anstatt der Seite Felder immer die Seite Daten sichtbar sein, wenn er Tabelleneditor geöffnet wird). Alternativ könne Sie die Option Restore last active page when editor reopened (Letzte aktive Seite wiederherstellen, wenn Editor erneut geöffnet wird).
Hinweis: Die IBExpert Statusleiste zeigt an, wieviele Änderungen in der Tabelle noch vorgenommen werden können, bevor ein Backup und Restore notwendig wird. (Insgesamt können in einem Datenbankobjekt 255 Änderungen vorgenommen werden, bevor Firebird/InterBase® einen Datenbank Backup und Restore fordert).
Das Tabelleneditor Menü bietet eine umfangreiche Auswahl an Aktionen an, die zum großen Teil auch in der Tabelleneditor Werkzeugleise zu finden sind. Menüpunkte, die nicht in der Werkzeugleiste vorhanden sind, beinhalten die Aktivierung und Deaktivierung von Triggern und Indizes, Tabelle leeren und Tabelle löschen:
Unterstützung der Online Validierung (nur in Firebird 2.5.4) wurde in IBExpert Version 2015.06.01 implementiert. Wählen Sie Validiere Online im Editormenü aus.
Der Zähle Datensätze-Schaltknopf rechts in der Tabelleneditor Symbolleiste zeigt die Anzahl der Datensätze in der Tabelle an. Rechts davon wird der Tabellenname angezeigt. Durch Anklicken der Drop-Down-Liste, werden alle Tabellen in der verbundenen Datenbank angezeigt und können hier ausgewählt werden.
Alternativ für diejenigen, die SQL bevorzugen - den SQL Editor findet man in dem IBExpert Menü Nützliches oder man startet in mit [F12] und er kann verwendet werden, um direkt Änderungen in Tabellen per SQL Code vorzunehmen.
(1) Felder
Die vielen möglichen Felddefinitionen sind auf der Seite Felder gelistet. Die einzelnen Spalten werden im Detail unter Neue Tabelle erklärt. Felder Können einfach durch Überschreiben der vorhandenen Spezfikationen , wo erlaubt, geändert werden. Bitte beachten Sie, das es nicht immer möglich ist, bestimte Felder zu ändern, wenn dort Daten eingegeben sind, z.B. kann ein Feld nicht auf NICHT NULL
geändert werden, wenn bereist Daten eingegeben sind, die nicht mit den NICHT NULL
-Regeln übereinstimmen (d.h. das Feld wurde nicht definiert). Ebenfalls kann ein Primärschlüssel nicht nach Eingabe von doppelten Werten festgelegt werden.
Felder können per Drag'n'Drop aus dem DB Explorer Baum und SQL Assistenten in die Feldliste des Tabelleneditors gezogen werden. So können Felddefinitionen schnell und einfach von einer Tabelle in eine andere kopiert werden.
Tipp: Wie in allen IBExpert Dialogen, können die Felder in auf- oder absteigender Reihenfolge sortiert werden, indem man einfach auf den Spaltenkopf klickt (d.h. PK, FK, Feldname, etc.), nach dem sortiert werden soll. Per Doppelklick auf die rechte Kante des Spaltenkopfes, wird die Spaltenbreite auf ein Idealmaß angepasst.
Tabelleneditor Rechtsklickmenü
Die Seite Felder im Tabelleneditor hat ihr eigenes kontextabhängiges Menü, das per Rechtsklick geöffnet werden kann:
Diese kann verwendet werden, um ein Neues Feld hinzuzufügen oder ein vorhandenes, markiertes Feld zu bearbeiten oder zu löschen.
Ein Fremdschlüssel kann direkt auf der Seite Felder schnell und einfach erzeugt werden:
und ein Fremdschlüssel kann, falls vorhanden, direkt aus der Felderliste gelöscht werden.
Die referenzierten Tabellen können aus der Drop-Down-Liste ausgewählt werden und die referenzierten Felder einfach markiert und aus dem Bereich Included Fields in Available Fields durch Klicken auf die Pfeilsymbole in der Mitte hin- und hergeschoben werden.
Abschließend können für die Aktualisierungs- und Löschregeln folgenden Optionen festgelegt werden: NO ACTION, CASCADE, SET NULL and SET DEFAULT, bevor mit OK bestätigt wird.
Felder können auch per Drag'n'Drop neu geordnet werden:
oder die Tasten [Umschltg + Strg + Pfeil nach oben] und [Umschltg + Strg + Pfeil nach unten] im Fenster Ändere Feldreihenfolge oder direkt auf der Seite Felder im Tabelleneditor mit den Navigationssymbolen in der Navigationsleiste oder mit vorher genannter Tastenkombination.
Eine Feldliste kann auch in die Zwischenablage kopiert werden und Beschreibungseditor ein- oder ausgeblendet werden.
Neue Felder können per
Symbol (oder mit der Taste [Einfg] zum Öffnen des Editors Neues Feld hinzufügen hinzugefügt werden (Weiteres finden Sie unter Feld hinzufügen).
Wichtig! Vergessen Sie nicht die Transaktion per Commit nach Erzeugung, Änderung oder Löschung eines Feldes auf der Seite Felder zu betsätigen, sonst wird die Änderung nicht auf der Seite Daten oder einer anderen Seite im Tabelleneditor angezeigt.
In dem unteren Teil des Tabelleneditors können Sie die einzelnen Feldbeschreibungen und Feldabhängigkeiten einsehen. Die Liste der Feldabhängigkeiten beinhaltet die Indizes, Primär- und Fremdschlüssel.
(2) Beschränkungen
Beschränkungen dienen der Wahrung der Datenintegrität. Beschränkungen liefern Datenbanken die besondere Datenintegrität, die benötigt wird. Jede Beschränkung hat ihr eigenes kontextabhängiges Rechtsklickmenü und die eigene Symbolleiste bietet die gängigsten Operationen.
Das Rechtsklickmenü der Seite Fremdschlüssel bietet beispielsweise die Optionen Neuer Fremdschlüssel [Ins], Lösche Fremdschlüssel [Del], Open foreign table ...(Öffne Fremdtabelle) und Automatische Breite an. Automatische Breite stellt die Spaltenbreite auf die sichtbare Dialogfensterbreite ein. Der Beschränkungsname kann z.Zt. maximal 31 Zeichen betragen (wurde 2005 erweitert von 27).
Folgendes können Sie auf der Seite Beschränkungen im Tabelleneditor einsehen, ergänzen oder bearbeiten:
- Primärsschlüssel: Ein Primärschlüssel kann offiziell nur beim Definieren einer neuen Tabelle definiert werden. Es gibt jedoch eine Möglickeit in IBExpert dies zu umgehen, sollten Sie sich jemals in der Situation befinden, dass Sie Primärschlüssel zu vorhandenen Tabellen hinzufügen müssen (Weiteres dazu finden Sie unter Primärschlüssel zu vorhandener Tabelle hinzufügen).
- Fremdschlüssel: Ein Fremdschlüssel ist eine Verbindung zu eine anderen Tabelle und speichert den Primärschlüssel einer anderen Tabelle. Wenn eine Fremdschlüsselbeziehung definiert wird, ist es notwendig, festzulegen, was mit dem Fremdschlüssel passieren soll,, wenn der Primärschlüssel aktualsiert oder gelöscht wird. Wieters finden Sie unter Referentiale Integrität und Kaskadierende referentiale Integrität.
- Checks: Weitere Bedingungen können vom Benutzer festgelegt werden (Prüfbeschränkungen). Checks ermöglichen Ihnen ein einfaches logisches Stück zu ergänzen, so dass jedes Mal, wenn Sie die Tabelle ändern, die Gültigkeit überprüft wird. Dies ist ein Weg mehrere Werte in der der selben Zeile zu verbinden. Es ist möglich, Feldbeschränkungen zu definieren, z.B. der Wert in dem Feld
PREIS
muss größer als 0 sein und kleiner als 10.000. Es ist ebenfalls möglich, eine Tabellenbeschränkung auf diese Art und Weise zu definieren (z.B. Lieferdatum > Auftragsdatum).
- Uniques: Alle Felder, die als unique, also eindeutig, definiert wurden sind gleichfalls Kandidatenschlüssel. Um ein Feld in IBExpert als unique zu definieren, wählen Sie im Rechtsklickmenü auf der Seite Beschränkungen/ Uniques die Option Neue Unique Constraint (Beschränkung). Akzeptieren oder ändern Sie den vorgegebenen Standardnamen
UNQ_TABLENAME
und klicken Sie auf die Drop-Down-Liste in der Spalte Auf Feld, um die gewünschten Felder als unique zu definieren.
NULL
s – auch mehrere – in einer Spalte mit einer UNIQUE
-Beschränkung zugelassen. Es ist daher möglich, einen UNIQUE
-Schlüssel in einer Spalte zu definieren, die keine NICHT NULL
-Beschränkung hat, zu definieren. Weiteres finden Sie im Kapitel Firebird 2.0 Language Reference Upate , UNIQUE
-Beschränkungen lassen jetzt NULL
zu.
(3) Indizes
Indizes, die bereits für eine Tabelle definiert wurden, können auf der Seite Indizes eingesehen werden. Diese Seite zeigt alle Optionen an, die im Index Editor angeboten werden.
Die angezeigten Informationen beinhalten den Schlüsselstatus, den Indexnamen auf dem Feld, wo der Index gesetzt wurde, ob der Index unique ist, Der Status (d.h. ob aktiv oder inaktiv), die Sortierreihenfolge (Aufsteigend oder Absteigend) und die Statistik (in älteren Versionen angezeigt als Selektivität). Indexbeschreibungen können, wenn gewünscht ebenfalls definiert werden. Der Abhängigkeiten-Bereich zeigt eventueller Index-Abhängigkeiten an. Die Indizes, die mit RDB$
beginnen, sind Firebird/InterBase® Systemindizes.
Indizes können mit dem Rechtsklickmenü oder den Tasten [Einfg] oder [Entf] oder direkt im Index Editor hinzugefügt oder gelöscht werden. Wir empfehlen jedoch, anstatt die Indizes zu löschen, sie zu deaktivieren (einfach per Doppelklick auf die Checkbox Aktiv) - man weiß nie, ob man sie in der Zukunft nochmal braucht. Sytemindizes können nicht gelöscht werden. Änderungen an Indizes können nur im Index Editor durchgeführt werden.
Weitere Optionen im Rechtsklickmenü sind:
- Selektivität neu berechnen
- Alles neu berechnen
- Zeige Statistik (blendet die Selektivitätsstatistik ein oder aus)
- Copy index name (kopiere Indexname)
Expression-Indizes sind seit der Firebird Version 2.0 ebenfalls möglich. Willkürliche, auf Werte in einer Zeile in dynmaischer DDL angewendete Expressions, können jetzt indexiert werden, um für Suchprädikate, die auf Expressions basieren zur Verfügung zu stehen.
Syntax
CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]] INDEX <index name> ON <table name> COMPUTED BY ( <value expression> )
Beispiel
CREATE INDEX IDX1 ON T1 COMPUTED BY ( UPPER(COL1 COLLATE PXW_CYRL) ); COMMIT; /**/ SELECT * FROM T1 WHERE UPPER(COL1 COLLATE PXW_CYRL) = 'ÔÛÂÀ' -- PLAN (T1 INDEX (IDX1))
Weiteres zu den Verbesserungen der Indizes in Firebird 2.0 finden Sie im Kapitel Firebird 2.0.4. Release Notes unter Enhancements to indexing und unter Firebird 2.1 Release Notes Kaiptel finden Sie Details zur neuen Syntax GENERATED ALWAYS AS
, die zur Definition von berechneten Feldern implementiert wurde.
Obwohl es möglich ist, einen Index in mehreren Spalten zu setzen, wird dies nicht empfohlen, da ein Index auf zwei Feldern gleichzeitig nur Sinn macht, wenn beide Felder per ORDER BY
sortiert werden und das sollte nur bei einer relativ kleinen Ergebnismenge verwendet werden, da dies eher die Leistung verlangsamt als erhöht.
Siehe auch:
deutschsprachig:
Index
Alter Index
Drop Index
Datenbankstatistiken - Indizes Analyse
SQL Editor / Plananalyse
SQL Editor / Leistungsanalyse
Selektivität aller Indizes erneut berechnen
englischsprachig:
Firebird Administration using IBExpert: The Firebird Optimizer and index statistics
Firebird Administration using IBExpert: Automating the recalculation of index statistics
Firebird for the database expert: Episode 1 - Indexes
Recreating Indices 1
Recreating Indices 2
Firebird 2.0.4 Release Notes: Enhancements to indexing
CREATE INDEX
(4) Abhängigkeiten
(In einigen Editoren wird diese Seite Used By genannt.) Hier können Abhängigkeiten zwischen den Objekten eingesehen werden. Seit IBExpert Version 2014.09.15 enthält es auch benutzerdefinierte Domäne, die in der Objektdefinition verwendet wurden.
Die Zusammenfassung kann sehr nützlich sein, wenn z.B. eine Datenbanktabelle gelöscht werden muss, oder die Tabellenstruktur geändert werden muss, oder um Benutzerrechte in Fremdschlüssel referenzierten zuzuweisen. Sie zeigt sowohl die Objekte an, die von der Tabelle abhängen (linke Seite), als auch die, von denen die Tabelle abhängig ist (rechte Seite).
Durch Eingabe eines Suchstrings im Filter-Feld können Sie nach bestimmten Objektnamen im Abhängigkeitsbaum filtern. Feldnamen werden hier auch berücksichtigt.
Der Objektbaum kann per Mausklick oder mit den Tasten [+] oder [-] auf- oder zugeklappt werden, oder mit dem kontextabhängigen Rechtsklickmenüpunkt Alle ausklappen oder Alles einklappen. Weitere Optionen im Rechtsklickmenü beinhalten:
- Apply block to selected objects: diese Option erlaubt den User ausgewählte Objekte mit individuellen IBEBlocks zu bearbeiten.
- Alle/ausgewählte Prozeduren/Trigger neu kompilieren: hier können Sie alle bzw. alle ausgewählten im Abhängigkeitsbaum angezeigten Prozeduren/Trigger neu kompilieren.
- Objekt löschen: diese Option erscheint nur, wenn eine Datenbankobjekt markiert ist.
- Zeige Abhängigkeiten an: diese Option öffnet ein neues Fenster, um die Abhängigkeiten für das ausgewähltes Objekt anzuzeigen.
- Aktualisieren
- Alle ausklappen
- Alle einklappen
- Zeige Operationen an: zeigt die Aktionen
S
(=SELECT
),U
(=UPDATE
),I
(=INSERT
) oderD
(=DROP
) an.UPDATE OR INSERT
undMERGE
Anweisungen werden ebenfalls untertützt. - Drucke Abhängigkeiten: hier können Sie eine Übersicht der ausgeklappten Baumstruktur und Aktionen zu drucken.:
Der Obkjektcode kann im unteren Feld im Tabelleneditor eingesehen oder bearbeitet werden, vorausgesetzt die Option Inplace Objects' Editors ist im IBExpert Menü Optionen unter Programmeinstellungen / Werkzeuge aktiviert. Wenn diese Option nicht aktiviert ist, kann der Code nur im unteren Feld eingesehen werden und der Objekteditor muss per Doppelklick auf dem entsprechenden Objektnamen geöffnet werden, um Änderungen vornehmen zu können. Dies gilt auch für alle Trigger, die auf der Seite Trigger aufgelistet sind.
(5) Trigger
Trigger sind SQL Skripte, die bei bestimmten Ereignissen in der Datenbank automatisch ausgeführt werden.
Ähnlich, wie bei Abhängigkeiten sind Trigger in einer Baumstruktur entsprechend folgender Ereignisse aufgelistet:
BEFORE INSERT
AFTER INSERT
BEFORE UPDATE
AFTER UPDATE
BEFORE DELETE
AFTER DELETE
Der Objektbaum kann per Mausklick oder den Tasten [+] oder [-] (oder mit dem Rechtsklickmenü) auf- oder zugeklappt werden.
Wenn ein Trigger markiert ist, bietet das Rechtsklickmenü Optionen zur Erzeugung eines neuen Triggers an, den Trigger zu bearbeiten oder zu löschen oder den Trigger (oder auch mehrere Trigger) aktiv oder inaktiv zu setzen.
Der Triggercode kann im unteren Feld im Tabelleneditor eingesehen und bearbeitet werden, vorausgesetzt die Option Inplace Objects' Editors wurde im IBExpert Menü Optionen unter Programmeinstellungen / Nützliches aktiviert. Wenn diese Option nicht aktiviert wurde, kann der Code nur im unteren Feld eingesehen werden und der Triggereditor muss per Doppelklick auf den entsprechenden Triggernamen aktiviert werden, um Änderungen an dem Trigger vornehmen zu können.
Dies gilt auch für alle Objekte, die auf der Seite Abhängigkeiten aufgelistet sind.
(6) Datengitter
Hier können die Daten direkt in der Datenbanktabelle manipuliert werden (d.h. eingegeben, geändert oder gelöscht).
Es gibt drei Ansichtsmodi:
1. Gitteransicht - alle Daten werden in einem Gitter (oder Tabellenform) angezeigt.
Die Datensätze können anhand eines beliebigen Feldes in entweder auf- oder absteigender Reihenfolge, durch Anklicken des Spaltenkopfes, sortiert werden. Neue Daten können hier eingegeben, geändert oder gelöscht werden. Bitte beachten Sie, dass der Aktualisieren -Button standardmäßig nur den aktuellen Datensatz und nicht alle Datensätze aktualisiert. Sie können dies unter Optionen / Programmeinstellungen / Gitter / Vollständige Aktualisierung ... ändern.
Es ist auch möglich, Unicode-Daten direkt im Gitter zu bearbeiten. Alle Operationen, wie jede Operation, die in IBExpert ausgeführt wird, kann im SQL Monitor überwacht werden (wird aus dem IBExpert Menü Nützliches gestartet), besonders nützlich, wenn Probleme mit SIUD Operationen auftauchen.
Die Inhalte von Blob- und Memofeldern können hier einfach durch Halten des Cursors über dem enstprechenden Feld gelesen werden. IBExpert zeigt diese als Blobwerte an. Es ist ebenfalls möglich, sie im Blob Editor (HEX-Format) einzusehen und zu bearbeiten. Und seit IBExpert Version 2015.06.01 werden Daten Tipps für Blobfelder, falls notwendig, auch in Unicode angezeigt. IBExpert Version 2016.06.19 ersetzte das Popup Text Blob Editor durch einen neuen, der korrekt mit UTF-8-Daten arbeitet.
Seit IBExpert Version 2014.03.14 wird nun INSERT ... RETURNING ...
beim Einfügen neuer Datensätze (wenn möglich) unterstützt.
Seit IBExpert Version 2014.09.15 ist es möglich, CHAR(16) CHARACTER SET OCTETS
Felder als UUID (d.h. '248BC700-F384-4AC3-bb39-C0A588B45110'
) anzuzeigen. In diesem Modus sind diese Felder schreibgeschützt und können nicht geändert werden.
Seit IBExpert Version 2015.03.14 können Sie die Schriftgröße für die Datenanzeige zu ändern. Dies betrifft auch die Formularansicht (sowohl klassisch als auch kompakt), den Memo/String Bearbeitungsdialog und den Drucke Daten-Bericht. IBExpert speichert und gibt die veränderte Schriftgrößenwert individuell für jede Tabelle/View/Prozedur zurück.
Die Daten können mit OLAP und dem Datendepot-Werkzeug Datenanalyse weiter analysiert werden, das über das Symbol Datenanalyse (in der Abbildung oben rot markiert) aufgerufen wird.
Viele Optionen finden Sie unter Optionen / Programmeinstellungen / Gitter, wo der Benutzer die Möglichkeit hat, das Gitter anzupassen. Unter dem IBExpert Menüpunkt Registriere Datenbank oder Datenbankregistrierungsinfo gibt es zusätzliche Optionen, wie z.B. Trimme Char Felder in Tabellen.
Die Seite Daten/Gitteransicht hat auch ihr eigenes kontextabhängiges Rechtsklickmenü.
Dies umfasst folgende Optionen:
- die Funktionen ausschneiden, kopieren und einfügen.
- die Inkrementelle Suche [Strg + F] ermöglicht eine schnelle Suche einzelner Einträge einfach durch Markieren des gewünschten Spaltenkopfes, Anklicken des Rechtsklickmenüpunktes Inkrementelle Suche [Strg + F] und dann Eingabe der relevanten Zeichen/Zahlen, bis der entsprechende Datensatz gefunden wurde.
- die Option Spaltenbreite anpassen (oder [Strg + "+" NUMBLOCK] stellt alle Spaltenbreiten in der Gitteransicht auf die ideale Breite ein.
SET
Befehle: setze Feld aufNULL
, leer oderNOW
.- Kopiere-Operationen:' kopiert alle, einen oder mehrere ausgewählte Datensätze in die Zwischenablage als
INSERT
oder alsUPDATE
. Mehrere Datensätze können nur ausgewählt werden, wenn die Option Erlaube Mehrfachselektion'' im Optionsmenü Programmeinstellungen/ Gitter aktiviert wurde. - die Option Dupliziere Datensätze.
- Feldreihenfolge zurücksetzen: setzt die Feldreihenfolge in den ursprünglicen Zustand zurück (nicht verfügbar im SQL Editor / Ergebnisse).
- Spaltenreihenfolge ändern: Es ist möglich, alle Spalten direkt im Spaltengitter durch Ziehen der Spaltenüberschriftfelder mit der Maus, nach Wunsch zu verschieben. Dieser Menüpunkt bietet aber noch mehr. Eine Liste aller Tabellenfelder wird geöffnet:
- Gruppiere Felder: bietet eine alternative Darstellungsoption, in der Spalten gruppiert werden können, was manchmal nützlich sein kann, beispielsweise, wenn Sie eine komplexe Abfrage mit Joins von mehreren Tabellen ausführen müssen. Das Feature Gruppieren wird als dunkelgraue Leiste angezeigt, beschriftet mit Spaltenkopf hier hinziehen, um nach dieser Spalte zu gruppieren, direkt über den Spaltenköpfen der Tabelle. Sollte dies nicht angezeigt werden, aktivieren Sie im IBExpert Menü Optionen unter Programmeinstellungen / Gitter die Option Erlaube Datensatzgruppierung. Der Spaltenkopf muss lediglich per Drag'n'Drop in die dunkelgraue Leiste gezogen werden, um nach dieser Spalte zu gruppieren. Eine neu sortierte Datenansicht wird angezeigt, wo die Gruppeninhalte durch Klicken auf + oder - angezeigt oder verborgen werden können (siehe Abbildung unten).
- Filteroptionen: diese finden Sie in der Wekzeugleiste der Datenseite (siehe unten).
Sowohl die Gitter- als auch die Formularansicht bieten eine Navigation Symbolleiste, die das Verschieben, das Einfügen und Löschen von Daten ermöglicht. Beachten Sie, dass wenn Daten gelöscht werden, die Firebird/InterBase® Datenbank größer wird, da die Daten wegen der Rollback-Option, die bis zum Commit des Löchbefehls verfügbar sind, lediglich als gelöscht gekennzeichnet werden.
IBExpert bietet auch einen Testdatengenerator an (IBExpert Menü Nützliches), falls Testdaten zum Vergleich von Abfragezeiten, etc. benötigt werden.
Daten können mit der Filter-Symbolleiste gefiltert werden. (Weiteres finden Sie unter Filter Panel.)
Desweiteren kann in numerischen und Datum-Spalten mit Aggregat-Funktionen gerechnet werden (COUNT
, SUM
, MIN
, MAX
, AVG
). Klicken Sie einfach auf den Schaltknopf Show summary footer in der Symbolleiste der Datenansicht um die Summary-Footer-Leiste einzublenden:
Es ist möglich, für jede numerische/ Datum-Spalte eine separate Aggregat-Funktion auszuwählen.
WICHTIG: dieses Feature leistet alle Kalkulationen auf der Client-Seite, also verwenden Sie diese Funktion nicht bei großen Datensätzen mit Millionen von Sätzen, da IBExpert vor der Kalkulation alle Datensätze vom Server holt.
Daten können auch als Unicode angezeigt werden. Klicken Sie auf das entsprechende Symbol in der Navigation Symbolleiste (siehe Abbildung unten) oder verwenden Sie [F3]. Es ist nicht möglich, die Daten direkt im Datengitter zu bearbeiten. Um Daten in Unicode zu bearbeiten, verwenden Sie bitte die Formularansicht oder den Modaleditor in Verbindung mit dem String.
2. Formularansicht - ein Datensatz wird in einem Formular angezeigt.
Die Formulansicht zeigt die Feldbeschreibungen an. Es ist möglich ein alternatives Layout auzuwähen (classic oder compact), die compact-Alternative ist für diejenigen, die ein kompakteres und schnelleres Interface bevorzugen. Darstellungsoptionen enthalten jetzt auch Einstelloptionen, wie Memo Height und Memo Word Wrap.
3. Daten Drucken - stellt die Daten im WYSIWYG Modus dar (die Statusleiste und zeigt an, welche Seitennummer zur Zeit sichtbar ist und wieviele Seiten die Daten insgesamt umfassen. Die Daten können entweder in einer Datei gespeichert oder gedruckt werden.
Die Ansicht Daten Drucken hat auch ihr eigenes Rechtsklickmenü, das die Seitenanpassungen (2 Seiten, ganze Seite, Seitenbreite und Skalierung von 10% bis 200%), was auch als Pull-Down-Liste in der Druckvorschau-Symbolleiste verfügbar ist. Weitere Symbolleisten-Optionen sind: Information speichern, direkt drucken und die Seitenanpassung. Es gibt sogar eine Checkoption, um festzulegen, ob BLOB
und MEMO
Werte gedruckt werden sollen, oder nicht.
Exportiere Daten
(Dieses Feature ist leider nicht in der IBExpert Personal Edition enthalten.)
Daten können von der Daten-Seite im Tabelleneditor und im Vieweditor exportiert werden, von der Ergebnisse-Seite im SQL Editor und auch vom ODBC Viewer einfach durch Anklicken des Symbols
oder mit den Tasten [Strg + E], um das Fenster Data Export zu öffnen.
Die erste Seite im Dialog Export Data, Export Type, bietet eine große Bandbreite an Formaten an, inklusive Excel, MS Word, RTF, HTML, Text, CSV, DIF, SYLK, LaTex, SML, Clipboard (als Text), Clipboard (als HTML (CF_HTML
), DBF und XML spreadsheet JSON; alle können einfach und schnell per Mausklick (oder mit den Richtungspfeiltasten) ausgewählt werden können. Die Write BOM-Option wurde in IBExpert Version 2015.03.14 für CSV- und Text-Exporttypen hinzugefügt.
Der Name der Zieldatei muss bestimmt werden und mit den Checkoptionen können Sie definieren, ob die resultierende Exportdatei nach dem Datenexport geöffnet werden soll oder nicht. Für bestimmte Exportformate kann festgelegt werden, ob Spaltenköpfe weggelassen werden sollen oder nicht und ob Textblobwerte auch exportiert werden sollen.
Sollten Probleme beim Export von Textblobwerten auftreten, überprüfen Sie bitte, ob die Option Zeige Textblobs als Memo auf der Seite Gitter im IBExpert Menü Optionen / Programmeinstellungen aktiviert ist.
Abhängig vom Format können weitere Optionen auf der zweiten und dritten Seite Formats and Options dem Exporttyp entsprechend festgelegt werden. Die Seite Formats ist mit Ausnahme von XML für alle Exporttypen verfügbar .
Hier ist es möglich, eine Auswahl an numerischen Formaten zu treffen, inklusive currency
, float
, integer
, date
, time
oder date and time
. Bitte beachten Sie, dass nicht alle diese Optionen für alle Exporttypen geändert werden können ( z.B. wen Sie nach DBF exportieren ist es nur möglich, die Formate von date/time und time festzulegen; exportieren nach JSON bietet die Optionen, Lesbar: wenn aktiviert, JSON Daten werden lesbar formatiert, und BOM schreiben: wenn aktiviert, wird ein UTF-8 BOM am Anfang der Datei geschrieben).
Abhängig davon, welches Format festgelegt wurde, werden zusätzliche Optionen auf der dritten Seite angeboten, zum Beispiel:
- Excel - Spezifikation von Seitenkopf und -fuß.
- HTML - Template-Auswahl und Vorschau, Titel, Kopf- und Fußtext, sowie eine große Auswahl an erweiterten Optionen.
- CSV - Quote String Checkbox und Definition der CSV Separatoren.
- XML - Encoding-Format kann aus einer Pull-Down-Liste ausgewählt werden. Weiterhin gibt es Checkboxen, um
String
,Memo
undDateTime
Felder als Text zu exportieren. Es ist auch möglich, Textwerte in UTF8 zu konvertieren, wenn UTF8 encoding ausgewählt wird. Diese Option sollte nur verwendet werden, wenn Sie ANSI Daten haben.
- DBF - Checkboxen, um Strings nach DOS zu exportieren, lange Strings in Memos zu konvertieren und
DateTime
alsDate
zu extrahieren.
Der Export wird dann letztendlich durch Anklicken des Schaltknopfes Start Export unten rechts gestartet. Nach erfolgreichem Export erscheint eine Meldung mit der Gesamtanzahl der exportierten Datensätze.
Mit dem Symbol Exportiere Daten in ein Skript in der SQL Editor Symbolleiste oderTabelleneditor Symbolleiste können die Daten in ein SQL Skript eingegeben werden (ohne die Blobfelder).
Exportiere Daten in ein Skript
Der Dialog Exportiere Daten in ein Skript kann durch Anklicken des Klick auf des Symbols
auf der Seite Daten im Tabelleneditor und View-Editor, der Seite Ergebnisse im SQL Editor oder vom ODBC Viewer gestartet werden.
Die folgenden Optionen können vor dem Start des Datenexports ausgewählt werden:
- Exportiere nach: Datei, Zwischenablage oder Script Executive.
- Exportiere als:
INSERT
-Anweisungen,UPDATE
-Anweisungen,UPDATE OR INSERT
-Anweisungen oder als ein Satz vonEXECUTE PROCEDURE
-Anweisungen.
Legen Sie den Dateinamen fest, wenn Sie in eine Datei exportieren und den Tabellennamen, von wo die Daten exportiert werden. Die Seite Felder ermöglicht die Auswahl der Tabellenfelder.
Die Seite Optionen:
bietet viele Optionen an, inklusive dem Ersetzen der nicht druckbaren Zeichen mit Leerzeichen, Entferne nachlaufende Leerzeichen und Kontrolzeichen aus Stringwerten, Datum und Zeitbestimmung, Verwendung der ANSI Präfix für Datum/Zeit-Werte, ob die Anweisung CREATE TABLE
oder die DELETE FROM <TABLE>
Anweisung in das Skript eingefügt werden soll. Wenn die Option, BLOB-Feld Werte als Hex-Strings exportieren ON
ist, werden BLOB-Werte direkt in die VALUES
-Klausel der INSERT
-Anweisungen als Hex-Strings geschrieben, wie zum Beispiel:
... VALUES (..., X'0A66756E6374696F6E2024242873297B72', ...)
Diese Darstellung wird von Firebird 2.5 unterstützt. Leider ist die Länge von DML/DDL Anweisungen in Firebird/InterBase® auf 64 KB begrenzt, so dass sehr leicht ist, Anweisungen mit einer Länge > 64 KB zu haben, die nicht vom Server ausgeführt werden können.
Die Option, CHAR(n) CHARACTER SET OCTETS Werte in hexadezimalem Format zu exportieren (z.B. x'F62100CEA976'), wurde in IBExpert Version 2014.03.16 hinzugefügt.
Weitere Optionen werden angeboten: ob die Werte der MEMO-Felder als String exportiert werden sollen oder nicht und ob CR+LF und zusätzliche Leerplätze zwischen Statementteilen entfernt werden sollen. Der Standardwert 500 der Option Füge COMMIT nach x Datensätzen ein kann manuell geändert werden, wenn gewünscht.
Die Seite Erweitert ermöglicht zusätzliche Definitionen für die Abfragen, beispielsweise ORDER BY
oder WHERE
Klauseln.
Nach Abschluss aller Einstellungen klicken Sie einfach auf dne Schaltknopf Export, um den Datenexport auszuführen.
Bitte beachten Sie, dass seit der IBExpert Version 2007.09.25 IBExpert mit Skripten, die größer sind als 2 GB, arbeiten kann. Bei älteren IBExpert Versionen muss das Skript in zwei oder mehr kleinere Skripte aufgeteilt werden, wenn es 2 GB überschreitet. Dies kann mit dem Menüpunkt IBExpert Menü Nützliches/Extrahiere Metadaten gemacht werden, wo die Option Extrahiere nach / Seperate Files und die maximale Dateigröße festgelegt werden können.
Weitere Informationen über die ODBC Viewer Daten in eine Tabelle exportieren-Funktionalität finden Sie im Kapitel, Daten in eine Tabelle exportieren. Weiter Information über Daten- und Dateien-Import und -Export kann in den folgenden (englischsprachigen) Kapiteln nachgelesen werden:
- Import & export using IBExpert
- IBEBlock examples including data import and export
- Firebird administration: import & export
(7) Master/Detail View
Die Master/Detail View zeigt Daten einer Tabelle an, die von dem Fremdschlüssel referenziert wird, bzw. der auf die Tabelle referenziert.
Es ist auch möglich Master/Datail-Daten hier zu bearbeiten.
(8) Beschreibung
Wie in den meisten IBExpert Editoren, kann die Seite Beschreibung des Tabelleneditors zur Eingabe, Änderung und Löschung des Textes vom Benutzer genutzt werden. Somit kann die Datenbank einfach und schnell dokumentiert werden.
(9) DDL
Hier wird die Datenbankdefinition als SQL Skript angezeigt.
Wie die Metadatenoption in Extrahiere Metadaten, wenn die Decodiere Domäne' Option aktiviert wird, werden die Domänentypen als Kommentare hinter den Domänennamen eingefügt. Zum Beispiel:
CREATE TABLE Z (
B BOOL /* INTEGER DEFAULT 0 CHECK (VALUE IN(0,1)) */
);
Dieser DDL-Text kann hier nicht bearbeitet werden, aber er kann in die Zwischenablage kopiert werden.
(10) Rechte
Hier können einzelnen Benutzern Rechte für SELECT
, UPDATE
, DELETE
und INSERT
für die aktuelle Tabelle zugewiesen werden. In manchen Fällen können Rechte auch einzelnen Feldern zugewiesen werden.
Mit Hilfe der Drop-Down-Liste können Rechte nicht nur Benutzern und Roles zugewiesen werden, sondern auch Views, Triggern und Prozeduren in derselben Datenbank, ohne den Tabelleneditor verlassen zu müssen.
Mehr Details dazu finden Sie unter Rechtemanager.
(11) Protokollierung (Logging)
Datenmanipulation kann hier in von IBExpert erzeugten Systemtabellen dokumentiert werden. Wenn diese Seite zu ersten mal geöffnet wird, fragt IBExpert, ob bestimmte Sytemtabellen erzeugt werden sollen:
Nach Bestätigung und Commit müssen Sie die Tabellen für das Logging vorbereiten, indem Sie den enstprechenden Mneüpunkt im Logmanager verwenden, den Sie im IBExpert Menü Nützliches finden. Wenn die Vorbereitung erfolgreich wurde, können Sie festlegen, ob Sie die INSERT
, UPDATE
und/oder DELETE
Aktionen protokollieren möchten.
Nach Erzeugung des Skripts (verwenden Sie den grünen Pfeil oder [F9]) werden die Trigger für die Tabelle erzeugt und von jetzt an, egal welches Programm oder welcher Benutzer welches Änderung vornimmt, werden alle vorher definierten Änderungen protokolliert.
Log to script mit dem enstprechenden Schaltknopf:
Auf der Seite Options kann der Logdateiname festgelegt werden, nach wie vielen Eingaben ein Commit erfolgen soll und welche Felder protokolliert werden sollen. Der Anfang und das Ende des Skripts kann auf der Seite Script Details definiert werden. Das Skript kann dann einfach mit dem enstprechenden Symbol oder [F9] erzeugt werden.
Um die vorbereiteten Datenbankobjekte und einzelnen Felder in die Logging-Dateien zu integrieren, verwenden Sie den IBExpert Menüpunkt Logmanager im IBExpert Menü Nützliches.
(12) Vergleich
Die Seite Vergleich ermöglicht es Ihnen, ein Datenbankobjekt mit einem in einer anderen (Vergleichs-) Datenbank zu vergleichen. Die Vergleichsdatenbank muss zunächst in der IBExpert Datenbankregistrierungsinfo unter (Vergleichsdatenbank) bestimmt werden.
Um einen Vergleich durchzuführen, öffnen Sie einfach das zu vergleichende Objekt und gehen auf die Seite Vergleich, um die Vergleichsdatenbank (comparative database) auszuwählen:
Deaktivieren Sie die Option Ignore Blanks, wenn gewünscht und klicken Sie dann auf das Symbol oben links Compare Again, um den Objektvergleich durchzuführen. Die Statusleiste zeigt den Farbchlüssel an, sodass die Art der Änderung, sowie die Anzahl der Änderung sofort sichtbar wird.
Unter der Statusleiste sind zwei weitere Seiten: Script: This to comparative DB (Skript: diese zur Vergleichsdatenbank) und Script: Comparative DB to This (Skript: Vergleichsdatenbank zu dieser)''. In beide Skripten sind auch die Kommentare enthalten, sodass man schnell erkennen kann, welche Änderungen wo gemacht werden müssen, um die Objekte entweder in der Haupt- oder in der Vergleichsdatenbank zu aktualisieren.
(13) To-do
Dieses Feature kann verwendet werden, um Ihre Datenbankarbeit zu organisieren. Wenn diese Seite zum ersten Mal geöffnet wird, fragt IBExpert, ob bestimmte Systemtabellen erzeugt werden sollen:
Nach Bestätigung und Commit, können Sie To-Do-Elemente für jedes Objekt in der Datenbank hinzufügen:
Verwenden Sie das kontextabhängige Rechstklickmenü, um To-Do-Elemente zu bearbeiten, hinzuzufügen oder zu löschen. Verbergen Sie diejenigen, die erledigt sind, aktualisieren Sie die To-Do-Liste oder duplizieren Sie eine To-Do-Eintrag.
Eine vollständige Liste aller To-Do-Elemente für alle Datenbankobjekte kann im IBExpert Menü Nützliches unter To-Do-Liste eingesehen, bearbeitet oder gelöscht werden.
Erzeuge View aus Tabelle (Updatable View)
Es ist möglich, einen View direkt mit dem Symbol Erzeuge View im Tabelleneditor aus einer Tabelle zu erzeugen:
View / Triggers Seite
Wählen Sie einen Triggertyp durch Aktivieren/Deaktivieren der enstprechenden Checkbox (BEFORE INSERT
, BEFORE UPDATE
, BEFORE DELETE
).
Die Bearbeite View nach Kompilierung-Option wurde in IBExpert Version 2015.12.21 hinzugefügt.
Die Liste der Felder, die in dem View enthalten sein sollen, kann durch Anlicken der Checkboxen links vom Feldnamen oder per Doppelklick oder mit Betätigung der Leertaste auf dem ausgewählten Feld zusammengestellt werden.
Der Viewcode wird im unteren Fenster angezeigt und kann bei Bedarf auch geändert werden.
Wie der Standard-Viewname, wird auch der Standard-Triggername automatisch von IBExpert generiert. Er umfasst den Präfix VW_
gefolgt vom Tabellennamen und endet mit der Triggertypendung (_BI
= Before Insert, _BU
= Before Update, _BD
= Before Delete). Dies kann bei Bedarf überschrieben werden.
Es können ein oder mehrere Triggertypen festgelegt werden - wodurch weitere Tabreiter in dem unteren Bereich erscheinen, die die Möglichkeit bieten, vordefinierte Triggercodes einfach anzupassen, wodurch wiederum automatisch ein Updatable View (aktualisierbarer View) erzeugt wird - dies ist wirklich ein sehr einfacher und schneller Weg , um einen aktualisierbaren View zu erzeugen, der sonst nur in erheblicher Handarbeit realisiert werden kann! Diese Trigger sind bereits vorbereitet und erfordern wenig Aufwand, um einen aktualisierbaren View zu erzeugen.
Kompilieren Sie und klicken Sie abschließend auf Commit, um den neuen View oder aktualisierbaren View zu erzeugen.
IBEBlock bearbeiten / debuggen
IBEBlock Unterstützung wurde in IBExpert Version 2016.06.29 implementiert.
Erzeuge Prozedur aus Tabelle
Eine Prozedur kann direkt aus einer Tabelle mit dem Symbol Erzeuge Prozedur in dem Tabelleneditor erzeugt werden :
Wählen Sie alternativ eine Tabelle im DB Explorer und verwenden Sie den Rechtsklickmenüpunkt Erzeuge SIUD Prozeduren. Die Prozedurenart, die erzeugt werden soll, kann durch Aktivieren/Deaktivieren der Checkboxen im oberen Bereich ausgewählt werden.
Optionen:
SELECT
INSERT
UPDATE
DELETE
INSERT/UPDATE
und weitere Optionen um:
- Refresh Prozedur erzeugen in IBExpert Version 2015.03.14 eingeführt. Es gibt einen einzelnen von der Primärschlüsselwert spezifizierten Datensatz zurück.
- Erteile erforderliche Berechtigungen auf benutzten Tabellen-Option (neu in IBExpert Version 2015.12.21).
- Erteile EXECUTE-Recht zu PUBLIC nach Erzeugung
Ein Standardprozedurenname wird automatisch von IBExpert erzeugt. Dieser umfasst den Tabellennamen gefolgt von folgenden Endungen:
S = SELECT
I = INSERT
U = UPDATE
D = DELETE
IU = INSERT/UPDATE
Dieser Name kann natürlich auch direkt im Code überschrieben oder geändert werden.
Die Liste der Felder, die in der Prozedur enthalten sein soll, kann durch Anklicken der Checkboxen links vom Feldnamen definiert werden, oder per Doppelklick oder durch Betätigen der Leertaste auf dem ausgewählten Feld.
Der Prozedurentext wird im unteren Fenster angezeigt und kann auf Wunsch auch geändert werden. Wechseln Sie durch Anklicken der Tabreiter (über der Feldliste) von eine Seite zur nächsten.
Abschließend kompilieren Sie und klicken Sie auf Commit, um die neue Prozedur zu erzeugen.
Der SUID Block wurde Ende 2008 komplett überarbeitet, um das Feature TYPE OF
und das integrierte Debugging besser zu unterstützen. IBExpert verwendet jetzt nur IBEBlock, um SUID-Prozeduren zu erzeugen. Die älteren Version der SUID Blocks sind aus Gründen der Kompatibilität immer noch verfügbar.
Es ist auch möglich direkt im Erzeuge Prozedur aus Tabelle-Form eine bearbeitete Tabelle zu ändern.
Siehe auch:
deutschsprachig:
Tabelle
Rechtemanager
Log Manager
Datenbankregistrierungsinfo
englischsprachig:
DCL-DataControlLanguage
DDL-DataDefinitionLanguage
DML-DataManipulationLanguage
zurück zum Seitenanfang
<< | IBExpert | >>