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 :

décomposition 3FN & BCNF [Normalisation]


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut décomposition 3FN & BCNF
    Bonsoir,

    je suis actuellement en train de reviser et voici un énoncé d'examen sur lequel je sèche complètement car mes réponses ne correspondent pas:
    Nom : Sans titre 1.png
Affichages : 714
Taille : 109,5 Ko

    Voici ce que je que j'en pense :

    1) cid, (JP à la limite mais comment c'est deux attributs je pense qu'il faudrait pas le mettre dans la réponse vu que c'est moins optimal)
    2) non ce n'est pas 3FN car la 3NF suppose qu'on enlève toute les df transitive
    3) vu que c'est pas 3NF ce n'est pas BNCF car BNCF est inclus dans 3NF
    4) la je sèche complètement : pourquoi normaliser en BCNF alors que c'est pas 3NF???

    J'ai quand même tenté le truc mais ca ne donne rien:

    J,S
    SD,P
    CID,J,D,Q,V

    mais la je retrouve une transitivité!! du coup toujours pas 3NF, donc pas BCNF

    ou est ce que je me trompe?

    merci

  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 112
    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 112
    Points : 31 586
    Points
    31 586
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par stupidgrin
    je pense qu'il faudrait pas le mettre dans la réponse vu que c'est moins optimal
    Sous réserve d’une définition précise qui vous aurait été donnée de ce qualificatif, il n’y a pas lieu de s’intéresser au caractère plus ou moins « optimal » des clés candidates !

    Donc dans la réponse il faut faire figurer la paire {J, P} en tant que clé candidate. D’autant plus que la 3NF et la BCNF ne sont vérifiables que si l’on examine l’implication de chaque clé candidate en relation avec chaque dépendance fonctionnelle.

    Par ailleurs la paire {J, D} est aussi clé candidate. En effet, en utilisant les axiomes d’Armstrong :

    La dépendance fonctionnelle {J} -> {S} est donnée, et si on lui applique l’axiome d’augmentation, alors {J, D} -> {S, D} ;

    Dans la foulée, la dépendance fonctionnelle {S, D} -> {P} est donnée, et par transitivité {J, D} -> {P} ;

    Par augmentation : {J, D} -> {J, P} ;

    A son tour par transitivité {J, D} détermine chaque attribut de l’en-tête de la variable relationnelle CONTRAT, {J, D} est donc clé candidate.


    A propos de la 3NF : on ne sait pas quelle définition vous en a été donnée. En tout cas celle de Zaniolo est excellente :

    Soit R une relvar, X un sous-ensemble d'attributs de l'en-tête de R et A un attribut de cet en-tête. R est en troisième forme normale (3NF) si et seulement si, pour chaque dépendance fonctionnelle X ➔ {A} qui doit être vérifiée par R, au moins une des conditions suivantes est satisfaite :

    1. A est un élément de X (cette dépendance fonctionnelle est donc triviale).
    2. X est une surclé de R.
    3. A appartient à une clé candidate de R.

    Dans votre cas, la dépendance fonctionnelle {J} -> {S} ne satisfait à aucune de ces 3 conditions : la 3NF est donc violée.

    La définition de la BCNF est celle de la 3NF débarrassée de la condition 3 : elle est violée elle aussi.

    Pour normaliser en BCNF sans perte d’information, il faut appliquer le théorème de Heath.

    En l’espèce, la relvar CONTRAT est à décomposer ainsi, histoire de la débarrasser de la dépendance fonctionnelle gênante {J} -> {S} :

    R11 = {J, S}
    R12 = {C, J, D, P, Q, V}

    Avec CONTRAT = R11 JOIN R12

    Il s’agit maintenant de vérifier que R11 et R12 sont en BCNF, et à défaut les décomposer à leur tour. Vous pourrez vous rendre compte que la BCNF est bien respectée tant pour l’une que pour l’autre, inutile de chercher à décomposer R12. En contrepartie, comme dans bien des traitements curatifs, on se rend compte qu’il y a des effets secondaires.

    En l’occurrence on a perdu la dépendance fonctionnelle, {J, P} -> {C}, c’est-à-dire une règle de gestion, ce qui peut être redoutable... Dans la réalité du terrain, on pourra préférer ne pas décomposer CONTRAT, et mettre en oeuvre une contrainte garantissant la dépendance fonctionnelle {J} -> {S}.

    A l’opposé, si on préfère décomposer CONTRAT, il faudra là aussi mettre en oeuvre une contrainte garantissant {J, P} -> {C}.

    A titre de curiosité, par application du théorème de Heath, vous pouvez par exemple décomposer CONTRAT ainsi :

    R21 = {J, P} -> {C}
    R22 = {S, J, D, P, Q, V}

    Mais je vous laisse réfléchir à la façon de pallier la perte des dépendances fonctionnelles initiales...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos indications

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

Discussions similaires

  1. ma décomposition en 3FN est-elle correcte?
    Par johnny3 dans le forum Schéma
    Réponses: 6
    Dernier message: 19/03/2009, 16h52
  2. [Normalisation] du mal à comprendre la 3FN et la BCNF
    Par johnny3 dans le forum Schéma
    Réponses: 2
    Dernier message: 20/11/2008, 20h23
  3. Décomposition d'une chaine de caractères
    Par stephdiplo150 dans le forum C
    Réponses: 3
    Dernier message: 04/03/2004, 22h50
  4. Décomposition RGB
    Par Claythest dans le forum Langage
    Réponses: 3
    Dernier message: 16/06/2003, 11h35

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