Gracias por tu respuesta.
Te resumo como quiero que quede con el nivel de detalle posible:
primeratabla idtabla1 -
int UNSIGNED AUTOINCREMENT - PRIMARY
otrocampo
yotro
segundatabla idtabla2 -
smallint(3) UNSIGNED AUTOINCREMENT - PRIMARY
uncampomas
unomas
relacion-primeratabla-segundatabla idtabla1 -> primeratabla.idtabla1 ON DELETE RESTRICT ON UPDATE CASCADE -
int UNSIGNED - FOREIGN
idtabla2 -> segundatabla.idtabla2 ON DELETE RESTRICT ON UPDATE CASCADE -
smallint(3) UNSIGNED - FOREIGN
[Juntas son la llave primaria:
idtabla1,idtabla2 - PRIMARY]
Como te comentaba, he usado muchas combinaciones para hacerlo:
- Crear la tabla con las llaves foráneas y primaria.
- Crear la tabla (relacion-primeratabla-segundatabla) sin llaves. Luego crear las llaves.
- etc.
Asumiento lo anterior, y que las tablas son sencillas, no se si sería inapropiado preguntarte
¿como crearías tu la tabla y las relaciones en MySQL? (Sería crear la tabla '
relacion-primeratabla-segundatabla' y sus relaciones, las otras dos tablas no tienen problema.)
Sobre las condiciones que comentas, todas se cumplen.
Aunque la 3. no estoy seguro de entenderla muy bien; entiendo que si quisiera apuntar a una llave primaria compuesta (ejp:
idtabla1,idtabla2) debo hacerlo con ambos campos (iguales, tipo y todo eso). Entendiéndolo así no creo querer esto, sino lo inverso, apuntar cada campo de la llave a su correspondiente tabla y llave primaria.
Gracias de antemano.