Cita:
delphi.com.ar meta comentó:
...no es recomendable en un esquema entidad-relación relacionar tablas por datos descriptivos, sino que es conveniente tener un campo identificador de registro.
|
Traducción (creo): Conviene usar como llaves de tablas campos que no signifiquen nada en la vida real ya que cualquier dato de esta naturaleza es susceptible de cambiar lo que implicaría cambios en todas las tablas que usen dichos campos para relacionarse.
No necesariamente esto significa que una persona va a cambiar de nombre pero si se introduce un nombre de manera equivocada pues ya tienes que arreglar muchos puntos de tu base.
Además de esto, yo añadiría que de preferencia no se usen campos de texto para formar relaciones ya que se hacen muy lentos los sistemas, sobre todo con un campo como el nombre de una persona. Toma en cuenta que cada vez que requieras una relación, el manejador de bases de datos tiene que comparar cadenas de caracteres que pueden girar alrededor de 50 caracteres. Esta es una comparación muy costosa en tiempo.
Lo ideal es proveer una llave "artificial" como un campo autoincremental. Dicho campo sería conocido sólo por el manejador de bases de datos dejando el resto de campos en libertad de ser editados sin preocupaciones.
// Saludos