Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/12/2013, 07:50
kabe_jrr
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 7 meses
Puntos: 4
Calve foránea igual a clave primaria

Hola amigos:

Me gustaría saber si tiene sentido que en una tabla se pongan claves foráneas que están incluidas en la primaria. Es decir, algo como esto:

Código:
CREATE TABLE Pedido ( 
idPedido INT(4) NOT NULL AUTO_INCREMENT, 
idCliente INT(4) NOT NULL, 
cifRestaurante VARCHAR(9) NOT NULL, 
primer_plato VARCHAR(50), 
segundo_plato VARCHAR(50), 
postre VARCHAR(50), 
precio FLOAT(3,2),
PRIMARY KEY (idPedido, idCliente, cifRestaurante),
FOREIGN KEY(idCliente) REFERENCES Cliente(idCliente)
ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(cifRestaurante) REFERENCES Restaurante(cif)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;
Donde los campos "idCliente" y "cifRestaurante" que están en PRIMARY KEY, a su vez estén como FOREIGN KEY (referenciando a otras tablas de la base de datos.

¿Tiene sentido? Muchísimas gracias de antemano!!