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 :

[MCD]contradiction au niveau des règles de normalisation


Sujet :

Schéma

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut [MCD]contradiction au niveau des règles de normalisation
    Bonjour,

    Dans les règles de modélisation il est écrit qu'une même propriété ne peut pas apparaître deux fois au niveau du MCD.

    Or, dans la décomposition d'une entité qui n'est pas en 3 Fn (car il existe un Df entre une propriété non identifiant et une autre propriété non identifiant), la règle est de diviser chaque entité en deux nouvelles entités.

    La nouvelle entité aura comme identifiant la propriété dont vient la DF et comme propriétés celles qui dépendent de ce nouvel identifiant.
    Voici un exemple:

    Voiture(N°Stock, marque, année, prix)
    Si l'on suppose qu'iol existe une Df entre "année" et "prix", ce qui signifie que l'entité "Voiture " n'est pas en 3 FN on décompose cette entité en deux entités
    Voiture(N°Stock, marque, année)

    Prix_vente(Année, prix)

    La propriété "année " existe bien deux fois dans le MCD mais une fois en tant que propriété élémentaire clé étrangère et une autre fois en tant qu'identifiant.


    En fait lorsqu'on dit qu'une propriété ne peut pas apparaître deux fois dans le MCD veut on dire qu'elle ne peut pas apparaître deux fois avec la même fonction?
    Dans ce cas, en effet, la règle s'appliquerait bien car dans notre cas la propriété "année" apparaît deux fois mais avec deux fonctions différentes.

    Par ailleurs, est il exact de parler de 'clé étrangère' au niveau du MCD alors que je pensais qu'on abordait ces notions qu'au niveau du MLD?
    En effet, après la décomposition de l'entité 'Voiture', la propriété 'année" apparaît bien en tant que clé étrangère dans l'entité "Voiture".

    Merci beaucoup de votre aide pour tout.

    Cordialement.


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

  2. #2
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,

    Une clef étrangère ne doit pas apparaitre ds 1 MCD.
    C'est la traduction d'une association.

    Tel que tu le présentes il faudrait faire apparaitre une entité ''année''.
    ''Prix_vente'' est une association porteuse de propriété (prix) entre ''Voiture'' et ''Année''. (au niveau physique la PK sera constituée des 2 FK voiture et année)
    La propriété ''année'' de ton entité ''voiture'' disparait. (Elle sera disponible dans ''Prix_vente'').
    Année n'apparait donc bien qu'une fois ds le MCD.

  3. #3
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut Attention aux confusions ! ! !
    Bonjour Nathalie,
    Citation Envoyé par harbonne Voir le message
    Dans les règles de modélisation il est écrit qu'une même propriété ne peut pas apparaître deux fois au niveau du MCD.
    C'est vrai, dans un MCD.

    Mais ceci :
    Citation Envoyé par harbonne Voir le message
    Voiture(N°Stock, marque, année)
    Prix_vente(Année, prix)
    est un schéma relationnel.

    Le Modèle Conceptuel de Données est un modèle de la méthode Merise. Il fait partie de la famille des modèles Entité-Association. Le schéma relationnel est propre à la théorie relationnelle de Codd.

    Même si l'un et l'autre sont approchants, ce n'est pas la même chose. Une règle valable dans l'un ne l'est pas forcément dans l'autre. Pas de chance, tu es tombée sur l'une d'entre elles !

    Voici le MCD correspondant à ton cas :
    Nom : Harbonne.gif
Affichages : 272
Taille : 3,1 Ko
    Tu peux constater que la propriété "Année" n'y apparaît qu'une seule fois.

    Citation Envoyé par harbonne Voir le message
    Par ailleurs, est il exact de parler de 'clé étrangère' au niveau du MCD
    Certainement pas ; mais, encore une fois, tu confonds le schéma relationnel et le MCD.

    J'espère que cela aura clarifié les choses pour toi.


    JPhi33
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut décomposition d'une entité non en 3 Fn
    Bonsoir et merci beaucoup de votre aide.

    Le cas que j'ai évoqué est celui de la décomposition d'une entité qui n'est pas en 3 FN.

    Je comprends maintenant que dans le cours que j'ai consulté à cette adresse
    http://wwwens.uqac.ca/~pdelisle/8inf...ers/Cours6.pdf
    il y a eu une confusion au niveau de l'explication p2.
    Je suppose que la même erreur a été faite pour la décomposition d'une entité qui n'est pas en 2 FN avec l'exemple suivant :
    Television(marque,modele, modeson, résolution)

    Il y a une Df entre modele et modeson .
    On divisera l'entité TELEVISION en deux entités
    Television(marque,modele, resolution)
    MODELETV(modele, modeson)

    Je vois que la propriété "modele" apparaît deux fois: une fois en tant que partie de l'identifiant et une autre fois en tant qu'identifiant simple.
    Il y a donc visiblement une erreur.
    Est ce celle qui consiste à donner le même nom à la propriété "modele"alors qu'elle doit porter un autre nom au niveau de la nouvelle entité créée???

    Je vois que je fais les frais d'un cours mal expliqué.

    J'avoue que je suis en peu perdue

    Merci encore de votre aide.
    Cordialement.

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

  5. #5
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Citation Envoyé par harbonne Voir le message
    Je comprends maintenant que dans le cours que j'ai consulté à cette adresse
    http://wwwens.uqac.ca/~pdelisle/8inf...ers/Cours6.pdf
    il y a eu une confusion au niveau de l'explication p2.
    [...]
    Je vois que je fais les frais d'un cours mal expliqué.
    Désolé de te contredire mais ce cours est bien expliqué. La confusion que tu fais est qu'on y traite du modèle relationnel et non pas du modèle Entité-Association ni du Modèle Conceptuel de Données Merise. Donc la règle stipulant qu'une propriété ne peut pas apparaître 2 fois dans un MCD n'a pas lieu d'être dans ce cours. D'ailleurs :
    - le mot propriété n'y est jamais cité, on y parle d'attributs
    - le mot entité n'apparaît qu'une seule fois (même s'il est tout à fait valable pour le modèle relationnel) mais le mot table est cité 80 fois.
    Il s'agit donc bien d'un cours sur la normalisation du modèle relationnel.

    Citation Envoyé par harbonne Voir le message
    Je vois que la propriété "modele" apparaît deux fois: une fois en tant que partie de l'identifiant et une autre fois en tant qu'identifiant simple.
    Il y a donc visiblement une erreur.
    A la lumière de ce que j'ai expliqué ci-dessus, tu devrais maintenant comprendre qu'il n'y a pas d'erreur.


    Bon courage !
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  6. #6
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,
    Voici le MCD correspondant à ton cas :
    Pièce jointe 24006
    Tu peux constater que la propriété "Année" n'y apparaît qu'une seule fois.
    Jolie correction JPhi33.
    Je n'avais pas vu qu'il s'agissait de l'énoncé d'un exo, et pas d'une question. Notamment :
    Si l'on suppose qu'iol existe une Df entre "année" et "prix",
    cette DF me paraissant pour le moins ''improbable''

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut problème d'explication
    Merci de toutes ces interventions.

    Le problème est que l'on ne normalise pas un MLD mais un MCD et toutes ces règles de décomposition sont effectuées au niveau du MLD ce qui n'est pas correct .
    C'est ce qui a fait que j'ai simplement changé les termes "attributs " en "propriétés" et "table" en "entité" car nombre de fois j'ai vu qu'on utilisait ces termes("tables" et "attributs") avant même d'être passé au niveau logique!!!

    Je pense quand même qu'il y a erreur dans la démarche.


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

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

Discussions similaires

  1. Liste des règles à respecter
    Par Community Management dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/02/2013, 22h19
  2. Réponses: 16
    Dernier message: 21/02/2009, 13h34
  3. [IMPORTANT] Rappel des règles
    Par Community Management dans le forum C++
    Réponses: 4
    Dernier message: 11/12/2006, 23h11
  4. [IMPORTANT] Rappel des règles
    Par Geronimo dans le forum Outils pour C & C++
    Réponses: 3
    Dernier message: 21/08/2005, 09h05

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