Ver Mensaje Individual
  #14  
Antiguo 01-12-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita