IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Trouver ce graphe minimum compliqué [débutant]


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2022
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Trouver ce graphe minimum compliqué [débutant]
    Salutations ! J'ai été bloqué en essayant de trouver le graphe minimum le plus optimal, voici les DFs :

    • Classe,Cours,Module->NumEns,NomEns
    • ModEtud,Cours,Module->Note
    • ModEtud->NomEtud,Classe
    • Cours->Module
    • Cours->NbHeure
    • Cours,ModEtud->Note
    • Cours,Module->NbHeure
    • NumEns->NomEns
    • Cours,Classe->NumEns


    J'ai déjà déterminé les redondances comme suit:
    Classe,Cours,Module->NumEns est redondante puisque on a cours,class->NumEns.
    Cours,Module->NbHeure est aussi redondante puisque on a Cours->NbHeure.
    ModEtud,Cours,Module->Note est aussi redondante puisque on a Cours,ModEtud->Note.
    Je pense pas qu'on a des DFs déduites ici non?

    Voila le graphe minimum que j'ai créé:
    Nom : Screenshot_144.png
Affichages : 87
Taille : 78,4 Ko

    Quel serait l'identifiant dans ce cas ?

    Merci infiniment!

  2. #2
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    juin 2019
    Messages
    567
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2019
    Messages : 567
    Points : 2 357
    Points
    2 357
    Par défaut
    Bonjour,

    Sauf erreur de ma part (sans me servir de votre graphe), l'identifiant irréductible (clé minimale) trouvé par Looping en considérant toutes vos DFs est : Cours,ModEtu
    Est-ce que cela correspond à vos attentes ?
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2022
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    C'est beaucoup plus logique ! J'ai oublié une redondance et cela a rendu le tout beaucoup plus difficile. Voici le schéma final qui, je l'espère, est le plus optimal !


    Cette 3NF vous semble-t-elle correcte ?
    R1(Cours,ModEtu,Note)
    R2(ModEtu,NomEtu,Classe)
    R3(Cours,Classe,Numens)
    R4(Cours,Module,NbHeures)
    R5(Numens,Nomens)

    Merci infinement!
    Images attachées Images attachées  

  4. #4
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    juin 2019
    Messages
    567
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2019
    Messages : 567
    Points : 2 357
    Points
    2 357
    Par défaut
    Afin de mieux appréhender vos relations, il serait préférable de produite le MCD de votre système.
    Les relations se déduiront ensuite naturellement.
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2006
    Messages : 7 674
    Points : 29 368
    Points
    29 368
    Billets dans le blog
    16
    Par défaut
    Bonjour,

    Citation Envoyé par Aymanamkasso
    Classe, Cours, Module->NumEns est
    redondante puisque on a cours, class->NumEns.
    Aymanamkasso, sur quoi vous basez-vous pour affirmer cela ?
    En fait, il faut démontrer que cette DF peut disparaître sans remettre en cause l’ensemble F des DF que vous proposez.

    C’est quand même pour cela que William Armstrong nous a fourni ses fort précieux axiomes que je reprends en annexe dans mon article sur la normalisation.

    Appuyons-nous sur ces axiomes et reprenons l’ensemble F de vos DF. Pour commencer appliquons la règle de décomposition faisant que le côté droit de chaque DF ne contient qu'un seul attribut (j’en profite pour donner un nom à chaque DF) :

    DF01 - Classe, Cours, Module -> NumEns
    DF02 - Classe, Cours, Module -> NomEns
    DF03 - ModEtud, Cours, Module -> Note
    DF04 - ModEtud -> NomEtud
    DF05 - ModEtud -> Classe
    DF06 - Cours -> Module
    DF07 - Cours -> NbHeure
    DF08 - Cours, ModEtud -> Note
    DF09 - Cours, Module -> NbHeure
    DF10 - NumEns -> NomEns
    DF11 - Cours, Classe -> NumEns

    Il devient possible de chercher un ensemble minimal pour F. Cet ensemble est minimal si :

    1. Le côté droit de chaque DF ne contient qu’un seul attribut ;
    2. Il n’existe aucune DF X -> A telle que l’ensemble F – {X -> A} soit équivalent à F.

    Le premier point a déjà été évoqué et appliqué.

    Expliquons le 2e point : la DF X -> A peut être supprimée si on sait l’inférer des autres DF.

    C’est le cas de la DF DF01. En effet, appliquons l’axiome d’augmentation à DF11, en y augmentant droite et gauche au moyen de l’attribut Module : on produit ainsi la DF :

    Cours, Classe, Module -> NumEns, Module

    A laquelle on applique la règle de décomposition pour produire :

    Cours, Classe, Module -> NumEns

    Cours, Classe, Module -> Module

    En vertu de l’axiome de réflexivité, si elle est absente cette dernière DF est reproductible et peut donc être supprimée.

    Reste donc :

    Cours, Classe, Module -> NumEns

    C’est-à-dire DF01, qu’on peut supprimer elle aussi, puisqu’on a prouvé qu’elle est inférable à partir de DF11.

    Prenons le cas de la DF DF02. Appliquons l’axiome d’augmentation à DF11, en y augmentant droite et gauche au moyen de l’attribut Module : comme ci-dessus on produit la DF

    Cours, Classe, Module -> NumEns

    DF02 peut être supprimée car on sait la produire à l’aide l’axiome de transitivité appliqué à DF11 et DF10 :

    Classe, Cours, Module -> NumEns et NumEns -> NomEns => Classe, Cours, Module -> NomEns

    DF03 peut être supprimée car on sait la produire à partir de DF08 :

    Cours, ModEtud -> Note

    laquelle par augmentation et décomposition donne :

    Cours, ModEtud, Module -> Note

    c’est-à-dire DF03.

    Ainsi, en l’absence de DF01, DF02 et DF03, l’ensemble F de départ reste intègre.

    Qu’en est-il de DF04 ? Supprimons cette DF. L’ensemble F’ des DF devient en fait un sous-ensemble strict de F, ce qui fait que DF04 ne peut pas être supprimée.
    Même punition si on supprimait DF05, DF06, DF07, DF08, DF10 et DF11.

    Reste le cas de DF09 : cette DF est inférable à partir de DF07 en utilisant l’axiome d’augmentation :

    Cours -> NbHeure =>
    Cours, Module -> Module, NbHeure

    Et par décomposition :

    Cours, Module -> NbHeure

    L’ensemble F des DF se réduit donc à :

    DF04 - ModEtud -> NomEtud
    DF05 - ModEtud -> Classe
    DF06 - Cours -> Module
    DF07 - Cours -> NbHeure
    DF08 - Cours, ModEtud -> Note
    DF10 - NumEns -> NomEns
    DF11 - Cours, Classe -> NumEns

    Soit encore en regroupant ce qui peut l’être :

    DF04 - ModEtud -> NomEtud, Classe
    DF06 - Cours -> Module, NbHeure
    DF08 - Cours, ModEtud -> Note
    DF10 - NumEns -> NomEns
    DF11 - Cours, Classe -> NumEns


    Citation Envoyé par Aymanamkasso
    Cette 3NF vous semble-t-elle correcte ?
    R1(Cours, ModEtu, Note)
    R2(ModEtu, NomEtu, Classe)
    R3(Cours, Classe, Numens)
    R4(Cours, Module, NbHeures)
    R5(Numens, Nomens)
    Pour parler de 3NF encore faut-il fournir les clés des variables relationnelles R1, R2, R3, R4, R5. Quelles sont-elles ? Sinon votre graphe du message #3 correspond à l’ensemble F que j’ai proposé.

    Vos variables relationnelles sont en phase avec l’ensemble F :

    R1 <=> DF08
    R2 <=> DF04
    R3 <=> DF11
    R4 <=> DF06
    R5 <=> DF10

    A ce stade, si on retient que les déterminants (parties gauches) des DF donnent lieu à clés, soulignons-les :

    R1(Cours, ModEtu, Note)
    R2(ModEtu, NomEtu, Classe)
    R3(Cours, Classe, Numens)
    R4(Cours, Module, NbHeures)
    R5(Numens, Nomens)

    Il est un fait que dans ces conditions les variables relationnelles sont en 3NF, et même mieux en BCNF, dont je rappelle l’énoncé donné par C. J. Date dans Database Design and Relational Theory, Second Edition :

    Relvar R is in Boyce/Codd normal for (BCNF) if and only if for every non trivial FD X -> Y that holds in R, the following is true:
    X is a superkey.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pout ça.

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2006
    Messages : 7 674
    Points : 29 368
    Points
    29 368
    Billets dans le blog
    16
    Par défaut
    Du côté de Looping :

    Nom : aymana(DF)MCD.png
Affichages : 45
Taille : 15,7 Ko

    A vérifier !
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pout ça.

Discussions similaires

  1. Trouver un poste développeur ABAP débutant
    Par marco_moes dans le forum SAP
    Réponses: 14
    Dernier message: 09/12/2014, 12h25
  2. Réponses: 5
    Dernier message: 06/01/2011, 17h27
  3. [QST] trouver un bon tuto pour débutant
    Par hannibal.76 dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 29/11/2010, 11h37
  4. Réponses: 3
    Dernier message: 13/05/2010, 18h30
  5. Réponses: 3
    Dernier message: 29/01/2010, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo