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 :

En quelle forme normale est R ?


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 6
    Points
    6
    Par défaut En quelle forme normale est R ?
    Soit R(ABCDEFG) une relation et F sa couverture fonctionnelle:
    F= {B->G, DB->AE, E->BCF, EC->G, C->F, F->G, BE->CG};
    après la calcul on a pigé:
    1-La couverture minimale IRR(F)={ B->G, DB->AE, E->BC, C->F, F->G}
    2- Les clés sont: DB et DE.
    le problème est:
    1- En quelle forme normale est R ?
    2- Si R n’est pas en BCNF alors faites en sorte qu’elle le soit. et Merci de vos réponses!

  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 002
    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 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    Vous avez effectué la partie la plus difficile du travail, c'est-à-dire déterminé la couverture minimale et la liste des clés de R. Je m’étonne donc que vous ne sachiez pas résoudre les points 3 et 4. Enfin, passons.

    Point 3

    Rappelons d’abord ce qu’est une dépendance fonctionnelle totale (ou élémentaire).
    Soit R une relation, X un sous-ensemble quelconque d’attributs de R et L un attribut quelconque de R. La dépendance fonctionnelle X {L} est dite totale (ou élémentaire) s’il n’existe pas Y strictement inclus dans X tel que Y {L}.
    Par ailleurs, puisque la paire {B, D} est clé candidate de votre relation R, cette paire constitue le déterminant (entre autres) d’autant de DF qu’il y a d’attributs :
    DF01 : {B,D} {A}
    DF02 : {B,D} {B}
    DF03 : {B,D} {C}
    DF04 : {B,D} {D}
    DF05 : {B,D} {E}
    DF06 : {B,D} {F}
    DF07 : {B,D} {G}
    Observons que la DF DF07 n’est pas totale, puisque, selon votre couverture, il existe {B} strictement inclus dans {B,D} tel que :
    DF08 : {B} {G}.
    Considérons maintenant l’énoncé de la 2NF :
    Une relation R est en deuxième forme normale (2NF) si elle est en première forme normale (1NF) et si chaque attribut n’appartenant pas à une clé candidate est en dépendance totale de chaque clé candidate de R.
    Admettons que votre relation R{A,B,C,D,E,F,G} soit en 1NF.
    L’attribut G n’appartient à aucune clé candidate (les seules clés étant les paires {B,D} et {D,E}). A cause de DF08, G ne dépend que d’une partie de la clé {B,D}, en conséquence de quoi votre relation R ne respecte pas la 2NF. Au mieux, elle respecte donc la 1NF.

    Point 4

    Pour normaliser, il est donc nécessaire d’évacuer l’attribut G de la relation (même chose pour l’ensemble des attributs fautifs). Ceci passe par l’application dut 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}.
    Ainsi, votre relation satisfait à la dépendance fonctionnelle {B} {G} et elle est égale à la jointure de ses projections R1 et R2 :
    R1{A,B,C,D,E,F}
    R2{B,G}.
    Je vous laisse le soin de vérifier si R1 et R2 sont oui ou non en 2NF, et dans la négative, poursuivre le travail de dénormalisation par application du théorème de Heath.

    Pour éviter de perdre certaines DF (donc des règles de gestion importantes), je vous engage à tenir compte de la règle de Rissanen quand deux décompositions sont possibles :
    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}.
    Ainsi, du fait des DF
    DF09 : {E} {C}
    DF10 : {C} {F}
    vous commencerez par traiter DF10 avant DF09.

    Attention, à la fin du travail, vous devriez vous retrouvez avec une relation ne comportant que les attributs B, D et E. La poursuite de la normalisation comporte alors un piège que je vous laisse le soin de découvrir.
    (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.

Discussions similaires

  1. [Normalisation] Quelle forme normale?
    Par gere34 dans le forum Schéma
    Réponses: 9
    Dernier message: 03/03/2016, 00h26
  2. Est elle en deuxième forme normale ?
    Par amin0 dans le forum ALM
    Réponses: 1
    Dernier message: 14/12/2014, 17h00
  3. Vérifier si le schéma d'une BDD est en 3e forme normale
    Par Tmutantv1 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/05/2012, 11h47
  4. Réponses: 1
    Dernier message: 10/09/2006, 23h24
  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