Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/02/2011, 09:30
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda sobre la primary key

Una clave primaria es, por definición, un campo o conjunto de campos que identifica unívocamente un registro en una tabla. Tiene como únicas condiciones que su valor debe ser único y no nulo. Nada más.
El modelo relacional no determina ni tipos de dato ni formas especiales para las PK. El uso de el nombre "ID" es un vicio de programadores y no del modelo, producto del ocio al momento de darle nombre a las columnas y es una práctica que se debe evitar porque luego causa confusiones en el momento de redactar las consultas, cuando los campos de diferentes tablas se llaman igual (cosa que hay que evitar).
Los campos autoincrementales son útiles en ciertas condiciones, pero el uso de los mismos no es ni obligatorio ni conveniente en la mayoría de los casos. Usualmente sólo deben aparecer si en la normalización no surgen claves candidatas al llegar a la 3FN. Lamentablemente es la salida fácil para los que no conocen los principios y fundamentos del análisis relacional, y de dónde y cómo se deben definir las PK y por qué. Si es posible evitar usar campos AI, es mejor hacerlo. Luego trane problemas de migración.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)