Ver Mensaje Individual
  #5  
Antiguo 30-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Cita:
Empezado por einarcito Ver Mensaje
muchas gracias a caral y a delphiusss buenos consejos para realziar la practica ya lo he resuelto al problema, muchas graciassss ahora una ultima pregunta, me conviene q mi tabla 1 en el id(pk) sea de tipo auto incremente y la (fk) de la tabla 2 tmb?? porq si no lo definiera asi me daria error cunado quisiera ingresar un datos con el mismo id... TENKUUU
Nunca en mi vida vi un FK que sea autoincremental. Razonandolo un poco... ¿como va a adivinar el motor a que registro maestro le pertenece? Si el campo FK de la tabla esclava es autoincremental tendrás un gran y divino lio de cocos: registros esclavos asociados a registros maestros posiblemente inexistentes.

Un ejemplo:
1. Ingresas un registro maestro: PK = 1.

Necesitas ingresar a dicho registro maestro tres esclavos. Veamos añadimos:
1. Agreamos el primer registro: PK = ?, FK = 1
2. Agregamos el segundo registro. OK = ? + ?, FK = 2 ¡Error! No se ha encontrado un registro correspondiente en la tabla maestra.

Un campo ID no necesariamente debe ser incremental. Por ello el signo de preguntas.

Como debes intuir, depende de otras cuestiones, necesidades y en ciertos casos por el gusto de cada uno.

Si empleas autoincrementales no debes agregar en la consulta dicho campo. El motor solito se encarga de asignarle valor.

Como dice el amigo Caral: No importa si están o no relacionadas. Si no estan relacionadas las tablas mediante PK y FK, el motor no protesta. Protesta en caso de que SI estén relacionadas y se rompa el principio de integridad referencial. ¿Está ahora más claro? Espero que si.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita