Page 17 - DCG - Les processus - 2025
P. 17

•  Fiabiliser les données stockées.
            •  Faciliter leur mise à jour sans risque d’incohérence.
            •  Réduire les redondances inutiles.
            •  Structurer la base de manière modulaire, en favorisant la compréhension du système.

        ✏️ Exemple

        Relation initiale : COMMANDE (NumCommande, DateCommande, NumClient, NomClient)
        Ici, NomClient dépend de NumClient, pas de la clé primaire NumCommande.


          La 3FN impose de créer deux relations :

            •  COMMANDE (NumCommande, DateCommande, #NumClient)
            •  CLIENT (NumClient, NomClient)
               Ainsi, le nom du client n’est stocké qu’une seule fois, dans la table CLIENT.

        ✅ Représentation
        Une fois les relations normalisées, il est possible de représenter le modèle relationnel sous deux formes
        complémentaires :

          Représentation textuelle
            Elle permet de décrire les relations de manière simple et rapide :
               •  Le nom de la relation est indiqué en majuscules.
               •  Les attributs sont listés entre parenthèses, séparés par des virgules.
               •  La clé primaire est soulignée.
               •  Chaque clé étrangère est précédée d’un #.
               Exemple :     COMMANDE (NumCommande, DateCommande, #NumClient)

          Représentation graphique
        Elle prend la forme de rectangles, chacun représentant une relation :
            •  Le nom de la relation est placé dans l’en-tête du rectangle.
            •  Les attributs sont listés à l’intérieur.
            •  La clé primaire est indiquée en souligné.
            •  Les clés étrangères sont souvent marquées par un symbole (comme une flèche) ou une annotation
               #. En DCG, les clés étrangères sont indiquées en italique.

                                      LIGNEPRODUIT
                                      CodeLigne                              UNITE
                                      NomLigne                             CodeUnite
                                      CodeUnite               .            NomUnite



                                              Lien Un à Plusieurs dans
                                                     les 2 sens

                                                    POSSEDER
                                                #CodeSalarieOperateur
                                                #CodeDiplome


                                  DIPLOME
                                                                           OPERATEUR
                                CodeDiplome                           #CodeSalarieOperateur
                                NomDiplome                            DateAffectationOperateur

                                                                      FormationOperateur


                                                            12
   12   13   14   15   16   17   18   19   20   21   22