Grundlagen der 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:
Schutz vor Fehlern in den Synchronisationsskripten. Aufgrund der Flexibilität der Skripten ist es möglich, dass ungewollt ein Download von Zeilen erfolgt, die die Integrität der Datenbank verletzen würden. Der MobiLink-Client bewahrt automatisch die referenzielle Integrität, ohne dass ein Eingriff von außen erforderlich wird.
Sie können diesen Mechanismus zur referenziellen Integrität einsetzen, um Daten aus einer entfernten Datenbank effizient zu löschen. Wenn Sie einen Löschvorgang für einen übergeordneten Datensatz senden, entfernt der MobiLink-Client automatisch alle untergeordneten Datensätze. Damit wird das von MobiLink an die entfernte Datenbank zu übertragende Verkehrsaufkommen erheblich reduziert.
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.
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.
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.
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:
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:
Sie benötigen kein sales_order_items-Skript, da die betreffenden Zeilen dieser Tabelle automatisch gelöscht werden.
Die Effizienz der Synchronisation wird verbessert. Sie brauchen den Download der aus der Tabelle sales_order_items zu löschenden Zeilen nicht vorzunehmen. Wenn die einzelnen Bestellungen mehrere Artikel enthalten, wird dadurch die Performance gesteigert, da der Download-Datenstrom nun kleiner ist. Diese Technik ist dann besonders hilfreich, wenn relativ langsame Verbindungen verwendet werden.
SQL Anywhere Studio 9.0.1
Copyright © 1989–2004 Sybase Inc. Teil-Copyright © 2001–2004 iAnywhere Solutions Inc. Alle Rechte vorbehalten.