Anar al contingut

Clau substituta

De L'Enciclopèdia, la wikipedia en valencià

Una clau substituta o clau artificial en una base de senyes és un identificador únic per a una entitat en el món real o modelació o per a un objecte en la base de senyes. Al contrari que la clau natural, la clau substituta no deriva de les senyes d'una aplicació.

Definició

[editar | editar còdic]

Hi ha a lo manco dos definicions d'una substituta:

Substituta (1) – Hall, Owlett i Todd (1976)
Una substituta representa una entitat en el món exterior. La substituta es genera internament pel sistema pero mai és visible per a l'usuari o l'aplicació.[1]
Substituta (2) – Wieringa i De Jonge (1991)
Una substituta representa un objecte en la pròpia base de senyes. La substituta es genera pel sistema i és invisible a l'usuari o l'aplicació.

La definició Substituta (1) fa referència al model de senyes més que a un model d'almagasenament i és l'utilisat en este artícul.

Una important diferència entre una substituta i una clau primària depén de si la base de senyes és actual o temporal. Si una base de senyes actual només almagasena informació vàlida actual, hi ha una correspondència un-a-un entre la substituta del món modelat i la clau primària de la base de senyes. En este cas, la substituta pot utilisar-se com a clau primària, resultant en el terme clau substituta. No obstant, en una base de senyes temporal, hi ha una relació de moltes-a-una entre claus primàries i la substituta. Des de que pot haver varis objectes de la base de senyes corresponent a una única substituta, no es pot utilisar la substituta com a clau primària; necessitant un atre atribut a afegir a la substituta per a identificar de forma única cada objecte.

Encara que Hall et al. (1976) no diu res sobre açò, uns atres han argumentat que una substituta deuria tindre les següents característiques:

  • El valor és únic en el sistema i per lo tant, mai reutilisat
  • El valor està generat pel sistema
  • El valor no és manipulable ni per l'usuari ni per l'aplicació
  • El valor no conté cap significat semàntic
  • El valor no és visible per a l'usuari o l'aplicació
  • El valor no es compon de varis valors de diferents dominis

Substitutes en la pràctica

[editar | editar còdic]

En una base de senyes actual, la clau substituta pot ser la clau primària, generada pel sistema de gestió de bases de senyes i no deriva de les senyes de cap aplicació. L'única missió de la clau substituta és actuar com a clau primària. També és possible que una clau substituta existixca com a adició a una UUID generada per la base de senyes.

Freqüentment, una clau substituta és un número seqüencial (p.ej. una columna d'identitat de Sybase o SQL Server, un número de série en PostgreSQL o Informix, una SEQUENCE en Oracle o una columna definida en AUTO_INCREMENT en MySQL). Algunes bases de senyes proporcionen UUID com a tipo de senyes possible per a claus substitutes (p.ej. POSTRESQL UUID (anglés)).

Tindre una clau independent de totes les demés columnes, aïlla les relacions de la base de senyes dels canvis en els valors de l'informació o del disseny de la base de senyes (fent que siga més àgil) i garantisant la singularitat.

ClaveSustituta ClaveNegocio NombreEmpleado HorasPorSemana Des de - 1 BOS0120 John Smith 40 01-01-2000 31-12-2000
56 P0000123 Bob Brown 25 01-01-1999 31-12-2011
234 BOS0120 John Smith 35 01-01-2001 31-12-2009

Alguns dissenyadors de bases de senyes utilisen claus substitutes de forma sistemàtica sense tindre en conte l'idoneïtat d'atres claus candidates, mentres que uns atres usaran una clau ya existent en les senyes, si existix.


Una clau substituta també pot cridar-se una clau sintètica, un identificador d'entitat, una clau generada pel sistema, un número seqüencial de base de senyes, una clau tècnica, un identificador únic arbitrari. Alguns d'estos térmens descriuen la forma en la que es generen nous valors de substitució més que la naturalea del concepte de substitució.

Aproximacions de generació de substitutes inclouen:


Referències

[editar | editar còdic]