From: "Victor Del Rio" Monday, May 25, 2009 1:07 PM
1. ¿Porque usar un id numerico (ej: Long id) envez de usar los campos
que realmente identifican a la entidad?
Se me ocurren varias ventajas de usar ids numéricos:
+) el id es *independiente* de los datos. Si el día de mañana cambian las
reglas del negocio y tus "personas" tienen DNI opcional, por decir un
ejemplo, tenés que realizar una reestructuración de la base de datos. No es
sólo
cambiar la tabla Personas, sino todos los FK que toquen a Personas.
+) la PK de cada entidad *nunca* cambia
La PK puede ser autonumérica por lo que se genera al persistir un registro.
La PK no va
a sufrir cambios por lo que te asegurás que no va a haber conflictos de
identidad existencial
+) es más intuitivo (por lo menos para mi)
a mi me suena más natural tener un "PersonaId" que un DNI (quizás no tanto
con Persona pero con entidades más complicadas, sí)
+) las entidades débiles tienen un solo atributo que es PK (el id) y le
asignas el EntidadFuerteId como atributo
Supongo que debe ser más performante tener un sólo atributo y de tamaño fijo
para
la verificación de integridad
Sino tenés que poner el FK y el discriminante y poner todo como PK
Al menos esta es mi opinión :P
Saludos.
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion