Bonsoir,
Remettons les compteurs à zéro.
Envoyé par
calito
Je n'arrive pas à comprendre l'association reflexive
Voici un exemple de MCD que j'ai trouvé:
d'apres l'explication du document: " chaque employé a 0 ou 1 supérieur hiérarchique direct. Simultanément, chaque employé est le supérieur hiérarchique direct de 0 ou plusieurs employés. EMPLOYE (id_Employe, Nom_Employe, #id_Sup_Hierarchique)
#id_Sup_Hierarchique est l'identifiant (id_Employe) du supérieur hiérarchique direct de l'employé considéré.
Pouvez m'aider à le comprendre, SVP.
Merci.
Pour une meilleure compréhension, ajoutons au schéma les rôles joués par l’employé : subalterne ou supérieur.
Ce schéma conceptuel se lit alors ainsi :
Un employé peut participer au plus une fois à l’association-type sup_hierarchique en y jouant le rôle de subalterne.
Un employé peut participer plusieurs fois à cette association-type en y jouant le rôle de supérieur.
Autrement dit : un employé peut être au plus une fois subalterne et un employé peut être plusieurs fois le supérieur d’autres employés.
Un employé peut ne pas être subalterne (cas du président) et tous les employés ne sont pas chefs (cas de la base). Ceci est exprimé par respectivement les cardinalités 0,1 et 0,N. A noter que remplacer 0,1 par 1,1 signifierait que le président à nécessairement un chef, ce qu'il risquerait de ne pas apprécier.
Par dérivation (disons avec Power AMC), le schéma conceptuel donne ensuite lieu à un schéma logique (niveau SQL) :
Ce qui symbolise ce que l’auteur du document a formulé ainsi :
EMPLOYE (id_Employe, Nom_Employe, #id_Sup_Hierarchique)
Schéma de table dans lequel
L'attribut id_Employe entre dans la composition de la clé primaire (pk) de la table EMPLOYE,
L’attribut id_Sup_Hierarchique entre dans la composition de la clé étrangère (fk) établissant une contrainte référentielle de la table EMPLOYE avec elle-même : un subalterne doit faire référence à son supérieur, lequel doit donc exister avant création du lien subalterne-supérieur.
Partager