Alvaro Herrera escribió:
Gabriel Ferro escribió:
Maestros, me conecto para pedirles un consejo. Tengo que pasar a
postgres mas de 20 millones de personas desde varios archivos planos,
y me salto la duda si es conveniente tener como hasta ahora una tabla
de personas con clave tipo+numdocumento, una tabla localides y una
tabla que relaciona ambas (por si la persona tiene varios domicilios..
la cosa es que no estoy seguro si estar trabajando con tablas tan
grandes sea bueno, ¿tendre que separar las personas por abecedario o
por provincias?, ¿lo dejo asi?... les comento que las busquedas luego
seran com muchos LIKES, es decir que no seran simplemente por
numdocumento
Con respecto a los LIKEs, ¿qué tipo de LIKEs van a ser? Si separas los
nombres en sus partes lógicas (nombre, apellido paterno, apellido
materno --- supongo que funciona así en tu país; ¿hay alguno en Latam
donde no sea así?) entonces es muy posible que puedas evitar tener que
usar LIKE '%algo'
Según mi experiencia, el modo que plantea Alvaro, nombres y apellidos en
campos separados funciona mucho mejor a la hora de búsquedas. Evita que
se ingrese un nombre como 'PEREZ, JUAN' y otro como 'LUIS LOPEZ'.
También hace que sea más fácil presentar los datos en forma :
apellido_paterno || ' ' || apellido_materno || ', ' || nombres :
'PEREZ SANCHEZ, JUAN'
o
nombre || ' ' || apellido_paterno || ' ' || apellido_materno : 'JUAN
PEREZ SANCHEZ'
A veces tambén se separan el primer nombre de los restantes o se pone un
campo con la inicial del segundo nombre, si lo tiene. Hay que recordar
también que es muy común en latinoamerica en general, y cada vez más
común en Argentina, registrar tanto el apellido paterno como el materno.
Saludos,
Diego.
--
TIP 4: No hagas 'kill -9' a postmaster