Pourquoi devrais-je éviter les boucles lors de la conception des relations d'une base de données?
Quelqu'un m'a dit que c'était mauvais design afin d'avoir des boucles dans le modèle de données. J'ai entendu cela avant une couple de fois, mais n'a pas beaucoup d'attention. Par exemple, vous avez entités de l'Utilisateur, de Projet, de l'Activité. Un projet est détenue par un Utilisateur, de sorte que nous avons une relation de l'utilisateur pour le Projet. Une activité peut être affecté à un seul Utilisateur, un autre un-à-plusieurs relation de l'Utilisateur à l'Activité. Bien sûr, un projet est défini par un ensemble d'activités, de l'autre un-à-plusieurs relations de Projet d'Activité. Ainsi, une boucle est formée.
J'ai demandé au gars pourquoi est-il mauvais de conception, mais il m'a dit qu'il ne savait pas non plus, il a été dit aussi, le singe de l'apprentissage à son meilleur.
J'ai essayé de chercher mais je suppose que je n'ai pas utilisé les bons mots, cependant cela me semble quelque chose qui devrait être fondamental pour quelqu'un qui essaie de concevoir un DB.
Donc, quelqu'un peut-il m'indiquer quelques informations utiles sur boucles/cycles en er/db diagrammes, devraient-elles être évitées?
- Je me suis toujours demandé moi-même. Dommage qu'il n'est pas de générer plus d'attention, seulement 5 points de vue. Pouvez-vous refactoriser le code et le titre pour le rendre plus facile à lire? Qui pourrait aider à obtenir le plus de points de vue/réponses.
Vous devez vous connecter pour publier un commentaire.
Il y a un très bon traitement de la relation de boucles dans le chapitre 3 de ce document.
En général cependant, le problème le plus commun avec des boucles est la cohérence de l'information redondante.
D'examiner l'affaire (sur le papier) où un parent a beaucoup d'enfants; chaque enfant fréquente l'école. Il y a une troisième relation entre le parent & école (parent-enfant doit être à l'école"). Cependant: vous ne voulez pas le modèle de la 3ème relations explicitement; il est entièrement issu des deux autres. Si vous n'avez capturer de façon explicite, vous aurez besoin afin de garantir la boucle était toujours cohérentes.
Donc, dans ce cas vous souhaitez éviter la boucle. Cependant: les boucles ne sont pas universellement mauvais. En prenant l'exemple ci-dessus, encore une fois, considérer la modélisation le cas où un parent est un gouverneur à l'école. Qui permettrait également de créer une boucle. Dans ce cas si c'est valable: il n'est pas possible de dériver la mère est gouverneur à l'école", la relation des deux autres relations.
Donc en résumé: ne pas modèle de boucles quand une relation est entièrement issu des autres. Mais c'est OK pour créer des boucles quand ils ne sont pas dérivables.
Recommande le papier, bien que, il donne une bien meilleure description que je peux donner ici.
hth.