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 :

BCFN et 3 FN


Sujet :

Schéma

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 957
    Points : 141
    Points
    141
    Par défaut BCFN et 3 FN
    Bonjour,


    J'ai bien lu les définitions données pour la BFCN ( avec les notions de surclé, dépendance fonctionnelle triviale) et je ne parviens toujours pas à faire la différence avec la 3 FN.

    Peut on dire que dans la 3 Fn on spécifie que toutes les DF entre l'identifiant et les propriétés d'une entité sont élémentaires et directes, alors que dans la FNBC on ajoute le fait que les seules DF qui puissent exister dans une entité sont celles entre l'identifiant et les propriétés de cette entité( ce qui laisse supposer que dans la 3 Fn il peut exister des dépendances fonctionnelles autres qu'entre l'identifiant et les propriétés d'une entité).

    Merci de votre aide.

    Cordialement.

    Nathalie Harbonne
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 966
    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 966
    Points : 30 787
    Points
    30 787
    Billets dans le blog
    16
    Par défaut
    Coucou Nathalie !


    On va tenter de résoudre ça avec Carlo Zaniolo, en reprenant ce que je vous avais raconté il y a quelques mois Nathalie et Zaniolo.

    Définition de la 3NF (Zaniolo) :

    Soit une table R, soit X un sous-ensemble quelconque d’attributs de R et soit A un attribut quelconque de R.
    R est en 3NF si pour chaque DF : X → A dans R, au moins une des conditions suivantes est remplie :

    1. X contient A (la DF est alors triviale).
    2. X est une surclé.
    3. A fait partie d’une clé candidate de R.

    Considérez la sempiternelle relvar R {Élève, Matière, Professeur}, qui a pour clé candidate le couple {Élève, Matière}. Supposons en plus qu’un professeur enseigne une seule matière.

    Les seules DF non triviales sont les suivantes :
    DF1 : {Élève, Matière} → {Professeur}
    DF2 : {Professeur} → {Matière}
    Les surclés sont les suivantes

    K1 : {Élève, Matière, Professeur}
    K2 : {Élève, Matière}

    Comme attribut A, considérez successivement chacun des attributs de R, à savoir Élève, Matière, Professeur.
    Ces attributs font tous partie d’une surclé, ils ne peuvent donc pas être la cause d’un viol de 3NF, puisque la condition 3 est toujours satisfaite.

    Définition de la BCNF (Zaniolo again) :

    Rappelez-vous : la définition de la BCNF est obtenue à partir de celle de la 3NF, tout simplement en supprimant la condition 3 (une chance en moins si vous préférez, autrement dit, la BCNF est plus contraignante que la 3NF).

    Supprimons-donc cette condition 3 de la définition.

    La DF {Professeur} → {Matière} n’est pas triviale, donc la condition 1 n'est pas satisfaite. Son déterminant {Professeur} n’est pas clé candidate, donc la condition 2 n'est pas satisfaite non plus.

    => Boum ! la BCNF est violée.


    A dans quelques mois...
    (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 averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut
    Par définition on peut dire que la 2FN contient la 1FN et que la 3FN contient la 2FN et donc la 1FN enfin si je me souviens bien !!

    Euh on parle bien de formalisme normalisé ?? lol
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 966
    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 966
    Points : 30 787
    Points
    30 787
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Sekigawa
    Par définition on peut dire que la 2FN contient la 1FN et que la 3FN contient la 2FN et donc la 1FN
    Le terme "contenir" prête trop à confusion, utilisez plutôt le terme "impliquer". J’emprunte à Chris Date la figure ci-dessous, qui d’un point de vue émotionnel tend à montrer que c’est la 1NF qui "contiendrait" la 2NF, etc.

    Il est préférable de dire que ces formes successives correspondent à des contraintes, des restrictions, de plus en plus fortes sur les relvars (ou tables, comme vous voulez). On peut encore dire qu’il y a de moins en moins de laxisme en ce qui concerne les redondances : la 2NF est moins laxiste que la 1NF, la 3NF que la 2NF, etc.



    Par contraste, la 2NF est donc plus contraignante que la 1NF, la 3NF est plus contraignante que la 2NF, etc.

    Dans le cas de l’énoncé de Zaniolo, si un ensemble X d'attributs d’une relvar R n'est pas surclé et si on autorise la présence d'une DF non triviale X → A (A étant un attribut faisant partie d’une clé candidate de R), on n’est pas en infraction par rapport à la 3NF, alors que si l'on déclare illégale cette DF (c'est-à-dire si l'on gomme le cas n° 3 de l'énoncé), R pourrait être délinquante par rapport à la BCNF (présence de redondances inutiles, du genre "on apprend 36 fois que le professeur Cézig enseigne le banjo et rien d’autre"). La BCNF est donc plus contraignante que la 3NF. Par contraste, dire que la BCNF contient la 3NF, me paraît être source d’ambiguïtés, d’interrogations, voire de contresens.
    (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.

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