Mejor manera de organizar nombres en base de datos

  • Autor Autor Salidanula
  • Fecha de inicio Fecha de inicio
S

Salidanula

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola!

Voy a crear una base de datos, y tengo una duda. El problema es que soy bastante novato, y sobretodo, me cuesta mucho la organización.

Resulta que tengo 1 millón de registros (nombres propios) y los tengo en estos formatos:

  • NOMBRE APELLIDOS
  • APELLIDOS NOMBRE
  • APELLIDOS, NOMBRE
No me importa cómo ponerlos. Lo que quiero saber es cuál es la mejor forma. No sé si da igual, o si hay una mejor forma para hacerlo, por eso pregunto.

Creo que la mejor opción sería separar todos los nombre y ponerlos en dos columnas. Una columna el NOMBRE y en la otra el APELLIDO. Los registros los tengo, y hacerlo todo de una forma me cuesta relativamente poco. Pero no sé cuál es la mejor forma para en un futuro, poder manejarme de la mejor forma.

Si los pongo en una columna NOMBRE APELLIDOS, supongo que después también se podrá separar. Pero ahora en el excel me manejo bastante bien. Si separo ahora el texto en columnas de los APELLIDOS, NOMBRE, me cuesta muy poco. No sé si después me costará más.

Y el problema, es que en un futuro tendré muchos datos. Por eso me gustaría saber qué pensáis o qué haríais los que sabéis de esto

Gracias!
 
Creo que lo ideal seria que lo separaras en 2 columnas, ya que en algunos países es común tener más de un nombre y apellido, y de esta forma creo que manejas esos casos más fácilmente.
 
Lo ideal es que separes en las siguientes columnas: nombre, apellido1, apellido2... pero si tienes los datos en diferente orden puede que sea un problema. Depende también para que lo quieras usar, pero lo ideal es que normalices los datos.
 
Creo que Apellido 1, Apellido 2 ya es demasiado xD
 
Lo más probable es que los listados sean por apellido, nombre y las consultas puede que por nombre. Lo mejor son dos columnas. También puede ser que separes los dos apellidos.
yo haría algo así


id int unsigned primary key
nombres char(255)
primer_apellido char(255)
segundo_apellido char(255)
otros datos......
index ( primer_apellido, segundo_apellido, nombres )
index ( nombres, primer_apellido, segundo_apellido )


si quieres complicarte un poco pero optimizar espacio e indices

personas
----------------
id int
nombres int
primer_apellido int
...


nombres
---------------
ind int primary key
nombres char(255)
unique( nombres)
 
Atrás
Arriba