Meilleur auteur de réponses
Problème d'analyse (besoin d'avis)

Question
-
Bonjour,
Je travaille sur une gestion de planning,
Voici ma BDD à l'heure actuelle:
http://img15.hostingpics.net/pics/653497bdd.jpg
Journée représente une journée de travail, elle contient des heures qui ont différentes catégories (heures double/triples etc.).
(L'id n'est qu'un int autoincrémenté)
Donc je me suis rendu compte en développant que ma BDD n'était pas du tout au point.
Je pense mettre une entité faible Catégorie à Heure, et dans heure ajouter une PK (Heure,Jour).
>>> les heures n'ont pas toute la même catégorie suivant les jours(ex: 15h le lundi != 15h le samedi).
Je gère les catégorie des 24h pour chaque jour.
Donc en gros au final j'aurais 168 lignes
Alors, j'ai 2 questions, comment résoudriez vous ce problème de gestion?
et la deuxième, si ma PK contient 2 colonnes dois-je représenter aussi les 2 colonnes pour une clé étrangère?
PS: j'ai remplacé "type" par "catégorie", pour eviter les confusions.
Ma GROSSE question est : comment gérer les clé étrangère pour une PK à double colonnes?
Merci d'avance
- Modifié Eduenss vendredi 10 janvier 2014 09:16
Réponses
-
Bonjour
C'est bien faisable, voir ce thread :
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/974fd640-3e30-46ca-872f-93be5f27a6bc/foreign-key-references-a-two-column-primary-key?forum=transactsql
Une autre approche c'est d'avoir dans "Catégorie à Heure" un Id autoincrement, qui sera cle primaire, et évidement la clef étrangère vas référencer cet ID. Aussi, une contrainte d'unicité sur (Jour, Heure).
Cordialement,
Aurel BERA, MSFT
MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.- Marqué comme réponse Aurel Bera jeudi 16 janvier 2014 09:51
Toutes les réponses
-
Bonjour
C'est bien faisable, voir ce thread :
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/974fd640-3e30-46ca-872f-93be5f27a6bc/foreign-key-references-a-two-column-primary-key?forum=transactsql
Une autre approche c'est d'avoir dans "Catégorie à Heure" un Id autoincrement, qui sera cle primaire, et évidement la clef étrangère vas référencer cet ID. Aussi, une contrainte d'unicité sur (Jour, Heure).
Cordialement,
Aurel BERA, MSFT
MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.- Marqué comme réponse Aurel Bera jeudi 16 janvier 2014 09:51
-
Bonjour
Un petit retour SVP?
Merci!
Cordialement,
Aurel BERA, MSFT
MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.