In einem Synchronisationssystem ist der Primärschlüssel einer Tabelle die einzige Möglichkeit, eine Zeile in einer anderen Datenbank eindeutig zu identifizieren, und die einzige Möglichkeit, Konflikte zu erkennen. Jede für die mobile Verwendung eingerichtete Tabelle muss einen Primärschlüssel haben. Der Primärschlüssel darf nie geändert werden. Sie müssen außerdem sicherstellen, dass ein in einer Datenbank eingefügter Primärschlüsselwert in keiner weiteren Datenbank eingefügt wird.
Voraussetzungen
In dieser Lektion wird davon ausgegangen, dass Sie bereits alle vorherigen Lektionen abgeschlossen haben. Siehe Lektion 1: Planen von Schemata.
In dieser Lektion wird davon ausgegangen, dass Sie die Rollen und Privilegien besitzen, die im Abschnitt "Berechtigungen und Privilegien" am Anfang dieser praktischen Einführung aufgeführt werden: Praktische Einführung: MobiLink mit einer Oracle 10g-Datenbank verwenden.
Kontext und Bemerkungen
Es gibt mehrere Möglichkeiten, eindeutige Primärschlüssel zu generieren. Der Einfachheit halber wird in dieser praktischen Einführung die Methode der zusammengesetzten Primärschlüssel verwendet. Diese Methode erstellt Primärschlüssel mit mehreren Spalten, die in konsolidierten und entfernten Datenbanken eindeutig sind.
Führen Sie an der Eingabeaufforderung folgenden Befehl aus:
sqlplus SYS/your password for sys as SYSDBA |
Werte, die der SALES_REP_ID hinzugefügt werden, müssen in der Tabelle HR.EMPLOYEES vorhanden sein. Der Fremdschlüssel ORDERS_SALES_REP_FK erzwingt diese Regel. Führen Sie die folgende Anweisung zum Löschen der Fremdschlüssel aus:
ALTER TABLE OE.ORDERS DROP CONSTRAINT ORDERS_SALES_REP_FK; |
Die Spalte SALES_REP_ID kann nicht als Primärschlüssel hinzugefügt werden, da sie Nullwerte enthält. Für diese praktische Einführung ersetzen Sie die Nullwerte durch den Wert 1. Führen Sie die folgende Anweisung aus:
UPDATE OE.ORDERS SET SALES_REP_ID = 1 WHERE SALES_REP_ID IS NULL; |
Die Spalte ORDER_ID ist der aktuelle Primärschlüssel der Tabelle ORDERS. Löschen Sie den aktuellen Primärschlüssel mit der folgenden Anweisung:
ALTER TABLE OE.ORDERS DROP PRIMARY KEY CASCADE; |
Der zusammengesetzte Primärschlüssel umfasst die Spalten SALES_REP_ID und ORDER_ID. Fügen Sie den zusammengesetzten Primärschlüssel mit der folgenden Anweisung hinzu:
ALTER TABLE OE.ORDERS ADD CONSTRAINT salesrep_order_pk PRIMARY KEY (sales_rep_id, order_id); |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |