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 :

Quelle forme normale? [Normalisation]


Sujet :

Schéma

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut Quelle forme normale?
    Bonjour, j'essai de refaire quelques exos dont je n'ai pas la correction, donc je vous demande votre avis:

    En quelle FN sont les relations suivantes:
    (a) (R[V],E) avec V={Cours, Etudiant, Age, Note}
    et E={Cours,Etudiant->Note ; Etudiant->Age}

    (b) (R[V],E) avec V={Nom,Adresse,NumAppt,NumTel}
    et E={Adresse,NumAppt->Nom; Nom,Adresse->NumTel}

    Mon avis:
    (a) : En 1Fn car Age ne dépend que d'une partie de la clé (DF : Etudiant->Age et Clé:Cours, Etudiant)

    (b) :
    1er avis : En 1Fn car NumTel ne dépend que d'une partie de la clé (DF : Nom,Adresse->NumTel et Clé:Nom,Adresse,NumAppt)

    2eme avis : En 2fn car Nom,Adresse->NumTel mais Adresse,NumAppt->Nom donc la clé serai peut être juste Adresse,NumAppt
    Mais pas en 3FN car NumTel n'est pas "pleinement dépendant" de la clé
    Après réflexion, je penche plus pour cet avis

    Suis je sur la bonne voie?

    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Bonsoir,

    La définition de la deuxième forme normale est la suivante:

    Une relation est en 2NF si et seulement si elle est en 1NF et si chaque attribut non clé est en dépendance irréductible (totale) de chaque clé candidate de la relation.

    Pour vérifier si une relation viole la 2NF il faut déjà identifier ses clé candidates.

    Pour le premier cas, soit la relvar V et ses attributs Cours, Etudiant, Age, Note.
    V satisfait l'ensemble E de DF suivant:
    {Cours, Etudiant} → {Note}
    {Etudiant} → {Age}

    Les attributs Cours et Etudiant ne sont jamais présent dans les dépendants des DF, on en déduit qu'ils font automatiquement parti de la clé candidate.

    Pour vérifier si {Cours, Etudiant} est clé candidate, j'utilise l'algorithme de calcul de la fermeture d'un ensemble d'attribut décrit dans ce message.

    La fermeture {Cours, Etudiant}+ de {Cours, Etudiant} par rapport à E est égale à {Cours, Etudiant, Age, Note}.
    Le couple {Cours, Etudiant} détermine donc tous les attributs de la relvar, c'est une clé candidate.
    Il n'y a pas d'autre clé candidate.

    En se référant à la définition de la 2NF, on recherche les attributs non clé.
    Il y en a deux, Note et Age.
    L'attribut Age n'est pas en dépendance totale de la clé candidate.
    La 2NF est violée.

    Même démarche pour l'autre relvar.

    Soit la relvar V ayant comme attributs Nom, Adresse, NumAppt, Numtel.
    Soit E l'ensemble de DF suivant:
    {Adresse, NumAppt} → {Nom}
    {Nom, Adresse} → {NumTel}

    Le couple {Adresse, NumAppt} est la seule clé candidate.
    Il y a deux attributs non clé: Numtel et Nom.
    L'attribut NumTel n'est pas en dépendance totale de la clé.
    La 2NF est violée là aussi.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    merci beaucoup.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 7
    Points
    7
    Par défaut help, please.
    je vous prie de m'expliquer.

    la deuxième relation, pourquoi elle n'est pas en 2nf?

    merci

  5. #5
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Bonjour,

    Je me suis effectivement planté dans ce message écrit il y a bientôt 6 ans

    La deuxième relation est en 2NF.

    Pour tout ce qui concerne la normalisation vous pouvez maintenant vous référer directement à l'article écrit par fsmrel, et en particulier pour la 2NF à ce paragraphe.
    Ça sera bien plus sûr que ce que j'ai pu écrire


  6. #6
    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 Rétablissons la vérite !
    Bonjour idmoi2014,



    Citation Envoyé par idmoi2014
    la deuxième relation, pourquoi elle n'est pas en 2nf?
    Très bonne question ! Montrons qu’en fait la deuxième forme normale est respectée.

    La relvar en cause est la suivante :

    V = {Nom, Adresse, NumAppt, NumTel}

    Cette relvar est dotée de l’ensemble de dépendances fonctionnelles E :

    E = {{Adresse, NumAppt -> Nom}, {Nom, Adresse -> NumTel}}


    Je suppose que, à la manière d’Oishiiii, vous avez démontré que :

    K = {Adresse, NumAppt} est clé candidate ;

    Et démontré qu’il n’y a pas d’autre clé candidate.


    Pour qu’il y ait viol de la deuxième forme normale, il faudrait qu’au moins un des attributs de V n’appartenant pas à K, à savoir Nom et NumTel, soit déterminé par un sous-ensemble strict de K.


    1er sous-ensemble strict de K : K1 = {Adresse}.

    Vérifie-ton {Adresse} -> {Nom} ? La réponse est négative, car cette prétendue dépendance fonctionnelle n’appartient pas à E.

    Vérifie-ton {Adresse} -> {NumTel} ? La réponse est négative, car cette prétendue dépendance fonctionnelle n’appartient pas à E.


    2e sous-ensemble strict de K : K2 = {NumAppt}.

    Vérifie-ton {NumAppt} -> {Nom} ? La réponse est négative, car cette prétendue dépendance fonctionnelle n’appartient pas à E.

    Vérifie-ton {NumAppt} -> {NumTel} ? La réponse est négative, car cette prétendue dépendance fonctionnelle n’appartient pas à E.


    Il n’existe pas d’autre sous-ensemble strict de K (sinon l’ensemble vide {} )


    Conclusion :

    La relvar V respecte la deuxième forme normale !


    N.B. J’ai utilisé le terme relvar plutôt que relation, car une relation est seulement une valeur de variable relationnelle aka relvar.
    (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.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos réponses.

    Soit E l'ensemble de DF suivant:
    {Adresse, NumAppt} → {Nom} ... 1
    {Nom, Adresse} → {NumTel} ....2

    Le couple {Adresse, NumAppt} est la seule clé candidate.
    Il y a deux attributs non clé: Numtel et Nom.

    par augmenatation de 1, on a:
    {Adresse, NumAppt,adresse} → {Nom, adresse} ...3
    donc { NumAppt,adresse} → {Nom, adresse} ...4
    et nous avons {Nom, Adresse} → {NumTel} ....2 donné
    et par transitivité (4,2):
    { NumAppt,adresse} → {NumTel}........5
    donc la relation est en 2nf
    mais elle n'est pas en 3nf car 5 n'est pas directe.

    Bien à vous

  8. #8
    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 Pour une démonstration valide
    Citation Envoyé par idmoi2014
    par augmenatation de 1, on a:
    {Adresse, NumAppt,adresse} → {Nom, adresse} ...3
    donc { NumAppt,adresse} → {Nom, adresse} ...4
    et nous avons {Nom, Adresse} → {NumTel} ....2 donné
    et par transitivité (4,2):
    { NumAppt,adresse} → {NumTel}........5
    donc la relation est en 2nf
    mais elle n'est pas en 3nf car 5 n'est pas directe.

    Vous avez démontré qu’il existe la dépendance fonctionnelle {NumAppt, Adresse} → {NumTel}, mais ça n’est pas pour autant que vous avez démontré que la relvar est en deuxième forme normale !

    De même en ce qui concerne la troisième forme normale, votre démonstration ne vaut pas, car vous avez oublié que {NumAppt, Adresse} est clé candidate, en conséquence de quoi {NumAppt, Adresse} → {NumTel} ! Ce qui n'est pas un argument pour la démonstration...

    Pour démontrer que la troisième forme normale est violée, il faut s’intéresser à la DF {Nom, Adresse} → {NumTel}. A cet effet, prenons la définition suivante de la troisième forme normale, tirée de l’ouvrage de C.J. Date (le plus grand spécialiste de la théorie relationnelle, avec Hugh Darwen), Database Design and Relational Theory Normal Forms and All That Jazz, définition ayant pour origine la définition donnée par Carlo Zaniolo (je traduis) :

    La relvar R est en troisième forme normale (3NF) si et seulement si, pour chaque dépendance fonctionnelle non triviale X → Y valant pour R, soit (a) X est une surclé, ou (b) Y est une sous-clé.

    Considérons la dépendance fonctionnelle suivante (non triviale) :

    {Nom, Adresse} → {NumTel}

    En l’occurrence, le déterminant {Nom, Adresse} n’est pas surclé (sa fermeture {Nom, Adresse}+ est seulement égale à {Nom, Adresse, NumTel}), et d’autre part le dépendant {NumTel} n’est pas sous-clé (n’appartient pas à {Adresse, NumAppt} qui est la seule clé candidate) :

    La dépendance fonctionnelle en cause ne répond pas à la condition requise, la troisième forme normale est donc violée... ∎
    (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.

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 7
    Points
    7
    Par défaut Yes, vous avez tout juste!
    "Vous avez démontré qu’il existe la dépendance fonctionnelle {NumAppt, Adresse} → {NumTel}, mais ça n’est pas pour autant que vous avez démontré que la relvar est en deuxième forme normale ! "

    oui, c'est exact, vous avez raison.
    c'est exactement comme vous l'avez montré précédemment. il y a en effet une dépendance complète avec la clé. donc R en 2nf.


    Mais pour la 3nf . "R n'est pas en 3nf si un attribut non clé détermine un autre attribut non clé".

    qu'est ce que vous en pensez?

  10. #10
    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 Définition non valide de la 3NF
    Citation Envoyé par idmoi2014
    Mais pour la 3nf . "R n'est pas en 3nf si un attribut non clé détermine un autre attribut non clé".
    Il est exact que si un attribut non clé de R détermine un autre attribut non clé de R, alors R n’est pas en 3NF. Mais il ne s’agit que d’un cas particulier qui ne peut être érigé en règle absolue pour qualifier la 3NF. Ainsi, pour reprendre l’exemple dont on a traité, les attributs non clés sont Nom, et NumTel, et aucun d’eux ne détermine l’autre : si on tenait pour valide dans l’absolu cette définition pour le moins approximative, la relvar V respecterait la 3NF, alors qu’on a démontré le contraire...

    => Poubelle !
    (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.

Discussions similaires

  1. [Normalisation] En quelle forme normale est R ?
    Par flower_info dans le forum Schéma
    Réponses: 1
    Dernier message: 25/03/2009, 15h56
  2. [MySQL] Sous quelle forme dois-je envoyer la date vers BDD ?
    Par Death83 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 22/12/2005, 09h15
  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