Hello,
Merci beaucoup pour cette réponse aussi complète!!
Je travaille sous DB2 UDB. je ne suis pas expert en base de données.
La solution concernant la creation d'un paquet permettant l'ajout des nuplets dans les deux tables et le déclenchement des controles ensuites pourraient être une solution, mais dans mon cas c'est une application que je dois mettre en place sur un intranet.
Etant donné le nombre restraint de table et de contrainte sur le modèle je pourrais avoir deux scripts 1 de suppression des contraintes et un de créations. (ca pourrait être une solution aussi).
Mais quoi qu'il arrive la situation actuelle de mon modèle de données (ie mes clefs 'réciproques') relève d'une erreur de conception? vous êtes d'accord?
J'avoue que la création de deux tables supplémentaires m'ennuie un peu.Cela me donne l'impression d'avoir une information redondante (entre les deux tables BONNE et MAUVAISE REPONSE).
Je pourrais conserver ma table réponse (qui me permettrait d'avoir des informations sur les réponses) et créer une table QUESTION_REPONSE :
Code :
create table QUESTION_REPONSE ( QUESTION_ID INTEGER not null, REPONSE_ID INTEGER not null, ISBONNEREPONSE BOOLEAN not null, constraint PK1 primary key (QUESTION_ID,REPONSE_ID) );
Cette table me permettrait de faire l'association entre les questions et les reponses et, par l'intermediaire, du champ ISBONNEREPONSE de pouvoir déterminer si la reponse sélectionnée est la bonne ou non.
Les cardinalitées seraient :
Code :
T_QUESTION ----->0,n T_QUESTION_REPONSE T_REPONSE ----->0,1 T_QUESTION_REPONSE
Si je ne me trompe pas, cela s'appelle une table de lien ?.
Dans ce cas de figure, je supprimerai les identifiants ID_QUESTION de la table réponse et ID_REPONSE de la table question.
Qu'en pensez vous?
Merci encore (et d'avance) pour votre aide
Partager