Estoy tratando de normalizar un conjunto de datos muy simple:
user_id | Identificación del rol
Tengo una tabla con 60,000 registros, y todo lo que necesito hacer es convertir esto en una combinación, por lo que una tabla contiene usuarios y otra tabla contiene roles, convirtiéndose esta tabla en una combinación simple.
El Asistente del analizador de tablas debería manejar esto perfectamente, pero cuando paso al paso de hacer clic en Finalizar, aparece el error "No se puede definir el campo más de una vez" y falla. ¿Alguna sugerencia sobre cómo lograr que el asistente funcione correctamente o una forma diferente de normalizar esta tabla?
¿Seguramente puede ejecutar dos consultas para crear las dos tablas a las que se unirá con los valores DISTINCT de cada una de las dos tablas?
—
David W. Fenton
Puedo y lo hice al final, pero eso no hace que este error sea menos frustrante. La normalización completa que necesitaba hacer era en realidad más complicada que dos columnas, pero pude replicar el problema con este conjunto de datos más simple.
—
Myrddin Emrys
Esta es una de esas cosas que es tan simple que no puedo imaginar por qué uno usaría el Asistente del analizador de tablas para hacerlo. Si encuentra eso con demasiada frecuencia, ese asistente adivina erróneamente cómo quiero que se reestructuren las cosas, por lo que no es de mucha utilidad en primer lugar.
—
David W. Fenton
El asistente de análisis le permite elegir su propia estructura; No es como lo permito para que decida. Sin embargo, cuando funciona, es una forma mucho más rápida de dividir los datos normalizados y dejar atrás los FK. En otras palabras, el asistente facilita la división de las tablas, incluso cuando está decidiendo qué dividir y cómo.
—
Myrddin Emrys
Bueno, YMMV: nunca he encontrado que ahorre tiempo, pero luego he estado haciendo la normalización durante mucho, mucho tiempo, y puedo hacerlo de manera más eficiente que el asistente. Sin embargo, no puedo ver que quejarse de que una herramienta de propósito general a veces no toma las decisiones correctas lo lleva muy lejos. Es de esperarse, me parece, y en ese caso, simplemente hace la tarea manualmente.
—
David W. Fenton