Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/11/2008, 04:17
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: acceder a bd desde consola

Cita:
Definitivamente no es necesario agregar not null cuando pones default un valor.. y el campo referencia no puede ser char.. debe de ser tipo entero ya que es la llave primaria..
Una PRIMARY KEY no tiene como requisito ser numérico, sino ser único e identificar univocamente un registro en una tabla, sin importar el valor que los otros campos tengan.
Una PK se puede hacer con VARCHAR, CHAR, DATETIME, TIMESTAMP, INT, FLOAT o cualquier otro tipo de dato válido, con una o más columnas combinadas, porque no es el tipo de dato lo que define la PK, sino su calidad de irrepetible y no nulo.
Por caso, las placas de los automóviles son perfectamente usables como PK de registros de vehículos, y la inmensa mayoría de ellas, en todos los países, llevan letras. Los números de documentos de identidad, además, también es conveniente que sean alfanuméricos, por las combinaciones en los que hay ceros por delante, o incluso letras y símbolos. Y así puedo seguir dando ejemplos.
El uso de enteros incrementales es una costumbre generalizada por su simplicidad, aunque eso no significa que sea la más eficiente de las formas para casos determinados. Depende del diseño del modelo de datos.

En realidad, según las reglas de normalización de relaciones, se debe incorporar un campo ID numéricos si y sólo si no existe ninguna clave candidata para la entidad.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)