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

 SGBD Discussion :

Besoin conseil sur la forme 3NF d'un exemple de relvar


Sujet :

SGBD

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut Besoin conseil sur la forme 3NF d'un exemple de relvar
    Bonjour,

    Je suis en train de lire 'Introduction aux bases de données' 8ème édition de Chris Date et je voudrais avoir votre avis sur un exemple de BCNF (page 378, Chap. 12 sur la normalisation) :



    En-tête: Fournisseur, Nom, Produit, Quantité

    D'après le commentaire associé à l'exemple :

    - il y a 2 clés candidates: { S#, P# } et { SNAME, P# }

    - la relvar SSP est en 3NF mais pas en BCNF

    D'après ce que j'ai compris :

    La relvar est :

    - 1NF car les attributs sont atomiques

    - 2NF car les attributs non clés (juste QTY donc) sont en relation irréductible avec les clés

    Mais j'ai un soucis avec la 3NF car pour moi il y a transitivité (réciproque) S# <-> SNAME et une relvar contenant des DF transitives ne peut être 3NF. A moins que la transitivité ne concerne pas les clés ?

    Pouvez-vous m'éclairer là-dessus car du coup j'ai un blocage pour la BCNF ?

    En vous remerciant,

    C. Tobini

  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 965
    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 965
    Points : 30 774
    Points
    30 774
    Billets dans le blog
    16
    Par défaut
    Bonsoir C. Tobini,

    Je vois que l’on s’intéresse au sujet !

    La définition donnée par Chris Date de la 3NF fait l’hypothèse d’une clé candidate unique (page 372 de l’ouvrage que vous citez). Cette limitation me gêne et je préfère celle qui a été donnée par Ted Codd dans l’ouvrage (datant de 1971) cité par Date en bas de la page 378 :

    A relation R is in third normal form if it is in second normal form and every non-prime attribute of R is non-transitively dependent on each candidate key of R.

    non-prime attribute signifie : attribut n’appartenant à aucune clé candidate.

    Donc, la traduction donne ceci :

    Une relation R est en troisième forme normale si elle est en deuxième forme normale et si chaque attribut n’appartenant pas à une clé candidate ne dépend transitivement d’aucune clé candidate de R.

    Les choses deviennent donc plus claires : si un attribut participe à une clé candidate, il n’est pas concerné par les dépendances transitives, en tant que dépendant.

    La relvar SSP est bien en 3NF.

    Je vous conseille vivement d’étudier la définition de la 3NF et celle de la BCNF données par Carlo Zaniolo, de façon très rigoureuse (cf. page 385). Là vous n’aurez plus aucun problème d’interprétation.

    Il ne faudra pas que j'oublie de demander un jour à Chris Date pourquoi il a fait un tel choix de définition de 3NF (et 2NF, mutatis mutandis).

    En attendant, bon courage !
    (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
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Points : 123
    Points
    123
    Par défaut
    Bonjour fsmrel et merci de votre intervention,

    Je m'intéresse au sujet effectivement, c'est très intéressant et assez fastidieux que d'assimiler la théorie par petits bouts. Le problème étant essentiellement le peu de réels exemples disponibles sur le net, expliqués scolairement

    Merci de votre confirmation pour la 3NF, je vais de ce pas me référer à la définition Carlo Zaniolo, comme vous me le conseillez.

    Bonne journée et bon week-end,

    C. Tobini

  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 965
    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 965
    Points : 30 774
    Points
    30 774
    Billets dans le blog
    16
    Par défaut
    Bonsoir C. Tobini,

    Vive C. Zaniolo !
    Une fois assimilée la BCNF, vous pourrez jeter un coup d’œil à la 4NF...
    J’ai pondu quelques paragraphes, pour répondre à une question de Sat478.

    http://www.developpez.net/forums/sho...d.php?t=358397

    Je ne sais pas trop si j’ai été clair, si donc vous aviez le temps, merci de me donner votre avis (Y a pas le feu...)

    Bon courage à vous,

    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.

Discussions similaires

  1. [CSS 3] Besoin conseils sur ma mise en page CSS3
    Par Vinc06 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/02/2015, 15h58
  2. conseil sur create form
    Par looping dans le forum Langage
    Réponses: 4
    Dernier message: 19/03/2013, 20h49
  3. Réponses: 3
    Dernier message: 30/01/2012, 14h01
  4. conseil sur un form qui me sert de MessageDlg
    Par BuzzLeclaire dans le forum Langage
    Réponses: 4
    Dernier message: 01/03/2009, 23h56
  5. Réponses: 6
    Dernier message: 07/02/2007, 05h26

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