Dans cette discussion je cherche à comprendre SVP le passage du MCD au MLD, voici une partie d'un MCD que j'ai créé:
En modèle logique je sais que id_countryexecution serait une clé étrangère dans l'entité "project", mais je veux comprendre s'il vous plaît, les cardinalités 1,1 et 0,N se traduisent où exactement, autrement dit, si on donne le MLD avec les deux tables et où id_countryexecution est une clé étrangère dans "project", comment peut-on déduire les deux cardinalités ?
Question plus générale: Comment traduire les cardinalités du MCD en MLD? et comment déduire les cardinalités du MCD à partir du MLD?
Bonjour il y a des règles simple prédéfinis sur les liaisons simple avec les cardinalites mais le mieux reste de te traduire ça en français pour que tu prennes l'habitude.
Si on prend le cas de projet location tu dis clairement qu'un projet se fera forcément dans une seule location 1,1 et une location peut être attribué à 0 comme à plusieurs projets. Donc location ne prend pas de clé étrangère c'est elle qui va distribuer ca clé aux projets
comment déduire ca
si tu me donnes
user(user_id, name, tatata)
course(course_id, course_name,...)
user_course(#user_id, #course_id)
deja on a l'entité user on a l'entité course ici je vois une nouvelle table qui contient la clé des deux tables donc forcément une laison entre ces deux tables
maintenant pourquoi est ce que ce serait intéressant d'avoir une table pour lier les deux et bien dans le cas où l'utilisateur peut avoir plusieurs cours donc la relation sera
sur user(0,n ou 1,n)
sur course(0,n ou 1,n)
ce type de relation dans les règles prédéfinis dont je parlais au dessus donne une nouvelle table
En bref pour moi au début il te faut essayer de traduire en français tes relations voir pourquoi les cardinalites sont logiques comme ça. Faire le cheminement inverse vient naturellement si tu a compris le cheminement de base
mais le problème ici location n'a pas de clé, donc de quelle clé tu parles quand tu dis elle va distribuer sa clé à la table "projets"?
pour la suite je pense avoir bien compris ce que tu dis, mais mon exemple est un peu différent, vu que id_country_of_execution est passé à la table projets, donc je ne vois pas pour quelle raison, ou bien comment cela a un rapport avec le type de sa relation avec "projets"
comme appelles tu ce qui est en gras et souligné ? peut être utilise tu et ton professeur utilise des termes différents quoique je me rappelle que les notres ne voulait pas entendre parler de clé dans un modèle entité relation, mais en bref je parles ce que tu as souligné et en gras. project_location quand a lui n'est que le nom de l'association que tu met entre les deux entités. Tu peux dans certains cas rajouter des champs à cet association mais elle n'a pas de clé.
Par exemple si on veut représenter un client qui va commander un livre
client(0,n) commande(quantité) livre (0.n)
là ici tu auras comme table
commande(client_id, livre_id, quantité)
ps je suis partit du fait que livre_id et client_id existent dans leur table.
Si nous ne parlons toujours pas de la même chose essaie d'expliquer différemment là ou ça ne va pas
edit: après relecture ce que j'ai dis en haut n'est pas clair, location est ton association et quand je parle de la clé je parle de la table qu'elle relis country_of_execution
La cardinalité (0,N) veut dire qu'il peut y avoir des pays qui n'ont pas de projets; la (1,1) veut qu'un projet a UN seul pays.
Dans les faits, tu n'as besoin ici de table intermédiaire project_location, et donc, comme tu l'indique id_country sera une étrangère dans project.
A partir du moment où il y a une clé étrangère, on peut en déduire une relation (1,1) ou (0,1) du côté de la table source et (0,n) ou (1,n) dans la table qui a la clé étrangère.
Si il y a une table avec plusieurs clés étrangères, il y a des relations (1,n) avec les tables dont sont issues les clés.
Passage du MCD au MLD
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
yasakani no magatama
yasakani no magatama