PostgreSQL - diseño

 
Vista:

diseño

Publicado por gh2016 (2 intervenciones) el 12/05/2016 20:34:32
Hola buenas tardes a todos , quería hacer una consulta a ver si alguien puede orientarme :
Tengo una base de datos de 5 millones de filas y 20 campos que no tiene llave candidata ya que todos los campos están incompletos, supongo tendré que crear una.
De los 20 campos tengo 3 ( marca_producto, modelo_producto y tipo_producto ) los cuales tengo que corregir y/o completar., eso es lo único que tengo que hacer.
Necesitaría una idea como para diseñar esta base, pensé en crear otra tabla que contenga los productos correctos como para relacionarlos pero no tengo una llave foránea que me permita hacerlo. Alguien me podría dar una idea de cómo encarar esto?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 39
Ha disminuido 1 puesto en PostgreSQL (en relación al último mes)
Gráfica de PostgreSQL

diseño

Publicado por xve (55 intervenciones) el 13/05/2016 07:38:56
Hola, donde tienes esos datos para corregir o completar la tabla? de alguna manera, tendras algun campo o valor que los puedas vincular para saber donde van, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

diseño

Publicado por gh2016 (1 intervención) el 13/05/2016 12:24:10
gracias por la ayuda, solo tengo la tabla de 20 columnas y 5 millones de filas que tiene duplicados, tengo 3 ( marca_producto, modelo_producto y tipo_producto ) que por ejemplo vienen así ( samsun, galasi y el tipo incompleto) yo tengo que corregir el nombre y modelo y tipo de toda la tabla, pensé en crear una tabla de marca modelo y tipo con los nombres correctamente escritos y vincularlas con like pero no creo que sea la mejor idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

diseño

Publicado por Leopoldo Taylhardat (19 intervenciones) el 13/05/2016 17:06:30
Saludos....

Te comento...

La mejor solución según mi parecer....
Crear una tabla con "select distinct" de las tres columnas que utilizarás como indice para buscar...
modificas los registros con la corrección que requieres de forma masiva ajustándolo a los parámetros estándar que quieras definir ...
por ejemplo si tienes un tipo de producto "destornillador" y tienes otro como "destronillador" vas a hacer un
update tabla set tipo 'destornillador' where tipo= 'destronillador';


y así cada cambio que requieras....

ESPERO QUE TE SIRVA,,,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

diseño

Publicado por gh2016 (2 intervenciones) el 13/05/2016 19:30:39
gracias Leopoldo , voy a implementarlo.

con la nueva tabla voy a normalizar la tabla original, ya que son muchos registros deberia usar algun tipo de indices ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

diseño

Publicado por Leopoldo Taylhardat (19 intervenciones) el 18/05/2016 15:26:40
Saludos...

Te recomiendo que indexes por las columnas que vayas a afectar... ya que si nó lo haces, cada update se va a recorrer toda la tabla y como dices que son milloooones de registros imagina cuanto va a tardar cada uno de los update que hagas...

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar