Hola, tengo una duda existencial y no es sobre qué hay después de la muerte. Igual mis conocimientos de Bases de Datos están obsoletos pero no veo claro el uso de un campo auto_increment como clave primaria para una tabla. Os explico:
 
Ya tengo una tabla cuya clave primaria es un varchar que pensaba que sería único (EQUIPO):
EQUIPO - CATEGORIA
Equi1    - Junior
Equi2    - Junior
Equi3    - Senior
 
Bien, ahora tengo que meter un nuevo campo "supervisor de equipos" por lo que puede haber casos de existir el mismo equipo - Categoria
 
EQUIPO - CATEGORIA - SUPERVISOR
 Equi1    - Junior         - super1 
Equi2    - Junior         - super1
Equi3    - Senior        - super1
 Equi1    - Junior     - super2
 
Supongo que declarando clave primaria (equipo,categoria,supervisor) MySQL garantizará que no existan claves duplicadas pero por comodidad para mí, me resultaría más sencillo tener una clave primaria auto_increment ya que luego tengo que utilizar esa clave primaria en otra tabla como foreign key y veo más fácil utilizar un sólo campo que 3 (equipo,categoria,supervisor).
 
Así que mi idea de la tabla queda:
 
ID - EQUIPO - CATEGORIA - SUPERVISOR
1 - Equi1    - Junior         - super1 
2 - Equi2    - Junior         - super1
3 - Equi3    - Senior        - super1
4 - Equi1    - Junior     - super2
 
 
Según veo, ahora tengo que declarar como clave primaria ID o bien (id,equipo,categoria,supervisor). Declare como declare la clave primaria he visto que puedo hacer inserciones "malintencionadas" en la BD ya que el ID es autoincrement y nunca existirán claves duplicadas: Ejemplo:
 
4 - Equi1    - Junior     - super2
 5 - Equi1    - Junior     - super2
 
Obviamente, puedo comprobar antes que no existan estos 3 campos repetidos (equipo,categoria,supervisor) pero ¿Cual sería la mejor manera de declarar la clave primaria y saber que MySQL me garantice que no existan claves duplicadas?
 
Un saludo. 
   
 


 Re: Duda sobre Claves primarias auto_increment
 Re: Duda sobre Claves primarias auto_increment  
  
 
