Bonjour,
Je poste de nouveau sur le forum car, je fais une application web pour gérer des conférences,
j'ai une base de données composée de plusieurs tables:
PK = clé primaire
PE = clé étrangère upload/1516187249-65800-capture.png
->Salle ( PKidSalle, nomSalle, capasiteMax) ;
->Conférence (PKcodeConf, theme) ;
->Presentation (PK et PE codeConf, PKidPresentation, durée, date, horaire, nbPlace, PEidSalle, PEidIntervenant) ;
->Personne (PKidPers, nomPers, prenomPers, codePostale, telPers);
->Intervenant(PKidIntervenant , login, mdp) ici PKidIntervenant c'est la clé de PKidPers que j'ai renommer pour faire de l'heritage
->Visiteur (PKidVisiteur) ici PKidVisiteur c'est la cle de PKidPers que j'ai renommer pour faire de l'heritage
->Inscription(PK et PE idVisiteur, PK et PE idPresentation);

en gros voila j’espère de façon simplifier ma base de données. Seulement mon problème c'est que quand je veux créer la table inscription il me met des erreurs de clé étrangère, je pense que c'est parce que idPresentation dans la table inscription fit référence a la clé primaire de presentation qui est compose de codeConf et de idPresentation.
Du coup je sais pas trop comment faire pour inscrire un visiteur a 1 presentation. Smiley hum
J'ai mis une image afin de mieux montrer la bdd.

Merci d'avance
Salut ...comment tu crée ta table inscription ???
c'est ce que l'on appelle une table de relation.
donc elle a un eclé primaire unique propre à elle meme puis 2 clés étrangères.
là les PE ne peuvent pas être PK
je pensais la crée comme ça:

Create Table inscription (
idVisiteur int (4),
idPresentation int (4),

primary key (idVisiteur, idPresentation)
[...]

avec en cle etrangère idPresentation en references a codeConf et idPresentation de la table presentation mais ça n'avait pas marché alors j'ai rajouté le codeConf dans inscription aussi pour essaye de faire le lien avec la PK de presentation mais raté encore une fois.

par contre si je fais comme vous me dites :

Create Table inscription (
idInscription int (4),
idVisiteur int (4),
idPresentation int (4),

primary key (idInscription ),
foreign key (idVisiteur) references visiteur (idVisiteur),
foreign key (idPresentation) references presentation (codeConf, idPresentation)
);

est ce que là pensez vous que ça serai correct ?

Merci !
cela me met : #1239 - Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match

pourtant, les champs sont corrects
upload/1516200074-65800-captures.png j'ai refais le MCD j'ai changé des champs voici ce que cela me donne
Modifié par NenoLucia (17 Jan 2018 - 15:41)
oui je pense , j'ai faits des insertions avoir comment ça se passe avec la partie application web Smiley smile .

Merci beaucoup pour votre aide ! Smiley biggrin Smiley ravi