Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Erste Orientierung » Einführung in die MobiLink-Technologie » Einführungen in das MobiLink-Beispiel CustDB

 

Tabellen in den CustDB-Datenbanken

Die Tabellendefinitionen für die Datenbank CustDB befinden sich in plattformspezifischen Dateien im Unterverzeichnis Beispielverzeichnis\MobiLink\CustDB. (Hinweise zum Beispielverzeichnis finden Sie unter Beispielverzeichnis.)

Ein Entity-Relationship-Diagramm der CustDB-Tabellen finden Sie unter Informationen zur CustDB-Beispieldatenbank.

Sowohl die konsolidierte als auch die entfernte Datenbank enthält die folgenden fünf Tabellen. Die Definitionen unterscheiden sich jedoch jeweils geringfügig voneinander.

ULCustomer

Die Tabelle ULCustomer enthält eine Liste von Kunden.

In der entfernten Datenbank besitzt ULCustomer folgende Spalten:

  • cust_id   Eine Primärschlüsselspalte mit einer eindeutigen Ganzzahlkennung für den Kunden

  • cust_name   Eine Zeichenfolge von 30 Zeichen Länge, die den Namen des Kunden enthält

In der konsolidierten Datenbank besitzt ULCustomer folgende zusätzliche Spalte:

  • last_modified   Einen Zeitstempel mit dem Zeitpunkt der letzten Änderung der Zeile. Diese Spalte wird für die Synchronisation auf Zeitstempelbasis benutzt.

ULProduct

Die Tabelle ULProduct enthält eine Liste von Produkten.

In der entfernten und der konsolidierten Datenbank enthält die Tabelle ULProduct außerdem folgende Spalten:

  • prod_id   Eine Primärschlüsselspalte mit einer eindeutigen Ganzzahlkennung für das Produkt

  • price   Eine Ganzzahl, die den Einheitenpreis angibt

  • prod_name   Eine Zeichenfolge von 30 Zeichen Länge, die den Namen des Produkts enthält

ULOrder

Die Tabelle ULOrder enthält eine Liste mit Bestellungen, einschließlich Details zu dem Kunden, der die Bestellung aufgegeben hat, dem Mitarbeiter, der die Bestellung entgegengenommen hat, und dem bestellten Produkt.

In der entfernten Datenbank besitzt ULOrder folgende Spalten:

  • order_id   Eine Primärschlüsselspalte mit einer eindeutigen Ganzzahlkennung für die Bestellung

  • cust_id   Eine Fremdspalte, die ULCustomer referenziert

  • prod_id   Eine Fremdspalte, die ULProduct referenziert

  • emp_id   Eine Fremdspalte, die ULEmployee referenziert

  • disc   Eine Ganzzahl, die den Rabatt für die Bestellung enthält

  • quant   Eine Ganzzahl, die die Anzahl der bestellten Produkte enthält

  • notes   Eine Zeichenfolge von 50 Zeichen Länge, die Hinweise zur Bestellung enthält

  • status   Eine Zeichenfolge von 20 Zeichen Länge, die den Status der Bestellung enthält

In der konsolidierten Datenbank besitzt ULOrder folgende zusätzliche Spalte:

  • last_modified   Einen Zeitstempel mit dem Zeitpunkt der letzten Änderung der Zeile. Diese Spalte wird für die Synchronisation auf Zeitstempelbasis benutzt.

ULOrderIDPool

Die Tabelle ULOrderIDPool ist ein Primärschlüsselpool für ULOrder.

In der entfernten Datenbank besitzt ULOrderIDPool folgende Spalte:

  • pool_order_id   Eine Primärschlüsselspalte mit einer eindeutigen Ganzzahl, die die Bestell-ID angibt

In der konsolidierten Datenbank besitzt ULOrderIDPool folgende zusätzliche Spalten:

  • pool_emp_id   Eine Ganzzahlspalte, die die Mitarbeiter-ID des Eigentümers der entfernten Datenbank enthält, dem die Bestell-ID zugeordnet ist

  • last_modified   Einen Zeitstempel mit dem Zeitpunkt der letzten Änderung der Zeile.

ULCustomerIDPool

Die Tabelle ULCustomerIDPool ist ein Primärschlüsselpool für ULCustomer.

In der entfernten Datenbank besitzt ULCustomerIDPool folgende Spalte:

  • pool_cust_id   Eine Primärschlüsselspalte mit einer eindeutigen Ganzzahl, die die Kunden-ID angibt

In der konsolidierten Datenbank besitzt ULCustomerIDPool folgende zusätzliche Spalten:

  • pool_emp_id   Eine Ganzzahlspalte mit der Mitarbeiter-ID, die für einen neuen auf einer entfernten Datenbank erstellten Mitarbeiter verwendet wird.

  • last_modified   Einen Zeitstempel mit dem Zeitpunkt der letzten Änderung der Zeile.

Die folgenden Tabellen sind nur in der konsolidierten Datenbank enthalten:

ULIdentifyEmployee_nosync

Die Tabelle ULIdentifyEmployee_nosync ist nur in der konsolidierten Datenbank enthalten. Sie hat eine einzige Spalte:

  • emp_id   Eine Primärschlüsselspalte mit einer Ganzzahl, die die Mitarbeiter-ID angibt

ULEmployee

Die Tabelle ULEmployee ist nur in der konsolidierten Datenbank enthalten. Sie enthält eine Liste von Vertriebsmitarbeitern.

Die Tabelle ULEmployee hat die folgenden Spalten:

  • emp_id   Eine Primärschlüsselspalte mit einer eindeutigen Ganzzahlkennung für den Mitarbeiter

  • emp_name   Eine Zeichenfolge von 30 Zeichen Länge, die den Namen des Mitarbeiters enthält

ULEmpCust

Die Tabelle ULEmpCust steuert, welche Kundenbestellungen übertragen werden. Wenn der Mitarbeiter eine neue Kundenbestellung braucht, erzwingt die Eingabe der Mitarbeiter-ID und der Kunden-ID den Download der Bestellungen des betreffenden Kunden.

  • emp_id   Ein Fremdschlüssel für ULEmployee.emp_id

  • cust_id   Ein Fremdschlüssel für ULCustomer.cust_id. Der Fremdschlüssel umfasst emp_id und cust_id

  • action   Ein Zeichen, das ermittelt, ob ein Mitarbeiterdatensatz aus der entfernten Datenbank gelöscht werden soll. Wenn der Mitarbeiter die Bestellungen eines Kunden nicht mehr benötigt, sollte dieser Wert auf D (löschen) gesetzt werden. Wenn die Bestellungen noch gebraucht werden, sollte der Wert NULL sein.

    In diesem Fall muss eine logische Löschung verwendet werden, sodass die konsolidierte Datenbank feststellen kann, welche Zeilen aus der Tabelle ULOrder gelöscht werden sollen. Wenn die Löschungen übertragen wurden, können alle Datensätze für diesen Mitarbeiter mit dem Aktionswert D ebenfalls aus der konsolidierten Datenbank gelöscht werden.

  • last_modified   Einen Zeitstempel mit dem Zeitpunkt der letzten Änderung der Zeile. Diese Spalte wird für die Synchronisation auf Zeitstempelbasis benutzt.

ULOldOrder und ULNewOrder

Diese Tabellen sind nur in der konsolidierten Datenbank vorhanden. Sie dienen zur Konfliktlösung und enthalten dieselben Spalten wie ULOrder. In SQL Anywhere und Microsoft SQL Server handelt es sich dabei um temporäre Tabellen. In Adaptive Server Enterprise sind dies normale Tabellen und @@spid. DB2 LUW und Oracle haben keine temporären Tabellen. MobiLink muss daher feststellen können, welche Zeilen dem synchronisierenden Benutzer gehören. Da es sich um Basistabellen handelt, können fünf sychronisierende Benutzer jeweils eine Zeile in diesen Tabellen haben.

Weitere Hinweise zu @@spid finden Sie unter Variable.