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 :

Trouve la forme normale


Sujet :

Schéma

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Points : 53
    Points
    53
    Par défaut Trouve la forme normale
    Bonjour

    Quesions trouver la forme normale et justifier

    R6{n°Produit,n°Fournisseur,Prix,NomFournisseur}

    Pour cette relation,il est bien en 1er forme noramle mais pas en 2 FN,est-ce qu'il a clé candidate seulement {n°Produit} ou {n°Fournisseur,n°Produit}.
    Et il existe la dépendance {n°Fournisseur,n°Produit}->{NomFournisseur}ou non .Je ne comprend pas pourquoi comme ça.Je pense qu'il dépend que
    {n°Fournisseur},
    et il existe la dépendance {n°Produit}->{n°Fournisseur} ou pas???

    Séjour(n°client,n°centre,n°semaine,type d'appartement)

    Je trouve qu'il est bien en 1er forme normale,et la clé candidate est
    {n°client,n°centre,n°semaine} si la clé candidate comme ça,il peut être en 2ème forme normale aussi??
    est-ce que c'est correcte?

  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
    Citation Envoyé par wang_xue
    Quesions trouver la forme normale et justifier

    R6{n°Produit, n°Fournisseur, Prix, NomFournisseur}

    Pour cette relation,il est bien en 1er forme noramle mais pas en 2 FN,est-ce qu'il a clé candidate seulement {n°Produit} ou {n°Fournisseur,n°Produit}.
    Et il existe la dépendance {n°Fournisseur, n°Produit}->{NomFournisseur}ou non .Je ne comprend pas pourquoi comme ça.Je pense qu'il dépend que
    {n°Fournisseur},
    et il existe la dépendance {n°Produit}->{n°Fournisseur} ou pas???
    Je pense que maintenant vous devez être capable de résoudre votre problème tout seul.

    Je dirai quand même que la composition de la clé dépend de la façon dont sont énoncées les règles et donc que le niveau de normalisation de la relvar peut varier : être ou ne pas être en 2NF.

    1er scénario

    Si le concepteur impose que chaque produit soit identifié de manière absolue, alors la clé est :
    {NoProduit}.
    Cela veut dire que si deux fournisseurs fournissent strictement le même produit, le concepteur aura décidé de toujours affecter des valeurs distinctes pour l’attribut NoProduit.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {NoFournisseur, NoProduit, NomProduit,     NomFournisseur, Prix}
         1             1       Kro 33 cl       Cézig           100
         1             2       Soda machin     Cézig           140
         2             3       Chocolat truc   Schmoll         100
         2             4       Kro 33 cl       Schmoll         105
    On a la DF : {NoProduit} -> {NoFournisseur, NomProduit, NomFournisseur, Prix}

    {NoProduit} est clé candidate car détermine fonctionnellement chaque {attribut} de la relvar. Je vous laisse le soin de prouver qu’il n’y a pas d’autre clé candidate.

    La seule clé existante est composée d’un seul attribut, en conséquence aucun attribut de peut dépendre que d’une partie de cette clé, donc la relvar est en 2NF.

    Par contre, la relvar n’est pas 3NF puisque {NoFournisseur} -> {NomFournisseur} et {NoFournisseur} n’est pas clé candidate.


    2e scénario

    Si le concepteur a décidé d’utiliser l’identification relative, en recommençant la numérotation des produits pour chaque fournisseur, la clé sera :
    {NoFournisseur, NoProduit}.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {NoFournisseur, NoProduit, NomProduit,     NomFournisseur, Prix}
         1             1       Kro 33 cl       Cézig           100
         1             2       Soda machin     Cézig           140
         2             1       Chocolat truc   Schmoll         100
         2             2       Kro 33 cl       Schmoll         105
    On a la DF : {NoFournisseur, NoProduit} -> {NomProduit, NomFournisseur, Prix}

    {NoFournisseur, NoProduit} est clé candidate car détermine fonctionnellement chaque {attribut} de la relvar.

    On a aussi la DF : {NomFournisseur} -> {NoFournisseur}

    Donc {NomFournisseur, NoProduit} -> {NomProduit, NoFournisseur, Prix}, par application des axiomes d’Armstrong.

    C'est-à-dire que {NomFournisseur, NoProduit} est aussi clé candidate.

    Mais il existe aussi la DF {NoProduit} -> {NomProduit}, en conséquence de quoi l’attribut non clé NomProduit ne dépend que d’une partie de la clé {NoFournisseur, NoProduit} (et aussi de la clé {NomFournisseur, NoProduit}), ce qui fait que la relvar n’est pas 2NF, contrairement à ce qui se passe dans le 1er scénario.

    Moralité :
    La 2NF et la 3NF n’offrent qu’un intérêt limité. Seule est vraiment intéressante la BCNF.
    (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 du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Points : 53
    Points
    53
    Par défaut
    je pense que le 1er scenario n'est pas possible,car n°produit qui ne peut pas déterminer le prix seulement,par exemble,
    n°produit n°fournisser prix nomfournisseur
    1 2 100 HP
    2 3 100 HP
    voyez bien si n°produit 1 détermine 100 et n°produit 2 aussi peut déterminer 100,ce n'est pas confortable par la définition 1NF ni 2NF.

    2 scenario est tout à fait correct,parce que avec les cléfs candidates
    { n°produit,n°fourinisseur} peut déterminer le prix et sans aucun doute,par exemple
    {n°produit n°fournisseur prix nomfournisseur}

    1 2 1900 HP ordinateur
    10 21 3200 SONY ordinateur

    Si on fait comme ça ,on peut savoir c'est qui à livrer le produit avec quel produit sans aucun douter,sinon n°produit peut déterminer un prix,et n°fournisseur peut déterminer un prix avec le même nomfournisseur,ce n'est pas correct dans la vie réelle.
    Est -ce que vous pouvez m'expliquer un peu sur le 2ème problème que je vous pose??
    s'il n'est en 2NF,car {n°client,n°semaine}->{n°centre},c'est par quel définition qu'on peut obtenier ça,je suppose qu'il a une partie de la clé
    {n°centre}dépend d'autre partie de clé {n°client,n°semaine} et par la définition 2NF,il n'existe pas un attribut non clé depend d'une partie de la clé,donc il n'est pas en 2NF,même si une partie de la clé dépend d'autre partie de la clé,ça sera pareil,n'est-ce pas??

  4. #4
    Membre averti Avatar de Soutou
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 328
    Points : 378
    Points
    378
    Par défaut
    Citation Envoyé par wang_xue Voir le message
    Bonjour
    R6{n°Produit,n°Fournisseur,Prix,NomFournisseur}
    Pour cette relation,il est bien en 1er forme noramle mais pas en 2 FN
    Pour simplifier les écrits de notre spécialiste de la théorie, je dirais que la relation n'est pas en 2FN car la DF nprod,nfourni -> nomfourni n'est pas élémentaire car elle n'est pas minimale en partie gauche

    en effet nfourni -> nomfourni suffit à déterminer nomfourni.

    En d'autres terme il ne faut pas que nprod soit clé primaire dans la relation contenant nomfourni.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Points : 53
    Points
    53
    Par défaut
    Oui,je suis d'acord,merci.

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

Discussions similaires

  1. Formes normales et champs multi-valués
    Par Doom dans le forum IHM
    Réponses: 3
    Dernier message: 08/02/2007, 12h58
  2. forme normale d'une table
    Par katkouta dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 05/06/2006, 22h20
  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