Campo identity o autonumérico

13/05/2009 - 23:37 por Alexa | Informe spam
Ante algo simple tengo una duda grande con este tipo de campo AUTONUMERICO ,
pues no le encuentro mayor utilidad y menos cuando este tipo de campo se
pone como CLAVE PRIMARIA. La única utilidad que le encuentro es que se
autoicremente automáticamente en una cantidad que le podemos indicar.
En esto sentido, agradeceré me indiquen lo más ampliamente posible ¿ cuando
es realmente conveniente utilizar este tipo de campo y cuales son las
ventajas de su uso ?

Nota: incluso cuando se elimina un registro que tiene campo identity, el
valor contenido en él se pierde pues ya no se puede o es extremadamente
complicar volver a reenumerar .

Preguntas similare

Leer las respuestas

#1 Maxi
14/05/2009 - 13:42 | Informe spam
Alexa, tienen bastante utilidad este tipo de datos, por ejemplo cual se
crean tablas subrogadas, imaginate que tenes una tabla donde guardas
articulos, y luego tenes otra tabla con las ventas de ese articulo. Bien
empezas a trabajar y vendes 100 articulos donde el color era rojo, luego de
esos 100 alguien decide que para el mismo codigo de articulos el color de
fabricacion es amarrillo, vos haces un update a la tabla articulos verdad?
bueno si haces esto y por otro lado no tenes una tabla donde tengas dos id
internos uno con rojo y el otro con amarillo perderias el control de que
ventas se hicieron con uno y con otro.
Aca las identity te pueden ayudar mucho.

Otro ejemplo seria que vos tengas tu cabecera de factura y tu detalle, si
como pk pones el numero de la factura y luego lo queres cambiar teniendo
hijos (detalles) tendrias que tener en cascada las FK, una opcion seria
armar un id autonumerico y que tu pk sea ese id y con el numero de factura
simplemente pones un indice unico.

Bueno asi como esto hay muchos mas casos donde son utiles.

Yo en donde no los uso: Cuando debo mostrar el dato al usuario ya que el
identity no soporta transacciones, por ejemplo si queres numerar
comprobantes o clientes con autonumericos y ese dato lo usa el usuario tenes
problemas que como no soporta transacciones (si hay un rollback el numero se
pierde y no lo vuelve a usar) te quedarian huecos en tu numeracion.

Yo te recomendaria que bajes ejemplos de condeplex de Ms sobre todo la base
de datos de Datawarehouse de sql 2005 o 2008 y ahi veras mas claro la
implementacion del primer caso que te explique en varias tablas de
dimensiones.





Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server
http://blog.maxiaccotto.com



" Alexa" escribió en el mensaje de
noticias:
Ante algo simple tengo una duda grande con este tipo de campo AUTONUMERICO
, pues no le encuentro mayor utilidad y menos cuando este tipo de campo se
pone como CLAVE PRIMARIA. La única utilidad que le encuentro es que se
autoicremente automáticamente en una cantidad que le podemos indicar.
En esto sentido, agradeceré me indiquen lo más ampliamente posible ¿
cuando es realmente conveniente utilizar este tipo de campo y cuales son
las ventajas de su uso ?

Nota: incluso cuando se elimina un registro que tiene campo identity, el
valor contenido en él se pierde pues ya no se puede o es extremadamente
complicar volver a reenumerar .

Respuesta Responder a este mensaje
#2 Alexa
15/05/2009 - 16:11 | Informe spam
Mil gracias Maxi, me quedó mucho más claro.

"Maxi" escribió en el mensaje
news:
Alexa, tienen bastante utilidad este tipo de datos, por ejemplo cual se
crean tablas subrogadas, imaginate que tenes una tabla donde guardas
articulos, y luego tenes otra tabla con las ventas de ese articulo. Bien
empezas a trabajar y vendes 100 articulos donde el color era rojo, luego
de esos 100 alguien decide que para el mismo codigo de articulos el color
de fabricacion es amarrillo, vos haces un update a la tabla articulos
verdad? bueno si haces esto y por otro lado no tenes una tabla donde
tengas dos id internos uno con rojo y el otro con amarillo perderias el
control de que ventas se hicieron con uno y con otro.
Aca las identity te pueden ayudar mucho.

Otro ejemplo seria que vos tengas tu cabecera de factura y tu detalle, si
como pk pones el numero de la factura y luego lo queres cambiar teniendo
hijos (detalles) tendrias que tener en cascada las FK, una opcion seria
armar un id autonumerico y que tu pk sea ese id y con el numero de factura
simplemente pones un indice unico.

Bueno asi como esto hay muchos mas casos donde son utiles.

Yo en donde no los uso: Cuando debo mostrar el dato al usuario ya que el
identity no soporta transacciones, por ejemplo si queres numerar
comprobantes o clientes con autonumericos y ese dato lo usa el usuario
tenes problemas que como no soporta transacciones (si hay un rollback el
numero se pierde y no lo vuelve a usar) te quedarian huecos en tu
numeracion.

Yo te recomendaria que bajes ejemplos de condeplex de Ms sobre todo la
base de datos de Datawarehouse de sql 2005 o 2008 y ahi veras mas claro la
implementacion del primer caso que te explique en varias tablas de
dimensiones.





Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server
http://blog.maxiaccotto.com



" Alexa" escribió en el mensaje de
noticias:
Ante algo simple tengo una duda grande con este tipo de campo
AUTONUMERICO , pues no le encuentro mayor utilidad y menos cuando este
tipo de campo se pone como CLAVE PRIMARIA. La única utilidad que le
encuentro es que se autoicremente automáticamente en una cantidad que le
podemos indicar.
En esto sentido, agradeceré me indiquen lo más ampliamente posible ¿
cuando es realmente conveniente utilizar este tipo de campo y cuales son
las ventajas de su uso ?

Nota: incluso cuando se elimina un registro que tiene campo identity, el
valor contenido en él se pierde pues ya no se puede o es extremadamente
complicar volver a reenumerar .

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida