Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Cuando utilizo el mapeo para el típico par código-descripción, se puede dar el caso de necesitar hacerlo en varias tablas de datos (fact). En este caso, lo que me ocurre es que paso de tener un campo común en dichas tablas a tener dos campos en común (al menos), lo que me lleva a la necesidad de deshacer la creación de claves sintéticas, que no tenía antes de hacer el mapping. ¿Se podría evitar esto?¿Qué opináis?. El ejemplo sería el siguiente: tengo dos o más tablas en las que aparece el campo ID_PROVEEDOR, y luego habría una tabla de correspondencia ID_PROVEEDOR - NOMBRE_PROVEEDOR. Al hacer el modelo de datos en QV, el campo ID_PROVEEDOR será compartido entre las tablas fact, pero si además hago mapeo y llevo el NOMBRE_PROVEEDOR a dichas tablas, pasaré a tener otro campo compartido, lo cual me obligará a tratar la aparición de claves sintéticas. ¿Acabo de "hacer un pan con unas tortas?
Ya. Pero si no haces el mapeo y mantienes una tabla con los campos ID_Proveedor y NOMBRE_Proveedor por un lado, manteniendo sólo el campo ID_proveedor en las tablas de Facts, probablemente acabemos con referencias circulares, que debemos evitar.
Si quieres eliminar las claves sintéticas a toda costa (aunque quizás en este caso no sea necesario), lo mejor es crear una tabla intermedia que tenga tres campos:
[ID_Proveedor & Nombre_Proveedor]
ID_Proveedor
Nombre_Proveedor
Y en cada tabla de Facts, tener sólo [ID_Proveedor & Nombre_Proveedor] .
Si haces el mapeo, ¿necesitas conservar el campo ID_PROVEEDOR? ¿Por qué no haces un DROP de ese campo?
Veo tu idea. Gracias. Por otra parte, sí manejo ambos escenarios, o sea, a veces me interesará conservar código y descripción. Tal vez en este escenario sí sea oportuno tratar ambos campos como claves compartidas...
Ya. Pero si no haces el mapeo y mantienes una tabla con los campos ID_Proveedor y NOMBRE_Proveedor por un lado, manteniendo sólo el campo ID_proveedor en las tablas de Facts, probablemente acabemos con referencias circulares, que debemos evitar.
Si quieres eliminar las claves sintéticas a toda costa (aunque quizás en este caso no sea necesario), lo mejor es crear una tabla intermedia que tenga tres campos:
[ID_Proveedor & Nombre_Proveedor]
ID_Proveedor
Nombre_Proveedor
Y en cada tabla de Facts, tener sólo [ID_Proveedor & Nombre_Proveedor] .
Ok, Salto, muchísimas gracias.