Lo primero dependerá del lenguaje a utilizar.
Lo segundo:
http://dev.mysql.com/doc/refman/4.1/...eign-keys.html
Es recomendable que los campos que relacionas en las dos tablas se llamen igual para luego a la hora de programar. Y las consultas serían algo así:
Select * from clientes C inner join SubClientes S on C.DNI=S.DNI
Eso te mostraría los datos de Clientes y de SubClientes para un mismo DNI