Est-il acceptable d'avoir une entité dans un diagramme ER sans relation?


8

Je crée un diagramme ER pour une affectation de classe et je me demandais s'il serait possible de créer une entité qui n'avait aucune relation directe avec une autre entité, et d'utiliser simplement des clés étrangères pour les connecter. Le diagramme ci-dessous illustre ce que j'aimerais faire

entrez la description de l'image ici

Fondamentalement, mon diagramme commence à devenir vraiment complexe et ce serait formidable si je n'avais pas à maintenir une connexion entre chaque entité.

FWIW, j'utilise la notation de Chen et de Crow's Foot, si cela peut vous aider.

Réponses:


13

Un diagramme ER est simplement un outil pour vous aider dans le développement. Un diagramme ER ne vous oblige même pas par mandat à afficher toutes les entités du système.

Donc, pour répondre à votre question par une voie: il est parfaitement acceptable d'avoir une entité sur un diagramme qui n'a aucun lien avec une autre entité. Considérez un tableau de paramètres utilisé par une application simple pour stocker les paramètres du programme. Il n'aurait besoin d'aucune autre entité pour faire son travail. Mais ce serait toujours un objet qui existait dans le cadre du magasin de données.

Donc, pour répondre à votre question par un autre itinéraire: vous pouvez afficher autant ou aussi peu de diagrammes sur votre diagramme ER que nécessaire pour montrer les informations que vous essayez de représenter. Mais si vous choisissez d'omettre une relation à des fins de clarté, il serait toujours logique de noter que le R est omis. Je voudrais personnellement, mais un -{#}avec un nombre à l'intérieur des cercles connexes pour chaque entité, avec une note de bas de page pour ce # au bas de la page. De cette façon, les autres lecteurs n'auront pas à demander s'il devrait y avoir une autre relation.

C'est ma valeur de 0,05 $ sur celui-ci de toute façon. Le fait est que c'est en partie une question de style. Certaines personnes vous diront que vous devez toujours mettre les relations (comme, par exemple, votre patron pourrait l'exiger, ce qui l'emporterait sur mes conseils). Mais la dernière vérité est ce qui est dans la base de données.


"Un diagramme ER ne requiert même pas par mandat de montrer toutes les entités du système" - en outre, pour les systèmes complexes, il est très fréquent de ne pas le faire, ayant un diagramme ER pour chaque sous-partie plutôt que celui qui essaie de tout couvrir . Si une entité a des liens vers des entités qui ne figurent pas dans le diagramme actuel, vous devez inclure une entité ou une note de bas de page "factice", comme suggéré ci-dessus. Il est également possible que la même entité existe dans plusieurs diagrammes au sein de l'ensemble, si votre convention de dénomination est claire, il devrait être évident que c'est le cas lorsque vous l'avez fait.
David Spillett

1
Vous devez modifier la réponse pour rendre les commentaires comme celui-ci plus explicites
jcolebrand

Je n'étais pas tout à fait sûr qu'il ajoute un avantage essentiel à la réponse ou devrait rester comme une note de bas de page - je laisse généralement le répondeur d'origine modifier le supplément s'il le souhaite dans de tels cas. Heureux de me modifier si vous préférez.
David Spillett

1
Non, continuez et éditez-le. Ceci est un site communautaire, vous ajoutez de bons détails.
jcolebrand

4

Du fait que deux entités sont "liées" via une clé étrangère, il existe une relation directe entre elles. Que vous choisissiez ou non de schématiser cette relation de manière conventionnelle, cela dépend de vous, mais je me référerais alors à votre notation comme quelque chose comme "Chen-Wilson" ou "Chris's Crow Foot", car ce n'est plus "pur" Chen ou Crow's Foot . Je suis d'accord avec jcolebrand; documentez définitivement le connecteur de relation manquant afin que votre instructeur ne pense pas que vous avez fait une erreur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.