1ª pregunta:
http://dev.mysql.com/doc/refman/5.0/es/describe.html http://dev.mysql.com/doc/refman/5.0/...formation.html
2ª pregunta
No sé cual es tu objetivo por lo que igual no te respondo a lo que quieres.
Si quieres hacer un generador de relaciones bajo tu código, tendrías que hacer una consulta en el que hagas una foreign key y las relaciones (de la misma forma que haces un insert o un select). Si quieres que en función de lo que selecciones te genere una consulta relacionada vas a tener que tener previamente en la BD esas relaciones (foreign key) definidas.
3º Mejor no respondo porque me estoy perdiendo, igual es otra cosa lo que buscas.
P.D: ¿Es esto lo que quieres
http://dev.mysql.com/doc/refman/5.0/...eign-keys.html?