|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 19 ![]() |
Bonjour,
Pour traduire la contrainte inclusion qui est sur le schéma ci-dessous je sais que je dois utiliser un trigger ![]() Pour chaque insertion dans la table subir, il faut que je vérifie que l'étudiant est inscrit dans l'uv concerné par le contrôle Mais je ne voie pas comment faire. Merci de votre aide Yann |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
va tout les objets triviaux.
une table étudiant ( id, nometudiant ) une table uv ( id, nomuv ) une table controle ( id, nomcontrole ) va pour les associations une table pour l'association inscrit( id, idetudiant, iduv) une table ..... portersur( id, idcontrole, idiv) une table ..... subir( id, idinscrit, idportersur ) enfin de fait ça en 10 secondes sans réfléchir, doit certainement un moyen de ne faire que deux tables.
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#3 | ||||||||
![]() ![]() |
OK pour ça (et encore partiellement, voir plus bas) :
Citation:
Citation:
Avec une association (1,1 - 0,n) l'identifiant de la table du côté 0,n donne une clé étrangère dans la table côté 1,1. Donc avec le MCD donné, on a plutôt les tables suivantes : Uv (uv_id, uv_nom...) Etudiant (etu_id, etu_nom, etu_prenom...) Controle (ctr_id, ctr_id_uv...) Subir (sbr_id_etudiant, sbr_id_controle, sbr_date, sbr_note...) Inscrire (ins_id_etudiant, ins_id_uv, ins_annee...) Et il faut effectivement vérifier par un TRIGGER ON INSERT sur la table Subir que le couple {sbr_id_etudiant, ctr_id_uv (obtenu en utilisant sbr_id_controle} existe bien parmi les couples {ins_id_etudiant, ins_id_uv} de la table Inscrire. N'en ayant encore fait que très peu, le mien sera peut-être faux mais dans le principe ça devrait être quelque chose comme ça : Code :
Code :
Quand à la table ta_erreur_err, la voici : Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||||||
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 19 ![]() |
Merci pour vos réponses
Yann |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com