web-dev-qa-db-fra.com

Relations un à plusieurs dans le diagramme ER

J'essaie de montrer ce qui suit dans le diagramme ER:

There are instructors and courses, a course is taught by only one instructor
whereas an instructor can give many courses.

enter image description here

enter image description here

Ma question est la suivante: y a-t-il une différence entre deux diagrammes, en d'autres termes, est-ce que la ligne que nous transformons en flèche est importante, ou qu'est-ce qui importe, c'est seulement la direction de la flèche?

Aussi, si nous pensons à la cartographie des cardinalités; est-ce 1 à plusieurs ou plusieurs à 1? Si nous pensons en termes de cours, alors c'est plusieurs pour un mais si nous pensons en termes d'instructeurs, alors c'est un pour plusieurs. Comment décidons-nous cela? Je vous remercie.

15
yrazlik

Dans les diagrammes ER, lorsque la relation est indiquée, les flèches ne sont pas utilisées. Certains instructeurs utilisent cette flèche quand ils veulent décider des cardinalités mais c'est juste pour obtenir la cardinalité (1: 1, 1: M et N: M)

J'ai joint le diagramme ER pour cela en notation Chen et en utilisant également la notation Crow, vous pouvez utiliser l'un ou l'autre.

ER Digram

Décider de la cardinalité d'une relation est un scénario pratique, il n'y a pas de règle stricte pour réussir. Ce que vous devez faire, c'est commencer d'un côté de la relation et prendre un Tuple (instance) et voir combien de tuples de l'autre entité participent à la relation. Faites ensuite l'inverse. Ensuite, vous connaissez le nombre de tuples de participation) de chaque entité à la relation. Pensez à la théorie des ensembles et aux fonctions en mathématiques lorsque vous décidez de la cardinalité (c.-à-d. Ensemble d'instructeurs, ensemble de cours et ensemble de type de relation Teaches), alors c'est si facile, mais si vous n'êtes pas issu d'un milieu mathématique, pensez simplement à un scénario pratique.

Par exemple

a) Pour 1 instructeur, il ou elle peut enseigner de nombreux cours (M)

b) Pour 1 cours, il n'y a qu'un seul instructeur

donc du côté instructeur il y a toujours 1 en a) et b) mais dans les cours il y a M et 1 en a) et b) là pour instructeur: la cardinalité du cours est 1: M

32
Dulantha

Je ne pense pas que l'autre réponse soit entièrement correcte.

Je dirais que l'on devrait utiliser des flèches, et on devrait utiliser une notation qui donne un nom significatif à chaque direction de la relation. Dans ce cas, ce sera "enseigne" dans un sens et "est enseigné par" dans l'autre. Utilisez des flèches à côté des noms ou placez le nom près de l'entité à laquelle il se réfère. Vous pouvez utiliser une ligne (avec deux têtes de flèche) ou deux lignes (avec une flèche chacune).

Je suggérerais également que la cardinalité n'est qu'un type de contrainte, et la notation devrait refléter cela. Par exemple, les deux noms de la relation pourraient être "enseigne (plusieurs)" et "est enseigné par (exactement un)". Le fait est que vous pourriez avoir "enseigne (un ou deux)" ou "est enseigné par (exactement deux)" et ainsi de suite.

Il vaut mieux être explicite et clair sur ce que sont réellement vos contraintes.

1
debater

Considérons un ensemble d'entités "employé" et un ensemble d'entités "service", dont la relation est définie comme "gérer". Employé ------------- Gérer -------------------- Département (ensemble d'entités) (ensemble de relations) (ensemble d'entités) Un à Plusieurs relations signifient qu'une entité de l'ensemble d'employés peut être associée à plusieurs entités de l'ensemble d'entités Département mais qu'une entité de l'ensemble Services peut être associée à au plus une entité de l'ensemble d'entités employés. Cela signifie que s'il existe une relation un à plusieurs entre les ensembles d'entités employé et service, chaque employé peut gérer plusieurs services et en même temps chaque service est géré par au plus un employeur.

0
Naveesh Kumar V

Les deux ont une cardinalité exactement opposée

???? Une ligne simple et nette signifie beaucoup.

???? Flèche signifie un.

Si nous considérons les deux avec la même cardinalité.

alors, plusieurs à plusieurs devraient être représentés en suivant la deuxième convention comme (veuillez supposer diamant pour l'ensemble de relations et rectangle pour l'ensemble d'entités)

   INSTRUCTOR <---- TEACHES -----> COURSE 

ce qui n'a en fait aucun sens.

Si nous considérons les deux avec une cardinalité opposée.

alors, plusieurs à plusieurs devraient être représentés en suivant la deuxième convention comme (veuillez supposer diamant pour l'ensemble de relations et rectangle pour l'ensemble d'entités)

  INSTRUCTOR ----- TEACHES ------ COURSE

Aucune flèche explicite n'est toujours considérée comme plusieurs à plusieurs. Donc, c'est correct (seulement si l'on considère les deux opposés)

0
Yogendra