bonjour, j'espère que le problème que je vous pose n'a pas été traité dans une précédente discussion.
je dois traiter des incidents intervenant sur un réseau de transport (problématique peu souriante...).
ces incidents peuvent être de 3 sortes: trouble, vandalisme et agression.
un trouble:
- 5 sortes possibles
un acte de vandalisme:
- intervient dans trois types de lieux possibles
- provoqué par 2 moyens possibles
une agression:
- intervient dans 8 ciconstances possibles
- caractérisée par 5 actes possibles
A ces catégories et sous catégories, je dois associer une date, une heure, une commune.
mon problème:
j'ai structuré ma base de manière hiérarchique (selon le même schéma que mon explication):
Trouble( code-incident, code_trouble)
type de trouble (code_trouble, désignation)
Vandalisme (code-incident, code_lieux,code_moyen)
type de lieux de vandalisme( code_lieux, désignation)
type de moyen de vandalisme (code_moyen, désignation)
agression (code-incident, code_circonstance, code_acte)
circonstance (code_circonstance, désignation)
acte (code_acte,désigantion)
Incident (code-incident, date, heure, commune)
pour créer une occurrence d'incident, je remplis d'abord la table incident, puis la table correspondant au type d'incident.
Mais rien n'empêche de rentrer le même code-incident dans deux tables type d'incident différentes (trouble et agression par exemple)
existe-t-il un moyen d'empêcher cette réplication de clé primaire, sachant qu'un incident ne peut pas être de plusieurs type en même temps (on retient le type le plus grave)? J'essaye depuis quelques jours déjà de tourner et retourner le problème et je continue à me demander si la solution réside dans la création d'un autre MCD, dans les options de validité associé au champ code-incident, ou dans la forme de la clé primaire code-incident.
Merci par avance pour l'aide que vous pourrez m'apporter.
Partager