Comme ce n'est pas une bonne idée d'utiliser les ObjectID comme clés primaires dans les relations, une autre colonne devra être utilisée. Est-il possible d'utiliser des séquences de SGBD pour remplir des colonnes de clé primaire dans des classes de fonctionnalités versionnées, ou devrai-je écrire du code arcobjects pour ce faire?
J'ai entendu dire que les identifiants globaux pouvaient être utilisés , mais les administrateurs de bases de données non SIG ne gèrent souvent pas cette idée.
enterprise-geodatabase
esri-geodatabase
database-design
Kirk Kuykendall
la source
la source
Réponses:
Oui, c'est possible - avec quelques mises en garde.
Vous pouvez le faire avec des déclencheurs - mais l'implémentation sera spécifique au SGBD (puisque vous devrez implémenter un déclencheur AFTER INSERT différent en utilisant le mécanisme (spécifique) de la base de données sous-jacente.
Vous ne pourrez pas spécifier de contrainte UNIQUE d'aucune sorte sur ce champ car les insertions et les tables de base peuvent potentiellement avoir des entrées en double pour chaque ligne que vous modifiez (c'est ainsi que les mises à jour sont modélisées dans les bases de données versionnées). Si vous faites l'erreur de le faire sur la table de base, vous finirez par le réaliser lorsque vos opérations de compression commenceront à échouer ...
la source