Zitat von
Jasocul:
Ich benutze grundsätzlich eine ID als PK.
Meinst Du mit ID einen Integer oder eine
GUID
Ich habe auch schon mit Systemen gearbeitet in denen alle Primärschlüssel so aussahen:
Code:
c2755174-b4f7-4662-85b2-8579c851d48b
Also eine
GUID.
Da diese weltweit einmalig ist, kann man relativ leicht Syncronisationen von mehreren dezentral laufenden
SQL Servern durchführen. Die PKs sind ja weltweit einmalig, also können Datensätze einfach "hinzukopiert" werden.
Zu jedem Datensatz wird noch eine Timestamp gespeichert, dann kann man mit
SQL-Code:
insert into TABELLE from
select * from TABELLE@REMOTEHOST
where TIMESTAMP_FIELD > :TIMSTAMP_OF_LAST_SYNC
einen Abgleich starten.
Dumm nur, das eine
GUID im VARCHAR2 oder CHAR nicht so performant ist wie ein Integer
[edit]
Das macht aber auch z.B. Sinn wenn die Clients auch offline Daten erfassen können, die dann erst mal lokal gespeichert werden und später mit dem Server syncronisiert werden.
[/edit]