Hola Carlos Miguel
La idea original de Les Pinter era dar un ejemplo de programación en 3 capas con Visual Foxpro, con énfasis en la capa de negocios y la capa de datos. Tanto es así que para la capa cliente usó las tablas "Customers" y "Employees", que son excelentes ejemplos de como NO diseñar datos, y a la clase form la llamo "FlatFileForm" ( formulario para tabla plana ). Para que no quede tan simplote yo le agregué a la tabla "Customers" los campos para guardar la foto y el campo "EmployeeId" clave foránea referente a la tabla "Employees".
Por lo tanto las mencionadas tablas no deben ser tomadas como paradigma de diseño de tablas, sino todo lo contrario como ya lo señalé en el párrafo anterior.
Ahora bien, las clases de controles y formularios de la biblioteca "Pinter.vcx" si son buenísimos ejemplos y también la clase "DataTier" para los que prefieren Sql Pass-through a los Cursor Adapters.
La modificación que le hice a la clase "FlatFileForm" fue sustituir la técnica Sql Pass-through por la del uso de Cursor Adapters, y la clase "FkForm" ( foreign key form ) está basada en la clase "FlatFileForm" y permite validar claves foráneas y exhibir los datos descriptivos correspondientes.
En cuanto al diseño de formularios para estructuras de datos más complejas yo diría que es una cuestión de gustos, tanto del programador ( en muchos casos deficiencias del programador ) y del usuario. Por ejemplo para cargar las direcciones de las personas algunos preferirían que se haga en una página de un pageframe, otros quizás prefieran que se haga en un formulario independiente llamado al pulsar un botón y otros querrían ver en la misma pantalla el grid correspondiente.
En el diseño de datos concuerdo totalmente con tu modelo, el mío es más complejo en algunas cosas y más sencillo en otras. En mi sistema de venta de lotes, tengo Persona, Empresa, Condominio y la dirección de la persona es un campo en Persona y otro en Empresa pudiendo una persona tener actividad laboral en más de una empresa. El cliente puede ser una persona, empresa o condominio y el condominio puede estar formado por personas y/o empresas.
Saludos,
Víctor.