Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda de concepto, ¿como crear una clave compuesta autoincremental?

Estas en el tema de Duda de concepto, ¿como crear una clave compuesta autoincremental? en el foro de Bases de Datos General en Foros del Web. Hola a todos, he estado buscando información sobre este asunto de las claves compuestas, pero no he conseguido encontrar nada que me resuelva la duda. ...
  #1 (permalink)  
Antiguo 20/10/2010, 05:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 12 años, 4 meses
Puntos: 0
Duda de concepto, ¿como crear una clave compuesta autoincremental?

Hola a todos, he estado buscando información sobre este asunto de las claves compuestas, pero no he conseguido encontrar nada que me resuelva la duda.
La cuestión es que tengo una tabla, por ejemplo de pedidos, los pedidos van ha almacenarse secuencialmente de acuerdo a la categoria del producto pedido, esto es la categoria verduras(VER) va ha llevar una secuencia distinta de frutas(FRU) y habría que incluir el año. El codigo de pedido quedaria asi PXXABC000N, donde XX es el año ABC sería la categoría VER o FRU y N seria el número secuencial.

Por ejemplo tendriamos.

P10VER0001
P10FRU0001
P10VER0002
P10VER0003
P10FRU0002

¿como se implementa esto en la base de datos?¿cual sería la clave primaria?
  #2 (permalink)  
Antiguo 20/10/2010, 05:55
Avatar de blekia  
Fecha de Ingreso: julio-2009
Mensajes: 204
Antigüedad: 13 años
Puntos: 6
Respuesta: Duda de concepto, ¿como crear una clave compuesta autoincremental?

yo pondria una clave primaria diferente del numero de pedido o factura, por ejemplo:

id -> VARCHAR(16)
year-> TINYINT
categoria -> VARCHAR(3)
pedido -> INT o BIGINT

el ID lo puedes generar con md5 y crear una funcion que genere un ID unico.

para verificar cual es el siguiente no de pedido pondrias un SELECT FROM pedidos WHERE categoria='XXX' ORDER BY pedido DESC LIMIT 0,1

Esto te devolvera el ultimo pedido de dicha categoria, incrementas en 1 y listos
__________________
Controla tu Página Web con cualquier navegador.
  #3 (permalink)  
Antiguo 20/10/2010, 07:53
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Duda de concepto, ¿como crear una clave compuesta autoincremental?

Cita:
Iniciado por blekia Ver Mensaje
yo pondria una clave primaria diferente del numero de pedido o factura, por ejemplo:

id -> VARCHAR(16)
year-> TINYINT
categoria -> VARCHAR(3)
pedido -> INT o BIGINT

el ID lo puedes generar con md5 y crear una funcion que genere un ID unico.

para verificar cual es el siguiente no de pedido pondrias un SELECT FROM pedidos WHERE categoria='XXX' ORDER BY pedido DESC LIMIT 0,1

Esto te devolvera el ultimo pedido de dicha categoria, incrementas en 1 y listos
Perdona pero no lo veo, soy novato en el tema. Lo que si tengo claro es que cada registro quedaria identificado por el patrón que te he comentado de PXXABC000N. Este codigo se generaria cuando le dices en un listbox del formulario si ABC es VER o FRU y metes todos los datos requeridos para el nuevo pedido y le das al boton generar pedido, entonces a ese pedido se le asigna un numero.
  #4 (permalink)  
Antiguo 21/10/2010, 10:51
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Duda de concepto, ¿como crear una clave compuesta autoincremental?

Alguien que trabaje con claves compuestas incrementales y me pueda orientar? Seguro que estais hartos de ver claves de este tipo que relacionen fechas con campos numericos que se vayan incrementando a medida que se van generando los nuevos.

Etiquetas: clave, compuesta, concepto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:34.