Partage
  • Partager sur Facebook
  • Partager sur Twitter

Choix de la clé primaire

Sujet résolu
    26 mai 2011 à 11:33:21

    Bonjour,

    Actuellement en train de créer un logiciel pour une EHPAD, je dois créer une base de donnée. Je crée une table pour les soins journaliers mais je ne sais pas quel clé primaire prendre. Voici le principe de la table :

    Chaque résident reçoit des soins différents matin, midi et soir. Ces soins varient également selon la journée. Enfin les soins sont donnés par un ou plusieurs employés.

    J'avais créé une clé primaire composée de l'ID des résidents, de la période de la journée (un enum matin / midi / soir) et la date de la journée.
    Si deux employés pratiquent des soins différents sur le résident, un erreur survient (et c'est logique).

    Ma question est donc si je dois ajouter l'id de l'employé à ma clé primaire (ce qui commence à faire beaucoup selon moi) ou s'il y a plus simple ?

    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      26 mai 2011 à 11:40:13

      Et si un gars a besoin de 4 soins par jour ?
      • Partager sur Facebook
      • Partager sur Twitter
        26 mai 2011 à 11:48:29

        Le résident n'a pas besoin de 4 soins par jours. Les soins données sont la distribution des médicaments et le nursing (enfin principalement). Ces soins sont fait 3 fois par jours (ni plus, ni moins). L'heure peut varier un petit peu mais elle reste approximativement la même.

        Ce système est celui déjà en place dans l'établissement. Je ne peux me permettre de tout chambouler. Surtout que la passage à l'informatique est une révolution chez eux...
        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2011 à 11:51:29

          OK. Le problème est que tu as 2 relations et que tu essaies de les faire rentrer dans une seule table de lien :

          - Chaque résident reçoit des soins différents matin, midi et soir. Ces soins varient également selon la journée.

          - Enfin les soins sont donnés par un ou plusieurs employés.
          • Partager sur Facebook
          • Partager sur Twitter
            26 mai 2011 à 11:51:52

            Il n'empèche que c'est une boulette de design. Certaines contraintes n'apportent rien à la modélisation (voir pour ton cas dégradent le système). Ne confonds pas stockage et logique de gestion, c'est des notions très différentes.

            Tracker.
            • Partager sur Facebook
            • Partager sur Twitter
              26 mai 2011 à 12:02:56

              Citation : Lord Casque Noir

              OK. Le problème est que tu as 2 relations et que tu essaies de les faire rentrer dans une seule table de lien :

              - Chaque résident reçoit des soins différents matin, midi et soir. Ces soins varient également selon la journée.

              - Enfin les soins sont donnés par un ou plusieurs employés.



              Mais le problème (sans doute parce que je n'ai pas l'esprit très clair et que je ne suis pas fan de sql) est que je n'arrive pas à traduire ça. Je sais dès le début qu'une table avec une clé primaire triple(voir quadruple) c'est pas très jolie. Mais c'est le plus simple que j'ai trouvé pour entrer les données avec une seule requête.


              PS: @Tracker : je sais, je sais. Paint fait de très jolie chose.


              Edit : en effet, je vais faire plus simple sans clé composée moche. Merci pour l'aide. Sujet résolu :D
              • Partager sur Facebook
              • Partager sur Twitter

              Choix de la clé primaire

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown