Quando è sicuro usare ObjectID come chiavi in ​​una classe di relazione?


14

Ho sempre evitato di usare gli ObjectID durante la definizione delle classi di relazione. Comprendo che alcune azioni su un geodatabase reimposteranno gli ID oggetto (come l'importazione / esportazione). Tuttavia vedo molte persone che li usano.

Sono solo paranoico o ci sono casi in cui è sicuro usare ObjectID durante la definizione di una classe di relazione?

Risposte:


16

Gli ObjectID sono gestiti solo da Copia / Incolla. Nessuno strumento di importazione o esportazione li mantiene. In genere non è consigliabile utilizzare ObjectID nelle classi di relazione. Se tutti i tuoi dati sono veramente statici, dovrebbero funzionare bene, ma ci sarà sempre un rischio quando importi o esporti i dati.


4

Quando possibile, baso le relazioni su altri campi chiave. L'uso di ObjectID mi ha presentato problemi in passato per le ragioni esatte menzionate da Lance. Nei progetti in cui i dati vengono trasferiti avanti e indietro tra il nostro server SDE e un server client, l'utilizzo dell'ObjectID per le relative tabelle significa dover eseguire varie macchinazioni sulle tabelle per mantenere le relazioni.

Anche se il loro non è un piano per spostare i dati, preferisco comunque utilizzare un campo diverso per le chiavi. La mia esperienza è che i clienti di solito non comprendono appieno le implicazioni delle loro azioni sui database GIS e spesso rompono le cose senza accorgersene. Ho avuto casi in cui i client spostano i dati in modi che alterano l'ObjectID. I miei progetti prevedono in genere un codice personalizzato da associare al database e non mi piace fare affidamento sulla comprensione del sistema da parte dei clienti per evitare errori. Quindi, preferisco di gran lunga usare altri campi per le chiavi primarie e per le relazioni, campi che posso controllare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.