Collection Contents Zurück Weiter PDF

MobiLink Benutzerhandbuch

Grundlagen der Synchronisation

Der Synchronisationsprozess

Referenzielle Integrität und Synchronisation


Alle MobiLink-Clients erzwingen beim Integrieren des Download-Datenstroms in der entfernten Datenbank die referenzielle Integrität.

Der MobiLink-Client löscht automatisch alle Zeilen, die die referenzielle Integrität verletzen, damit die Empfangstransaktion nicht fehlschlägt.

Diese Funktion sichert folgende wichtige Vorteile:

Referenzielle Integrität wird am Ende der Transaktion geprüft 

Der MobiLink-Client integriert die Änderungen aus dem Download-Datenstrom in einer einzigen Transaktion. Um eine größere Flexibilität zu erzielen, findet die Prüfung der referenziellen Integrität am Ende dieser Transaktion statt. Da die Prüfung mit einer gewissen Verzögerung stattfindet, befindet sich die Datenbank zeitweise unter Umständen in einem Zustand, in dem die referenzielle Integrität nicht gewährleistet ist, wenn Zeilen eingefügt, aktualisiert und gelöscht werden. Allerdings werden die Zeilen, die die referenzielle Integrität verletzen, vor dem Festschreiben automatisch gelöscht.

Fehler werden vermieden 

Der MobiLink-Client löst Verletzungen der referenziellen Integrität automatisch auf. Durch diese Funktion bleiben die Anforderungen an administrative Aufgaben auf ein Mindestmaß beschränkt. Außerdem wird auf diese Weise verhindert, dass ein Fehler in einem Synchronisationsskript einen MobiLink-Client deaktiviert.

Eine effiziente Methode zum Löschen von Zeilen 

Sie können den automatischen Mechanismus zur referenziellen Integrität in MobiLink-Clients dazu nutzen, große Datenmengen auf effiziente Art und Weise zu löschen. Falls der MobiLink-Client eine Primärzeile und andere Zeilen enthält, die diese Primärzeile referenzieren, können Sie alle referenzierenden Zeilen löschen, indem Sie die Primärzeile löschen und dann eine Synchronisation vornehmen.

Beispiel 

Angenommen, eine UltraLite-Verkaufsanwendung enthält u.a. die folgenden beiden Tabellen: Eine Tabelle enthält Aufträge. Eine andere Tabelle enthält Artikel, die in den einzelnen Aufträgen verkauft wurden. Sie haben folgende Beziehung:

An entity diagram showing UltraLite tables for sales_order and sales_order_items.

Wenn Sie den download_delete_cursor für die Tabelle sales_order (Auftrag) verwenden, um einen Auftrag zu löschen, dann löscht der integrierte Mechanismus automatisch alle Zeilen in sales_order_items (Auftragspositionen), die auf die gelöschten Bestellungen verweisen, um die referenzielle Integrität aufrechtzuerhalten.

Dieser Mechanismus bietet folgende Vorteile:


Collection Contents Zurück Weiter PDF