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 :

contrainte sur entités


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 contrainte sur entités
    Bonjour,

    Voici un nouveau cas de figure:

    Dans une entreprise, les salariés ont un numéro, un nom et un prénom, une date d'embauche.

    Les ouvriers sont exclusivement des hommes, ils ont un taux horaire et travaillent dans des ateliers.

    Les cadres peuivent bénéficier d'une retraite complémentaire et parmi eux, les dirigeants peuvent consitiuer un stock-option.

    Sur le corrigé de la modélisation de ce MCD, on voit les entités Dirigeant et CAdre avec un lien d'héritage entre ces deux entités( l'entité "dirigeant" est l'entitité spécifique de l'entité "cadre")un dirigeant est un cadre qui a en plus un stock-option) .
    Il existe , de plus, une contraite de partition( XT) au niveau du triangle qui les relie.
    Cette contrainte de partition peut elle être interprétée ainsi : parmi les cadres il y a des dirigeants et des non dirigeants et aucun cadre qui soit à la fois dirigeant et non dirigeant et aucun cadre qui soit autre chose que dirigeant ou non dirigeant.
    Du fait que sur le dessin on ne voit aucune entité "non-dirigeant" peut on supposer qu'elle existe ou est ce un problème?
    Peut on , à chaque fois qu'on voit un tel cas, supposer qu'il existe une entité qui soit le "contraire" de l'entité spécifique concernée par la contrainte entre entités( ici contrainte de partition).

    Merci encore beaucoup de votre aide.

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

  2. #2
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    La contrainte de partition d'exclusion (XT) entre deux entités (CADRE et DIRIGEANT) dit qu'un salarié est soit l'un soit l'autre mais
    pas les deux en même temps, autrement dit un dirigeant ne peut pas être en même temps un "non dirigeant".

    => Deux ensembles disctincts: {DIRIGEANT} et {NON DIRIGEANT}

    La relation d'héritage nous dit que le descendant fait tout ce que l'ancêtre sait faire, donc un dirigeant fait tout ce qu'un cadre sait faire,
    en plus il a des stocks options. Comme cadre n'a pas de stock option, ce n'est pas un dirigeant .

    => Par définition de l'héritage: dirigeant "est un" cadre.

    => Deux ensembles: {DIRIGEANT} et {CADRE} avec {DIRIGEANT}<>{CADRE}

    Donc {CADRE} = {NON DIRIGEANT}

  3. #3
    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 contrainte entre entités
    Bonjour et merci beaucoup de votre aide.
    Si j'ai bien compris : la contrainte s'exprime entre les entités cadre et dirigeant.
    Ce qui signifie qu'un cadre ne peut pas être dirigeant en même temps.
    C'est un peu difficile à concevoir dans le sens où un dirigeant est au moins un cadre.
    Si on avait eu deux entités spécifiques cela aurait été plus facile car les propriétés sont spécifiques à chacune d'elles et on peut concevoir qu'on ne soit pas les deux à la fois.
    Pouvez vous me confirmer si j'ai bien compris ou pas.

    Merci beaucoup à vous.

    Cordialement.

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

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je pense qu'il y a une erreur sur le schéma !
    Si Dirigeant hérite de Cadre, comme l'a dit Chaplin, Dirigeant est un Cadre. Il ne peut donc y avoir de partition entre Dirigeant et Cadre.
    Par contre, s'il y a des Cadres qui ont d'autres attributs spécifiques que n'ont pas les Dirigeants, il manque une autre entité héritant de Cadre et dans ce cas la partition serait justifiée.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    J'aurais envi de dire que le problème est vicieux bien que je me suis lancer dans une explication sans prétendre dire la vérité.

    Pour illustrer ce problème, j'aurais envi de parler du cas de la voiture et d'une 205. Une 205 est une voiture au sens de l'héritage, mais une voiture n'est pas une 205 au sens de la substitution. Si je prend une 2 CV, c'est une voiture mais ce n'est pas une 205. Au sens de l'appartenance, 2 CV est a classer dans l'ensemble des voitures comme les R4 ou tous les modèles qui ne sont pas des 205. Seules les modèles de voitures qui répondent au critère 205 peuvent être classés ou appartenir à l'ensemble 205.

    Dans le cas du dirigeant, c'est un cadre spécialisé, en utilisant l'héritage, on dira que dirigeant sait faire plus que cadre, inversement un cadre sait moins faire qu'un dirigeant donc il ne peut pas être un dirigeant.

    Je pense que ce problème permet de faire la différence entre la fonction et l'appartenance, autrement dit ce que l'héritage exprime et la partition exprime.

    La particularité d'une contrainte de partition d'exclusion (ie XT), c'est de dire que qu'un cadre ne peut être à la fois cadre et dirigeant et qu'un cadre au sens d'un employé ne peut être ni cadre ni dirigeant. De part la nature de la contrainte, il faut faire une décomposition descendante autrement dit les tables physiques résultantes auront tous les attributs de cadre dans la table cadre et dans la table dirigeant. Comme un cadre ayant la fonction de cadre ne peut pas à la fois ni appartenir au groupe cadre ni appartenir au groupe dirigeant, la notion de cadre au sens d'un type de personnel devient une notion abstraite. L'énnonce joue avec les mots.

    Si je me trompe, au moins tu auras des avis différents sur le sujet.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Un peu de lecture sur l'héritage avec exclusion mutuelle :
    http://sqlpro.developpez.com/cours/m...n/heritage/#L5
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Je demande à voir l'énoncé et la correction du MCD, on sera fixé .

  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
    Bonjour,

    Je vais essayer à mon tour d'interpréter ce que veut dire Nathalie :

    Si la classe NonDirigeant n’a pas de propriétés particulières, alors il n’est pas nécessaire de la représenter. C’est un peu l’histoire des ellipses et des cercles : Cercle est un sous-type d’Ellipse, mais tant qu’on n’aura pas démontré que les ellipses qui ne sont pas des cercles présentent un intérêt dans le cadre de notre activité, alors inutile de mettre en œuvre un sous-type EllipseNonCercle. C’est ce que dit Guillaume d’Ockham : Ne multipliez pas les entités au-delà du nécessaire.

    Dans le MCD ci-dessous, la classe NonDirigeant doit disparaître dès lors que sa présence n’apporte pas de valeur ajoutée dans le cadre du projet. Mais si un jour, on décide que les cadres qui ne sont pas des dirigeants ont droit par exemple à des primes particulières, alors la classe NonDirigeant devra être modélisé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
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Si la classe NonDirigeant n’a pas de propriétés particulières, alors il n’est pas nécessaire de la représenter.
    Comme la classe fille n'a pas d'attribut supplémentaire par rapport à la classe mère, cela revient à dire que Classe mère est équivalent à classe fille et donc comme ils ont les même attributs on peut les confondre.

    Rien ne vaut un beau dessin qu'un long discours

  10. #10
    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 contraintes sur entités
    Bonsoir,


    Je vous remercie tous de vos explications que je retiens.
    Voici le corrigé à l'exercice dont l'énoncé indique que les cadres peuvent beneficier d'une retraite complementaire et parmi eux les dirigeants peuvent constituer un stock option
    Vous pouvez constater qu'il existe bien une contrante de partition entre les entités cadres et dirigeants mais qu'il n'y a pas deux entités filles de l'entité cadre.

    Pouvez vous me dire ce que vous pensez donc de cette correction.

    Merci beaucoup à vous.

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

  11. #11
    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 à propos de contrainte de partition dur entité
    Rebonsoir,

    A la relecture de la réponse de Fsmrel, dois je en conclure qu'il est possible de modéliser ainsi, c'est à dire ne pas indiquer de sous entité non-dirigeant et d'indiquer une contrainte de partition entre les entités cadre et dirigeant.
    Ceci signifie alors qu'un cadre ne peut pas être également dirigeant ( et pas le fait qu'un dirigeant ne peut pas être en mêm temps un cadre ce qui est faux)et que parmi la population des cadres il n'existe pas "autre chose" que des cadres et des dirigeants.

    Merci de me dire si mon interprétation est correcte.

    Cordialement.

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

  12. #12
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Je n'ai pas utilisé Merise depuis un moment, mais est-ce que le fait que l'éventuelle classe NonDirigeant n'a aucun attribut supplémentaire par rapport à la classe Cadre ne la rend pas implicite?
    Plus clairement: tout cadre n'étant pas un dirigeant est par défaut un cadre NonDirigeant.

  13. #13
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par harbonne Voir le message
    Rebonsoir,

    A la relecture de la réponse de Fsmrel, dois je en conclure qu'il est possible de modéliser ainsi, c'est à dire ne pas indiquer de sous entité non-dirigeant et d'indiquer une contrainte de partition entre les entités cadre et dirigeant.
    Ceci signifie alors qu'un cadre ne peut pas être également dirigeant ( et pas le fait qu'un dirigeant ne peut pas être en même temps un cadre ce qui est faux)et que parmi la population des cadres il n'existe pas "autre chose" que des cadres et des dirigeants.

    Merci de me dire si mon interprétation est correcte.

    Cordialement.

    Nathalie
    C'est comme ça que je l'interprète aussi. Le schéma de la correction correspond à celui de fsmrel.
    La représentation continue de me choquer quand même ! Une partition entre quelque chose et... rien !
    Dirigeant hérite de Cadre donc un dirigeant est un cadre avec des attributs particuliers. Un simple symbolisme d'héritage serait selon moi suffisant. Ou alors il faut que je relise tout le topic et je n'ai pas le temps maintenant !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  14. #14
    wazup
    Invité(e)
    Par défaut
    Je suis d'accord avec cinephil.


    Pour moi le corrigé est un schéma incomplet.

    la partition sur un héritage se comprend comme "les entites filles forment une partition de l'ensemble des occurences des entités filles".

    Autrement dit, dans le cas qui vous intéresse, dirigeant est une partition de l'ensemble des ... dirigenats uniquement !
    (ce qui est vrai, puisque c'ets le cas extreme : {dirigeant} = {dirigeant} + {vide}

    Par contre ceci ne représente surtout pas une partition entre {dirigeant} et {cadre} puisque {cadre} = {dirigeant} tel que représenté !

    La correction est tout simplement fausse : il manque une super-entité de laquelle hériterait dirigeant ET cadre (en partition, là ça aurait un sens) avec conservation du reste du schéma.

    Et encore! Les héritages sont fantaisistes, car il est dit dans l'énoncé que les ouvriers sont exclusivement des hommes. Donc homme dvrait être un surtype d'ouvrier, au lieu d'avoir une multitude d'héritage en premiere filiation de {salarie}... ceci me semble peu clair dans son ensemble, et il doit y avoir moyen d'obtenir un système plus clair.


    En outre, j'ai vu dans les citations "qu'il n'y avait pas lieu de faire des sous-types sans attribut".

    Là encore, c'est faux, car le sous-type peut servir à mettre des associations spécifiques, c'est d'ailleurs ce qu'on voit avec {BUREAU}.

  15. #15
    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 fichier joint pour la compréhension d'un cas d'agrégat
    Voici un fichier joint qui permttra de comprendre le cas d'un agrégat entre les entités CLASSE et MATIERE
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

Discussions similaires

  1. SQLServer 2000: Liste des contraintes sur une colonne ?
    Par swirtel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2005, 16h13
  2. retrouver les contraintes sur une colonne
    Par kalari dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/10/2005, 17h03
  3. Réponses: 3
    Dernier message: 28/04/2005, 16h56
  4. [Interbase] Mettre une contrainte sur un champ
    Par mika dans le forum InterBase
    Réponses: 2
    Dernier message: 26/01/2005, 14h04
  5. contrainte sur deux champs d'une table
    Par bdkiller dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/09/2004, 18h26

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