Sei sulla pagina 1di 4

SYSID

Identificatori univoci di sistema


Versione 1.00
di Rodolfo Calzetti (postmaster@rudyz.net
Si intenda per SISTEMA un data!ase" un server con molti data!ase" una rete aziendale
oppure l#intera Internet. $ straordinariamente utile saper %enerare de%li identificatori
univoci per l#intero sistema e di lun%&ezza asse%nata.
'e convenzioni utilizzate nel frame(or) Cambusa " e implementate nel componente
MONAD" sono illustrate di se%uito. *n identificatore %enerato da Monad + solitamente
c&iamato SYSID.
*n SYSID + costituito da tre parti di lun%&ezza fissa" ciascuna delle ,uali + un numero
scritto in base 36 usando le cifre 0-9 e le lettere A-Z" eventualmente fillato con zeri a
sinistra.
- 0 0 0 0 0 0 . 1 / 0 0 0 1
0ell#esempio a!!iamo s
0
1A" s
1
1000000K17 e s
2
10001.
'a concatenazione di s
0
e s
1
verr2 c&iamato prefisso univoco3 A000000K17.
Il sin%olo carattere s
0
+ la lunghezza del prefisso univoco3 A in !ase 45 1 10 caratteri.
'a strin%a s
1
1000000K17 + un progressivo della serie di lun%&ezza s
0
-1.
'a parte s
2
" il blocco libero" + %estita in modi diversi a seconda della finalit2.
Creare una %rande ,uantit2 di codici univoci sicuri (record ID come c&iavi
per popolare una ta!ella di data!ase.
*n elemento E c&iede al sistema (cio+ a 6onad nel caso dell#implementazione Cam!usa
un prefisso univoco di lun%&ezza 10. 6onad restituisce A000000K17 appo%%iandosi su
una propria ta!ella di data!ase c&e memorizza l#ultimo pro%ressivo %enerato della serie
di lun%&ezza 7. '#elemento E si memorizza il prefisso univoco per %enerare una serie di
identificatori ottenuti concatenando il prefisso stesso con un pro%ressivo di lun%&ezza
data espresso in !ase 45 e fillato con zeri.
Siccome il prefisso + univoco per l#intero sistema lo + anc&e l#identificatore completo.
I record ID sono una metodolo%ia fondamentale ,ualora si vo%lia implementare '-D
(Ligh!eigh A""ess # Daabases c&e consente di avere i risultati di una ,uery senza
ese%uire effettivamente la ,uery.
Creare identificatori per protocolli client8server (protocol ID.
Si otten%ono concatenando il prefisso univoco con !locc&i di ,uattro cifre alfa ciascuno
i ,uali codificano numeri causali compresi tra 0 e 15/7519 espressi in !ase 45.
I protocol ID &anno l#univocit2 %arantita dal prefisso e l#imprevedi!ilit2 data dai !locc&i
casuali.
Creare un catalo%o di codici parlanti e prefissati (constant ID per
individuare record di sistema precaricati.
:onendo s
0
10 si intende rinunciare al pro%ressivo s
1
della serie univoca e %estire ;a
mano< l#unicit2 de%li identificatori a%%iun%endo !locc&i s
2
prefissati e catalo%ati.
=uesta %estione dei SYSID serve ,uando si vuole precaricare un data!ase con o%%etti i
cui identificatori siano noti a priori indipendentemente dallo stato dei pro%ressivi
ero%ati dal gestore degli identificatori univoci di sistema (6onad" nel caso di Cam!usa.
:er esempio" se volessimo precaricare nel data!ase delle causali di vendita e di ac,uisto
in modo c&e siano individuate da identificatori parlanti di lun%&ezza 1>" potremmo
sce%liere 0$A%S&ENDITA00 e 0$A%SA$'%ISTO03 lo zero scelto come lun%&ezza del
prefisso + una convenzione per riconoscere %li identificatori costanti (sare!!e andato
!ene anc&e il carattere 1.

Quest'opera di RODOLFO CALZETTI (http://www.rudy.!et" e #e idee i$i %o!te!ute so!o state ri#as%iate %o! #i%e!a
CREATI&E CO''O() ATTRI*+ZIO(E , CO(DI&IDI ALLO )TE))O 'ODO -.. ITALIA.
/er #e00ere u!a %opia de##a #i%e!a $isita i# sito we1 http://%reati$e%o22o!s.or0/#i%e!ses/1y,sa/-../it/ o spedis%i u!a
#ettera a Creati$e Co22o!s3 454 )e%o!d )treet3 )uite -..3 )a! Fra!%is%o3 Ca#i6or!ia3 784.93 +)A.