Übersicht zum Blackfish SQL-Entwicklerhandbuch

Von: Masahiro Arai

Inhaltsangabe: Dieses Dokument bietet eine kurze Übersicht über Blackfish SQL und Blackfish SQL API für Windows.

    Übersicht zum Blackfish™ SQL-Entwicklerhandbuch

Dieses Dokument bietet eine kurze Übersicht über Blackfish SQL und Blackfish SQL API für Windows. Aktualisierungen zu diesem Dokument finden Sie im CodeGear Developer Network unter Blackfish SQL Developer's Guide Overview.

Im Blackfish SQL-Entwicklerhandbuch wird beschrieben, wie Blackfish SQL-Anwendungen erstellt werden. Es kann von CodeGear CodeCentral heruntergeladen werden.

    Inhalt

    Blackfish SQL

Blackfish SQL ist eine äußerst leistungsfähige, transaktionale Datenbank mit geringem Arbeitsspeicherverbrauch. Blackfish SQL wurde ursprünglich als eine reine Java-Datenbank mit der Bezeichnung JDataStore implementiert. Sie wird jetzt Blackfish SQL für Java genannt. Blackfish SQL wurde zudem von Java nach C# portiert. Diese C#-Implementierung wird Blackfish SQL für Windows genannt und wird in RAD Studio 2007 unterstützt.

Design und Implementierung von Blackfish SQL sind auf Datenbank-Performance, Skalierbarkeit, Benutzerfreundlichkeit und strenge Kompatibilität mit Industriestandards ausgerichtet. Blackfish SQL hat folgende Eigenschaften:

  • Kompatibilität mit Industriestandards
    • Entry Level SQL-92
    • Unicode-Speicherung von Zeichendaten
    • Unicode-basierende Sortierfolge für Sortierung und Indizierung
    • dbExpress 4-Treiber für Win32-Delphi und -C++
    • ADO.NET 2.0-Provider für .NET
    • JDBC für Java
    • JavaBean-Datenzugriffskomponenten für Java
    • Verteilte XA/JTATransaktionen für Java
  • Hervorragende Performance und Skalierbarkeit für Anwendungen mit anspruchsvoller Online-Transaktionsverarbeitung (OLTP) und Entscheidungsunterstützung (DSS)
  • Gespeicherte Prozeduren und Trigger für Delphi, C# und VB.NET unter Windows
  • Gespeicherte Prozeduren und Trigger für Java
  • Keine Administration erforderlich; Deployment in Form eines einzigen Assemblys oder einer einzelnen Jar-Datei
  • Inkrementelles Backup und Failover der Datenbank

    Blackfish SQL-DataStore

Blackfish SQL ist sowohl der Name des Produkts als auch der zugehörigen Tools und des Dateiformats. In RAD STudio 2007 gibt es Assemblys, die eine DataStore-Klasse enthalten.

    Kompatibilität zwischen Windows und Java

Blackfish SQL für Windows und Blackfish SQL für Java sind miteinander kompatibel, allerdings mit einigen Einschränkungen. Die Dateiformate der Datenbanken von Blackfish SQL für Windows und Blackfish SQL für Java sind binär-kompatibel. Darüber hinaus sind auch die Datenbank-Clients und -Server austauschbar. Windows-Clients können zu Java-Servern eine Verbindung herstellen, und Java-Clients zu Windows-Servern. Da die Blackfish SQL für Windows-Implementierung neuer als die für Java ist, werden einige der in Blackfish SQL für Java vorhandenen Funktionen in der Windows-Version noch nicht unterstützt.

Im Blackfish SQL-Entwicklerhandbuch wird beschrieben, wie Blackfish SQL-Anwendungen erstellt werden. Es kann von CodeGear CodeCentral heruntergeladen werden.

    Blackfish SQL API für Windows

Die Blackfish SQL API kann in Programmen, die mit Delphi oder C++ erstellt werden, mit dem DBXClient DBX4-Treiber verwendet werden. .NET-Anwendungen können die API mit dem ADO.NET-Provider verwenden. In RAD Studio befindet sich die API in den Namespaces Borland.Data.DataStore and Borland.Data.MetaData.

Die unten aufgelisteten Administrationsfunktionen werden in DataExplorer für Blackfish SQL für Windows noch nicht unterstützt. Verwenden Sie SQL-Befehle oder in Blackfish SQL integrierte gespeicherte Prozeduren für DB_ADMIN, um diese Aufgaben auszuführen. Details dazu finden Sie im Blackfish SQL-Entwicklerhandbuch unter CodeGear CodeCentral.

  • Erstellen bzw. Ändern der Spalteneigenschaften "autoincrement" und "max inline"
  • Erstellen sekundärer Indizes
  • Erstellen, Ändern und Entfernen von Benutzern und Rollen
  • Erstellen, Ändern und Entfernen von Datenbankspiegelungen
  • Datenbankverschlüsselung
  • Datenbank-Backup

    In SQL verfügbare Administrations- und Dienstprogrammfunktionen

Es stehen zwei Klassen zur Verfügung: DB_ADMIN und DB_UTIL. Diese Methoden können in SQL mithilfe der CALL-Anweisung aufgerufen werden. Sie können ohne einen METHOD-Alias aufgerufen werden, da der Blackfish SQL-Dialekt Methoden in DB_ADMIN als integrierte Methoden erkennt.

    DB_ADMIN-Klasse

DB_ADMIN ist eine Gruppe gespeicherter Prozeduren (Stored Procedures) zum Ausführen einer Vielzahl von Datenbankadministrationsaufgaben. Folgende Funktionen stehen unter anderem zur Verfügung:

  • Konfigurieren eines automatischen Failover und eines inkrementellen Backups
  • Anzeigen und Ändern von Datenbankkonfigurationen
  • Datenbank-Backups (explizit)
  • Datenbankverschlüsselung
  • Spiegelungsmanagement

    DB_UTIL-Klasse

DB_UTIL besteht aus gespeicherten SQL-Prozeduren (SQL Stored Procedures) zum Ausführen numerischer, String- und Datum/Zeit-Operationen auf in Datenbanktabellen gespeicherten Daten. Zu diesen Prozeduren gehören folgende Funktionen:

  • Mathematische Funktionen, beispielsweise trigonometrische und arithmetische Funktionen sowie Funktionen zum Generieren von Zufallszahlen
  • Funktionen zur String-Manipulation
  • Datums- und Zeitfunktionen

    ADO.NET

Blackfish SQL enthält eine ADO.NET-Implementierung. Diese entspricht dem AdoDbx-Client, der ebenfalls eine ADO.NET-Implementierung ist.

  • DataStoreCommand: Ermöglicht die Ausführung von SQL-Anweisungen und gespeicherter Prozeduren.
  • DataStoreCommandBuilder: Generiert Befehle für eine einzelne Tabelle zum Abgleich der an einem DataSet vorgenommenen Änderungen mit der zugrunde liegenden Datenbank.
  • DataStoreConnection: Ermöglicht eine Verbindung zu einer Datenbank.
  • DataStoreConnectionPool: Ermöglicht Zugriff auf einen Verbindungspool.
  • DataStoreDataAdapter: Füllt ein DataSet mit Werten und aktualisiert eine Datenbank.
  • DataStoreDataReader: Ermöglicht Zugriff auf eine Ergebnistabelle von einem Datenbank-Server.
  • DataStoreDataSourceEnumerator: Bietet einen Enumerator zum Suchen aller Datenquellen im lokalen Netzwerk.
  • DataStoreParameter: Gibt einen Parameter für DataStoreCommand an.
  • DataStoreParameterCollection: Zusammenstellung von Parametern für DataStoreCommand.
  • DataStoreProviderFactory: Basisklasse für die Provider-Implementierung von Datenquellklassen.
  • DataStoreRowUpdatedEventArgs: Enthält Daten für das RowUpdated-Ereignis von DataStoreDataAdapter.
  • DataStoreRowUpdatingEventArgs: Enthält Daten für das RowUpdating-Ereignis von DataStoreDataAdapter.
  • DataStoreTransaction: Ermöglicht eine Transaktion.

    Klassen für DB_ADMIN-Tabelleninformationen

Diese Gruppe enthält Klassen, die Spaltennamen für von verschiedenen DB_ADMIN-Funktionen generierten Ergebnistabellen bereitstellen.

  • ColumnColumns: Spaltennamen für Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_COLUMNS.
  • DatabaseColumns: Spaltennamen für Ergebnistabelle, die von DB_ADMIN.GET_DATABASE_PROPS zurückgeliefert wird.
  • DataTypeColumns: Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_DATATYPES.
  • IndexColumns: Stellt Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_INDEX_COLUMNS bereit.
  • IndexesColumns: Stellt Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_INDEXES bereit.
  • LockColumns: Stellt Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_LOCKS bereit.
  • MirrorStatusColumns: Stellt die Spalten der Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_MIRRORS bereit.
  • ProcedureColumnColumns: Stellt Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_PROCEDURE_COLUMNS bereit.
  • ProcedureColumns: Stellt die Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_PROCEDURES bereit.
  • StatusLogColumns: Stellt Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_STATUS_LOGS bereit.
  • TableColumns: Stellt Spaltennamen für die Ergebnistabelle der integrierten gespeicherten Prozedur DB_ADMIN.GET_TABLES bereit.

    Zusätzliche Klassen

Diese Klassen liefern Informationen zu Verbindungen, zur Protokollierung, zu Systemeigenschaften und zum Datenzugriff. Zudem stehen Klassen für Spiegelungs- und Zeitplanfunktionen zur Verfügung.

  • ConnectionProperties: Namen der Verbindungseigenschaften, die vom Blackfish SQL-Treiber unterstützt werden.
  • DataStoreErrorCode: Symbolische Fehlercodes für die Datenbank.
  • DataStoreServer: Steuert das Starten und Stoppen eines Serverprozesses.
  • LicenseColumns: Lizenzbezogene Eigenschaftsnamen.
  • LogFilter: Stellt Namen von zu protokollierenden Ereignissen bereit.
  • MirrorTypes: Werte für die Spalte SysMirrors.TYPE.
  • ScheduleColumns: Erweitert SysMirrors mit zusätzlichen Statusinformationen.
  • SchedulePeriod: Mögliche Werte für die Spalte SysSchedule.PERIOD.
  • SysConnections: Tabellen- und Spaltennamen der Systemtabelle /SYS/CONNECTIONS.
  • SysMirrors: Stellt die Spaltennamen der Systemtabelle SYS.MIRRORS bereit.
  • SystemProperties: Gubt die Namen der Systemeigenschaften an, die auf alle Datenbanken angewendet werden sollten, die in einem Prozess geöffnet werden.
  • SysQueries: Tabellen- und Spaltennamen der Systemtabelle /SYS/QUERIES.
  • SysSchedule: Stellt die Spaltennamen der Systemtabelle SYS.MIRROR_SCHEDULE bereit.
  • TriggerContext: Zugriff auf Verbindungsinstanz sowie Zugriff auf neue und alte Zeilen.
  • TriggerReadRow: Bietet Lesezugriff auf eine Zeile mit Daten.
  • TriggerReadWriteRow: Bietet Schreibzugriff auf eine Zeile mit Daten.

Server Antwort von: SC1