Cuando era pequeño, en Argentina llamaban Combinados a equipos de audio que podían reproducir discos de vinilo y también podían reproducir radio (Amplitud Modulada!!!).
Pero coincido con Antonio debemos aprender:
Aqui algo para ver:
He tenido que desarrollar sistemas donde la única solución era usar AI porque los datos al momento de comenzar la carga no tenían datos para componer claves naturales.
Si hoy tuviera que rediseñar el sistema, reemplazaría los AI por otro tipo de algoritmo para generar la clave artificial, porque el problema de carga sigue siendo igual.
He tenido sistemas con AI funcionando por 20 años algunos (en fox uno por 15) usando AI sin mayores problemas, pero sin necesidad de consolidar datos.
Desde el punto de vista de proceso físico un AI ocupa muy poco espacio y por ello es inherente-mente rápido.
La solución de que en myisam anda pero no en innodb es un palo en contra de la justificación de usar AI, myisam no soporta transacciones (VFP con dbf si lo soporta). myisam, para sistemas comerciales no es de fiar, que lo usen va por desconocimiento (Ojo, en sistemas que no manejan operaciones con dinero, simplemente acumulan registros, lo he usado sin problemas).
Las claves sustitutas o artificiales son necesarias, pero cuando son necesarias, no siempre, no para todo.
Ejemplo, tengo datos de clientes con AI, CUIT es identificador personal del cliente otorgado por el estado.
Cliente = {id, CUIT, apel, nombre, etc.}, donde PK, UNIQUE (negrita subraya es primaria, negrita solo es UNIQUE)
por regla de negocio, CUIT no puede repetirse, no puede faltar.
Esto implica tener dos indices, por id y por CUIT ya que es la única forma de evitar CUIT duplicado, el sistema la PK la resuelve sin problemas pero además debe validar el índice UNIQUE. Doble proceso.
En ese caso no es la mejor solución.
Tengo un sistema con datos que guarda noticias, las noticias no tienen datos que puedan crear una clave natural
Ahí, indefectiblemente tengo que usar una clave artificial. Lo mas simple usar AI
Si tengo que consolidar dos tablas de noticias, no hay problema si tengo que regenerar los AI, si hay datos en archivos vinculados se puede complicar un poco pero no es esencial
Por lo tanto, que usar depende del sistema, ninguna solución es única, alguna puede ser mejor que otra, alguna puede ser más problemática, pero cuando eliges una solución, debes estar abierto a usar la que corresponde.
Saludos: Miguel