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 :

passage de la 2ème à la 3ème forme normale: transitivité [Normalisation]


Sujet :

Schéma

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut passage de la 2ème à la 3ème forme normale: transitivité
    Bonjour,

    j'ai la relation
    R(V1->N; V1->R1; V2->C; V2 ->R2; V1, V2 -> Q; C -> R2; R1 -> N)
    Cette relation est en 1ère forme normale, car des attributs non clefs ne dépendent pas de la totalité de la clef (V1V2)

    Ma décomposition en 2ème forme normale est:

    R1 (V1,V2,Q)
    R2 (V1,R1,N)
    R3 (V2,R2,C)
    Et j'ai un doute pour la troisième forme normale:

    R1 (V1,V2,Q)
    R2 (V1,R1)
    R3 (V1,N)
    R4 (V2,R2)
    R5 (V2,C)
    A votre avis, dois-je rajouter
    R6 (R1,N)
    R7 (C,R2)
    ?

    Je dirais oui, car tout attribut non clef doit dépendre directement de la clef, mais j'ai des doutes.

    Car si on a V2->C et C->R2, alors on a V2->R2.

    Du coup, j'hésite entre ces deux 3FN:

    R1 (V1,V2,Q)
    R2 (V1,R1)
    R3 (V2,C)
    R4 (R1,N)
    R5 (C,R2)
    et

    R1 (V1,V2,Q)
    R2 (V1,R1)
    R3 (V1,N)
    R4 (V2,R2)
    R5 (V2,C)
    R6 (R1,N)
    R7 (C,R2)
    La première suffit-elle, à votre avis?

    Merci par avance pour votre aide,
    Johnny

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir John,

    Voilà un moment que nous n’avions pas échangé !

    Citation Envoyé par johnny3 Voir le message
    j'ai la relation
    R(V1->N; V1->R1; V2->C; V2 ->R2; V1, V2 -> Q; C -> R2; R1 -> N)
    Ceci n’est pas une relation, mais un ensemble de dépendances fonctionnelles vérifiées par la relation dont le schéma est le suivant :
    R {V1, R1, N, V2, C, R2, Q}
    Je vous prie de noter l’emploi des accolades plutôt que des parenthèses (car R est un ensemble dont les éléments sont les attributs V1, etc.) Un peu de rigueur ne fait jamais de mal.


    Citation Envoyé par johnny3 Voir le message
    Cette relation est en 1ère forme normale, car des attributs non clefs ne dépendent pas de la totalité de la clef (V1V2)
    Non. Si une relation est en 1ère forme normale, ça n’est pas pour le motif que vous invoquez (pour votre peine, je vous demande de me fournir le véritable motif). Par contre, en vertu de votre motif, la relation R viole la deuxième forme normale (2NF). Accessoirement, je vous recommande de noter la clé sous la forme {V1, V2}, car une fois de plus, il s’agit d’un ensemble dont les éléments sont V1 et V2.

    Venons-en à la bonne décomposition.

    1) On normalise en appliquant le théorème de Heath (1971) :
    Soit la relvar R {A, B, C} dans laquelle A, B et C sont des ensembles d’attributs de R. Si R satisfait à la dépendance fonctionnelle A B, alors R est égale à la jointure de ses projections sur {A, B} et {A, C}.
    2) On doit à Jorma Rissanen une règle importante, grâce à laquelle on évitera de perdre des DF :
    Soit la relvar R {A, B, C} dans laquelle A, B et C sont des ensembles d’attributs de R. Si R satisfait aux dépendances fonctionnelles A B et B C, alors plutôt que de décomposer R en {A, B} et {A, C}, on décomposera R en {A, B} et {B, C}.
    Votre relation R comporte les DF :
    DF01 : {V1} {N}
    DF02 : {V1 {R1}
    DF03 : {V2 {C}
    DF04 : {V2 {R2}
    DF05 : {R1 {N}
    DF06 : {C {R2}
    DF07 : {V1, V2 {R2}
    Et elle viole la 2NF à cause de DF01, DF02, DF03 et DF04.

    En appliquant le théorème de Heath sans tenir compte de la règle de Rissanen, on produit la décomposition que vous proposez :
    R1 {V1, V2, Q}

    R2 {V1,R1}

    R3 {V2, C}

    R4 {R1, N}

    R5 {C, R2}
    Mais on a perdu DF05 et DF06. Reprenons donc à zéro.

    Du fait de DF01 et DF02, par application du théorème de Heath, La relation
    R {V1, R1, N, V2, C, R2, Q}
    peut être décomposée ainsi :
    R01 {V1, R1, N}

    R02 {V1, V2, C, R2, Q}
    Vous observerez qu’aucune DF n’est perdue. Cela dit R01 viole la 3NF et pourrait être décomposée, comme vous l’avez fait, en :
    R011 {V1, R1}

    R012 {V1, N}
    mais on perd DF05. Si l’on tient compte de la règle de Rissanen, alors on décomposera R01 plutôt de la façon suivante :
    R013 {R1, N}

    R014 {V1, R1}
    Je vous laisse le soin de poursuivre, pour aboutir à un résultat comportant 5 relations, alors que votre résultat final en comporte 7 (dont 2 ne font partie du résultat que j’obtiens et peuvent disparaître).
    (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à pour ça.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    bonjour fsmrel!

    Oui, un moment, en effet! Et comme vous voyez, je me prends toujours la tête avec les bases de données, mais que voulez-vous, quand on aime, on ne compte pas!

    Pour la 1FN, en effet, ma raison n'est pas adéquate. C'est parce que tous les attributs qui la composent sont atomiques, c'est-à-dire non décomposables. C'est cela?

    Sinon, est-ce que ma décomposition en 2FN était correcte?

    R1 {V1,V2,Q}
    R2 {V1,R1,N}
    R3 {V2,R2,C}
    Vous avez décomposé R en
    R01 {V1, R1, N}
    R02 {V1, V2, C, R2, Q}
    , soit une version moins décomposée que la mienne. La mienne est-elle tout de même valable?

    Du coup, d'après ce que vous m'avez dit, je dirais que la décomposition en 3 FN est:

    R1 {V1,V2,Q}
    R2 {V1,R1}
    R3 {V2,C}
    R4 {R1,N}
    R5 {C,R2}
    On garde donc R4 et R5 et on "élimine" {V1,N} et {V2, C}

    Etes-vous d'accord avec moi?

    En vous remerciant par avance,
    Johnny

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir John,


    Citation Envoyé par johnny3 Voir le message
    Pour la 1FN, en effet, ma raison n'est pas adéquate. C'est parce que tous les attributs qui la composent sont atomiques, c'est-à-dire non décomposables. C'est cela?
    Oui. (On peut considérer que c’est un peu court et chercher à approfondir, mais je ne voudrais pas vous traumatiser et on en restera là.)

    Citation Envoyé par johnny3 Voir le message
    Sinon, est-ce que ma décomposition en 2FN était correcte?
    R1 {V1,V2,Q}
    R2 {V1,R1,N}
    R3 {V2,R2,C}
    Oui, mais je vous demande de le démontrer, à partir de la définition de la 2NF (dont une — parmi d’autres — figure dans une de vos discussions : « ma décomposition en 3FN est-elle correcte? »).


    Citation Envoyé par johnny3 Voir le message
    Vous avez décomposé R en
    R01 {V1, R1, N}
    R02 {V1, V2, C, R2, Q}
    , soit une version moins décomposée que la mienne. La mienne est-elle tout de même valable?
    Ma version est forcément moins décomposée, puisque, relisez mon message, je me suis contenté de vous indiquer la marche à suivre, en vous laissant le soin de poursuivre, pour aboutir à un résultat comportant 5 relations (je ne vais quand même pas vous donner tout de suite des solutions complètes...)


    Citation Envoyé par johnny3 Voir le message
    Du coup, d'après ce que vous m'avez dit, je dirais que la décomposition en 3 FN est:
    R1 {V1,V2,Q}
    R2 {V1,R1}
    R3 {V2,C}
    R4 {R1,N}
    R5 {C,R2}
    On garde donc R4 et R5 et on "élimine" {V1,N} et {V2, C}
    Etes-vous d'accord avec moi?
    Oui, on a bien les 5 relations attendues. Dites merci à M. Rissanen, car je vous prie de bien noter que si l’on essayait d’enfreindre les règles de gestion correspondant aux DF définies dans les messages précédents :
    DF01 : {V1} {N}
    DF02 : {V1 {R1}
    DF03 : {V2 {C}
    DF04 : {V2 {R2}
    DF05 : {R1 {N}
    DF06 : {C {R2}
    DF07 : {V1, V2 {R2}
    Alors le système rejetterait les tentatives « frauduleuses ».
    (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à pour ça.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    Ma version est forcément moins décomposée, puisque, relisez mon message, je me suis contenté de vous indiquer la marche à suivre, en vous laissant le soin de poursuivre, pour aboutir à un résultat comportant 5 relations (je ne vais quand même pas vous donner tout de suite des solutions complètes...)
    Je ne vous l'ai pas demandé. Je cherche juste à m'améliorer et à ne pas écrire trop d'âneries sur le forum

    Votre démarche est pour moi la bonne. Donner la solution n'aide pas à progresser. Je voulais juste savoir si votre première décomposition était en 2FN, car moins décomposée que la mienne. Je pensais que vous me laisseriez davantage chercher pour la 3FN, mais je suis d'accord, il faut laisser chercher les posteurs en leur indiquant des pistes.

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour John,


    Citation Envoyé par johnny3 Voir le message
    Je voulais juste savoir si votre première décomposition était en 2FN, car moins décomposée que la mienne.
    Ma première décomposition était la suivante :
    R01 {V1, R1, N}
    R02 {V1, V2, C, R2, Q}
    J’espère que maintenant vous êtes à même de dresser l’inventaire des DF fautives qui rendent R01 coupable de viol de 3NF et R02 de viol de 2NF.

    A un de ces jours, peut-être au sujet de la 4NF...

    Et bon vent,

    fsmrel
    (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à pour ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/05/2008, 16h45
  2. Formes normales, transitivité
    Par fasyr dans le forum Schéma
    Réponses: 1
    Dernier message: 16/04/2008, 12h42
  3. [FN]Question sur les formes normales
    Par joxbl dans le forum Schéma
    Réponses: 1
    Dernier message: 18/10/2005, 16h11
  4. 1ere ,2eme ...forme normal
    Par Melvine dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 24/05/2005, 23h05
  5. explication de définition-formes normales
    Par new_wave dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 25/01/2005, 13h40

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