ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: DBC to SQLserver -- champs uniqueID   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

mer. 18 novembre 2015, 09h17
OlivierH
atoutfox.public.association

Re: DBC to SQLserver -- champs uniqueID

Bonjour Thierry


Pour compléter ce que dit michel :

1- j'ai utilisé l'upsizing de michel, il corrige des bugs que sedna ne
gère pas, ca fait longtemps mais je crois de mémoire les varchar(max) et
autre correspondances de champs. Donc il est plus sur et en plus tu as
accès aux sources.

2- L'uniqueIdentifier est utilisé dans le cadre ou tu as plusieurs App
différentes qui utilise la même base. C'est sous le format d'un Guid et
non de 10car, cela t'assure plus de securité sur l'unicité de la ligne.

Par exemple si tu as une app smartphone android ou ios qui discute en
RestApi avec ton sqlserver, et que cess app sont dites deconnecté et que
tu synchronises ta base avec une base local cela peut être utile.
Sinon int ou bigint suffit à la plupart des besoins.


https://msdn.microsoft.com/fr-fr/library/ms187942%28v=sql.120%29.aspx

http://stackoverflow.com/questions/1151625/int-vs-unique-identifier-for-id-field-in-database

ps : dans mon appli fox : j'avais des clés en char sur 12 car, j'ai mis
en place les int dans mes tables, afin de garder les deux mecanismes
pour une retro compatibilité avec mon appli lan fox.
Mais sur sqlserveur tous les id sont en clé primaire, ainsi que les
tables etrangère en int, cela sert juste à l'appli fox en lan pour
rechercher ses petits.

J’espère d'avoir aidé à choisir la bonne solution.

Olivier,





Le 17/11/2015 21:09, Michel L?vy a écrit :
> Bonsoir Thierry,
>
> quelques pistes:
>
> 1) j'ai traduit et corrigé l'upsizing wizard il y a 7 ans de ça, tu ferais mieux de traiter ton besoin spécifique dans le code source disponible sur CodePlex (http://vfpx.codeplex.com/downloads/get/59511)
>
> 2) du point de vue du moteur de SQL server, les clés primaires en uniqueidentiifer sont toujours moins performantes que celles en entiers autoincrémentés (c'est du à la structure physique des index clustered)
>
> 3) si toutefois tu veux absolument cette transposition, alors regarde ce que tu peux faire avec la table typemap.dbf qui est incluse dans l'upsizing wizard. Mais je pense que tu n'as rien à y gagner par rapport à tes C(10). tu peux parfaitement choisir d'avoir des clés primaires attribuées par l'application cliente, et conserver ton attribution de sys(2015)
>
> 4) en SQL, les clés primaires sont des définitions structurelles, et l'upsizing wizard peut te générer ce DDL. Attention à bien préciser que tu veux une RI déclarative (structurelle), et non pas procédurale (dans les triggers, beaucoup plus lent et générateur potentiel de deadlocks)
>
>
>
>
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000016884
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :


www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3