Je ne suis pas tellement dans les bases de données et j'ai le problème suivant. J'utilise MySQL.Comment puis-je gérer cette relation un à plusieurs avec cette contrainte sur un champ non PK?
J'ai 2 tables comme suit:
1) transferts table:
CREATE TABLE transfers (
id BigInt NOT NULL AUTO_INCREMENT,
processed Char(1) NOT NULL,
providerpid VarChar(16) NOT NULL,
recipientpid VarChar(16) NOT NULL,
symbol VarChar(128) NOT NULL,
`type` VarChar(4) NOT NULL,
PRIMARY KEY (
id
)
) ;
ALTER TABLE transfers COMMENT = '';
2) annexe1 Table:
CREATE TABLE annex1 (
id BigInt NOT NULL AUTO_INCREMENT,
symbol VarChar(128) NOT NULL,
doi VarChar(256),
PRIMARY KEY (
id
)
) ;
ALTER TABLE annex1 COMMENT = '';
J'ai reçu l'exigence suivante qui semble assez étrange pour moi (mais peut-être qu'il me manque quelque chose):
Le annex1.symbol valeurs doivent être une valeur doivent être une référence importante étrangères de transfers.symbol.
D'après ce que je comprends, il devrait être parce que je dois utiliser JOIN avec ces 2 tables pour obtenir toutes les annexe1 documents relatifs à un transferts enregistrement (il est un relation un à plusieurs).
Mais je ne peux pas créer cela comme une FK contrainte sur annex1.symbol parce que le transfers.symbol est pas un PK.
Ai-je raté quelque chose? Puis-je spécifier d'une manière quelconque que le annex1.symbol doit contenir une valeur possible de transfers.symbol?
Dans quelle table? dans la table des transferts? – AndreaNobili
@AndreaNobili, voir edit dans la réponse si cela aide – Rahul
Que se passe-t-il si une définition comme UNIQUE KEY CONSTRAINT? Cela signifie que je peux avoir un seul enregistrement de la table des transferts lié à un seul enregistrement du tableau annexe1? Ou quoi? – AndreaNobili