Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/11/2013, 12:53
Avatar de quinqui
quinqui
 
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 20 años, 6 meses
Puntos: 56
Respuesta: Autoincremento ?

Mmmh, en el caso de la tabla Carrera, ahora no veo necesidad de concatenarle el "car-", ya que todos los registros tendrán ese prefijo, no? En ese sentido, como dices, con un autoincremento estaría listo: luego en tus aplicaciones le puedes preconcatenar ese "car-", si es estrictamente necesario no más, claro. El relleno de ceros a la izquierda igual lo puedes obtener por programación, pero en la tabla, lo mejor es que sea un sencillo número no más.

Código sql:
Ver original
  1. CREATE TABLE Carrera (
  2. car_cod SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. car_nom VARCHAR(30));

En cuanto a la otra tabla, ya tienes claros todos los pasos para generar el código de alumno. Sólo es cosa que los pases a un algoritmo y lo implementes dentro del trigger de la tabla ¿sabes trabajar con triggers? La tabla que te proponía yo quedaba algo así (no estoy segura si mi sintaxis está correcta, pero es para que tengas la idea):

Código sql:
Ver original
  1. CREATE TABLE Alumno (
  2. alu_id BIGINT(12) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. alu_cod CHAR(15) NOT NULL,
  4. alu_ape VARCHAR(20),
  5. alu_nom VARCHAR(20),
  6. alu_fechanac DATE,
  7. car_cod CHAR(9),
  8. UNIQUE INDEX (alu_cod),
  9. FOREIGN KEY (car_cod) REFERENCES Carrera (car_cod));

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*