Hola a todos/as.
Estoy preparando mi primer DataSet con dos tablas relacionadas y se me generan ciertas dudas de diseño.
Por ejemplo parto de una Tabla principal las Ordenes, que contiene un campo de producto que se relaciona con la tabla Productos y su campo Cód. Producto que es Primary Key, con la intención que desde el Form de Ordenes tenga un ComboBox que contenga todos los Productos a elegir.
En el SqlServer 2005 Express creo las dos tablas y genero una Clave Foránea en la tabla Ordenes y su campo producto, y el administrador de claves me pide que como Tabla principal indique la tabla Productos con su campo Primary Key Cód. Producto, y en la tabla Ordenes como tabla secundaria su propio campo producto, y además le indico explícitamente que genere una Relación con Foreign Key.
Hasta aquí todo correcto, pero cuando me traslado al entorno de desarrollo creo ver la relación al revés, es decir, cuando genero un nuevo DataSet Tipificado con el origen de datos indicando las dos tablas, me genera automáticamente un "Cross Join", y en el visor "xsd" cuando accedo a la relación la tabla principal pasa a ser Ordenes y no Productos como cuando creábamos la Foreign Key, y por lo que veo esto permite ver en el administrador de DataSets la tabla Ordenes con todos sus campos y al final un enlace más con la tabla Productos.
¿ Entiendo que esto debe de ser así para cualquier relación que se monte con DataSets entre Tablas, por muchos niveles de Joins que hayan entre ellas ?
¿ Y esta manera de relacionar en el DataSet al revés respecto al diseño Sql original, garantiza que pueda ver todos los Cód. de Productos de la Tabla Productos en mi ComboBox cuando desde el Form de Ordenes entre en el Campo Producto, o bien tengo que hacer una carga prévia en el ComboBox ?
En fin, ya veis que tengo dudas existenciales con mi primer DataSet relacionado, y
si alguien tiene alguna idea aclaratoria se lo agradezco mucho.
Saludos.