Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2016, 08:43
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: duda con AUTO_INCREMENT

No se comprende tu duda...
Primero, cada inserción genera un valor diferente, por lo que la duplicidad es imposible. Por otro, hay una función para recuperar el id autogenerado, por o que realizar la consulta que dices es innecesario.
No veo por donde tienes el problema.

Partamos de la base que el consultar "el maximo ID", sólo aplica si tienes un sistema sin concurrencias, es decir de un único usuario, cosa improbable en el escenario que describes. Y aún así, sólo se puede usar esa opción para generar el alta en la tabla TIENDA, exclusivamente. Lugo de esa alta debes haber recobrado el ID autogenerado por medio de LAST_INSERT_ID() inmediatamente, o bien programáticamente con la librería que accede a esa misma función (depende del lenguaje).
El poblado de las restantes tablas dependerá del valor ya recuperado en ese paso, y NO PUEDES hacerlo en etapas posteriores, A MENOS que tengas una query que te permita identificar unívocamente a la tienda que quieres relacionar.

¿Se va entendiendo)

En realidad, la mejor opción es NO USAR un AI, sino que la PK sea un identificador propio de la tienda en cuestión, por ejemplo su registro de identificación tributaria (del nombre de ese código dependerá del pais que lo aplica, en Argentina es el CUIT y el numero de registración comercial). DE ese modo no dependes de un ID autogenerado y su PK sería única en todo el universo de ,tiendas posible.

¿Va quedando claro?

Los ID autoincrementales son una herramienta para parchar un problema de desarrollo, y fundamentalmente por tradición heredada, no vinculada con el modelo relacional. De hecho sólo se aconseja el uso de ID incrementales si luego de llegar a la 3FN en la normalización de una BBDD, no se ha encontrado una clave candidata para identificador en una tabla dada.
Pero quiero que quede claro que ese tipo de identificadores numéricos incrementales no son parte del modelo relacional.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 23/04/2016 a las 10:16