Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide Création MCD Super Débutant

    20 juin 2022 à 16:33:44

    Bonjour,

    Je me suis lancé le défi de créer une base de données Access afin de tracer l’envoieet le retour de linge expédier aux services de soins d’un établissement de santé.

    Je suis totalement novice,je dois commencer l’analyse et la modélisation et après de nombreuses lectures et vidéos sur le sujet je viens de réaliser cette première approche (juste la création d’entité et une ou deux relation) de ce qui pourra s’apparenter dans quelques temps je l’espère à un véritableMCD.

    Je souhaiterais que vous puissiez m’aider et m’accompagner dans la compréhension et la réalisation cette modélisation.

    Je vous demande donc pardon par avance pour tout ce que je pourrai soumettre à votre analyse et qui pourrai vous piquer voir vous brûler les yeux.

    Objectifs de la Base de Données  :Distribution de Linge

    Les règles principales sont :

    1.Un Etablissement Multi-Sites

    2.Chaque service possède une dotation de linge par jour

    3.La Dotationde linge est stockée dans un contenant avec un numéro unique.

    4.Un service peut-être livré tous les jours de la semaineou deux fois par semaine…, toutes les combinaisons sont envisagées (Entité : Mode de Livraison)

     Je vais m’arrêter là pour l’instant afin d’éviter d’effrayer trop de personnes souhaitant me venir en aide.

    Néanmoins évidement si les informations sont insuffisamment complètes ou complétement incompréhensible n’hésitez à me le dire.

     Merci beaucoup par avance.

    • Partager sur Facebook
    • Partager sur Twitter
      20 juin 2022 à 16:44:10

      Bonjour,

      Pour commencer, tu as créé une entité "Jours", pourquoi ne pas t'en servir avec l'entité Dotation plutôt que de lui donner un attribut par jour ?

      Idem pour le mode de livraison.

      -
      Edité par Benzouye 20 juin 2022 à 16:50:17

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        20 juin 2022 à 20:59:29

        Bonjour Benzouye,

        Tout d'abord merci de répondre à mon sujet. Je vais regarder cette correction et reconstruire ces entités.

        Merci encore.

        • Partager sur Facebook
        • Partager sur Twitter
          23 juin 2022 à 15:31:22

          Bonjour,

          Pour information voila ma première réflexion réalisé sous excel avant de passer sous looping.

          Je ne suis pas sur que ma manière de penser soit la bonne.

          Concernant la remarque de benzouye, je n'ai réussi à uliliser l'entité jour à déployer sur les deux autres entités (Dotation et Mode de Livraison)

          Merci à tous.

          • Partager sur Facebook
          • Partager sur Twitter
            23 juin 2022 à 17:21:30

            Je pense que tu as trop de redondance dans ton modèle, ce qui le complique inutilement.

            Selon moi il faut unifier les entités dotation et livraison dans une relation ternaire entre article, service et jour.

            Sans plus de précisions sur les fonctionnalités attendues, je te propose le modèle suivant :

            Ce qui génère le SQL suivant :

            CREATE TABLE jour(
               id_jour INT UNSIGNED AUTO_INCREMENT,
               libelle VARCHAR(60) NOT NULL,
               PRIMARY KEY(id_jour),
               UNIQUE(libelle)
            );
            
            CREATE TABLE tournee(
               id_tournee INT UNSIGNED AUTO_INCREMENT,
               libelle VARCHAR(60) NOT NULL,
               heure_semaine TIME,
               heure_samedi TIME,
               heure_dimanche TIME,
               PRIMARY KEY(id_tournee)
            );
            
            CREATE TABLE article(
               id_article INT UNSIGNED AUTO_INCREMENT,
               libelle VARCHAR(60) NOT NULL,
               PRIMARY KEY(id_article),
               UNIQUE(libelle)
            );
            
            CREATE TABLE service(
               id_service INT UNSIGNED AUTO_INCREMENT,
               libelle VARCHAR(60) NOT NULL,
               id_tournee INT UNSIGNED NOT NULL,
               PRIMARY KEY(id_service),
               UNIQUE(libelle),
               FOREIGN KEY(id_tournee) REFERENCES tournee(id_tournee)
            );
            
            CREATE TABLE livraison(
               id_jour INT UNSIGNED,
               id_article INT UNSIGNED,
               id_service INT UNSIGNED,
               quantite SMALLINT UNSIGNED NOT NULL,
               PRIMARY KEY(id_jour, id_article, id_service),
               FOREIGN KEY(id_jour) REFERENCES jour(id_jour),
               FOREIGN KEY(id_article) REFERENCES article(id_article),
               FOREIGN KEY(id_service) REFERENCES service(id_service)
            );
            • Partager sur Facebook
            • Partager sur Twitter
            Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

            Aide Création MCD Super Débutant

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown