Premium-PaketeIBM Bob Premium Package für i

Slash-Befehle

Nutze IBM i-spezifische Slash-Befehle, um vordefinierte Prompts wiederzuverwenden und wiederkehrende Aufgaben zu automatisieren.

IBM Bob Premium Package for i erweitert Bobs eingebaute Slash-Befehle um einen Satz IBM i-spezifischer Slash-Befehle. Eine allgemeine Einführung in die Funktionsweise von Slash-Befehlen und welche eingebaut sind, findest du unter Slash Commands.

Tippe / im Chat, um alle verfügbaren Befehle zu sehen – einschließlich der hier beschriebenen IBM i-spezifischen.

/erd

Der Befehl /erd weist Bob an, ein Mermaid-Entity-Relationship-Diagramm (ERD) für eine Menge von Datenbanktabellen auf dem verbundenen IBM i zu generieren.

EigenschaftWert
Befehl/erd
Argumenthinweis[schema.table or library/file]
Verfügbar inIBM i Developer, IBM i Database
VoraussetzungAktive IBM i-Verbindung

Was passiert

Bob führt folgende Schritte aus:

Den Umfang aus dem angegebenen Argument ermitteln oder fragen, welches Schema/welche Bibliothek analysiert werden soll, wenn kein Argument angegeben wurde.

QSYS2.SYSTABLES, QSYS2.SYSCOLUMNS, QSYS2.SYSCST und QSYS2.SYSREFCST abfragen, um Tabellenstruktur und Beziehungen zu ermitteln.

Ein Mermaid-Entity-Relationship-Diagramm (ERD) mit korrekten Db2 for i-Datentypen, Spaltenmarkierungen (PK, FK, UQ) und Kardinalitätsnotationen erstellen und rendern.

Verwendungsbeispiele

/erd
/erd MYLIB
/erd MYAPP.ORDERS
/erd MYPROJ/CUSTOMER

/review_SQL

Der Befehl /review_SQL weist Bob an, eine umfassende Überprüfung einer SQL-Anweisung anhand einer Sammlung von Best Practices durchzuführen. Er kann eine eigenständige SQL-Anweisung entgegennehmen oder auf Quellcode verweisen, der eine oder mehrere SQL-Anweisungen enthält.

EigenschaftWert
Befehl/review_SQL
Argumenthinweis[SQL statement or source code path]
Verfügbar inIBM i Database
VoraussetzungAktive IBM i-Verbindung

Was passiert

Bob führt folgende Schritte aus:

Die SQL-Anweisung aus dem angegebenen Argument parsen oder danach fragen, wenn kein Argument angegeben wurde.

Die Anweisung anhand einer umfassenden Überprüfungscheckliste bewerten:

  • Korrektheit und Vereinfachung: Korrektheitsprobleme, redundante Prädikate, fragile Konstrukte, verschachtelte Unterabfragen, wiederholte Ausdrücke und unnötige Joins
  • Lesbarkeit und Wartbarkeit: Formatierung, Aliase und Kommentare bei komplexer Logik
  • Qualifizierung und Benennung: Tabellen-Korrelationsnamen und normale vs. begrenzte Bezeichner
  • Best Practices: Verwendung von Built-in-Funktionen, CTEs und Parametermarkierungen
  • Sicherheit: SQL-Injection-Risiken, übermäßige Berechtigungen, Zeilenberechtigungen und Spaltenmasken
  • Performance aus SQL-Text: Nicht-sargable Prädikate, unnötige skalare Funktionen in Prädikaten und vermeidbare Casts
  • Anweisungstyp-spezifische Hinweise: Spezifika für DDL, DML, eingebettetes SQL und dynamisches SQL
  • Diagnose- und Verifikationsguidance: Hinweise zu Visual Explain, Plan Cache und Index-Empfehlungen
  • Wiederverwendbare Logik: UDFs, Stored Procedures und SQL-INCLUDE-Kandidaten
  • Transaktionsisolation: Explizite WITH-Klauseln und Isolationslevel-Konsistenz

Die Ergebnisse strukturiert zurückgeben:

  • Zusammenfassung: Kurze Gesamtbewertung
  • Bestätigte Findings: Nummerierte Liste von Problemen, jeweils mit Kategorie, Erklärung und Verbesserungsvorschlag
  • Bedingte Empfehlungen: Nummerierte Liste von Vorschlägen, die von Metadaten, Workload oder Laufzeitdaten abhängen
  • Überarbeitetes SQL: Eine überarbeitete SQL-Anweisung, wenn die Semantik sicher erhalten werden kann; andernfalls ein illustratives Rewrite mit Erläuterung, was bedingt bleibt
  • Erklärung der Änderungen: Knappe Beschreibung jeder vorgeschlagenen Änderung

Verwendungsbeispiele

/review_SQL
/review_SQL SELECT * FROM ORDERS WHERE CUSTID = '12345'
/review_SQL mylib/mysrc(mycode)
/review_SQL /home/scottf/RPGsrc/toystore.rpglesrc
Wie ist dieses Thema?