Bonjour,
Je suis actuellement en train de faire l'analyse d'un projet et je me pose une question au niveau de la conception de la DB. N'étant absolument pas DBA mais devant tout de même occupé cette fonction, je me tourne vers vous...
Ce qui suit décrit l'application, pour passer directement à la question, sautez le passage [NOTE].
[NOTE]
Pour situer un peu le contexte, il s'agit d'un projet destiné à gérer des entretiens "d'évolution" (d'évaluation en fait mais bon... ils ont appelé ça évolution^^).
Donc en gros, le supérieur s'entretien avec son subalterne puis après, reporte le contenu de l'entretien dans une application afin d'avoir un rapport. Dans l'application, il devra mentionner la personne concernée par cet entretien et sa fonction. Une fois la fonction choisie, le programme ira lui chercher les compétences qu'il faut évaluer pour cette fonction. Ces dernières sont organisées en groupe.
[/NOTE]
Pour le moment, j'ai donc une table TblEvoGroupe comme suit :
Déjà là, se pose la question de savoir s'il est préférable de choisir une clef primaire composée plutôt que d'ajouter un champ auto incrémenté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Id int not null identity(1,1) PK IdGroupe int not null IdLanguage int not null Version int not null Name varchar(150) not null --divers champs de tracking
Ensuite j'ai la table TblEvoCompetence comme suit :
La question que je me pose est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Id int not null identity(1,1) PK IdComp int not null IdLanguage int not null IdGroupe int not null Version int not null Texte varchar(1000) not null --divers champs de tracking
Est-il possible d'établir une relation entre ces deux tables en sachant que le champ IdGroupe de la table TblEvoGroupe ne sera pas unique ?
Faut-il scinder cette table en 2 avec dans une, uniquement l'id du groupe et les champs de tracking et dans l'autre, les différentes traductions ? De cette manière j'aurai bien l'id de groupe qui sera unique pour servir de clef étrangère dans la table des compétences mais il y a peut-être une autre manière de faire...
NB : Une compétence ne peut appartenir qu'à un seul groupe.
Qu'en pensez-vous ?
Griftou.
Partager