Je suis actuellement en train de développer une base de données via MS Access 2003 et je suis resté bloqué par un problème de référence circulaire. En gros, cela revient au triangle de relation suivante (il est une forme simplifiée de ma table de relation):Références circulaires dans la conception de base de données - Devraient-elles être évitées?
Positions
oo oo
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
oo oo
Employees oo -------------------- oo Software,
où les postes, les employés et les logiciels sont les tables et "oo-------...-------oo"
affiche les nombreux à plusieurs relations entre leur. En résumé, tous les employés d'une entreprise sont affectés à des postes spécifiques (certains d'entre eux sont affectés à plusieurs postes) et sont autorisés à utiliser des logiciels spécifiques en fonction de leur (s) poste (s) . Cependant, il existe des exceptions, et certains des employés ont le droit d'utiliser un certain nombre d'autres progiciels, en plus de ce qui leur est permis en fonction de leur (s) poste (s).
La question est, est-il acceptable d'autoriser une relation circulaire dans ce type de base de données? Existe-t-il des solutions de contournement qui ne nécessitent pas de dénormalisation?
Merci d'avance, VS.
merci, les gars. Cependant, la relation circulaire dans ma structure initiale est-elle vraiment un problème ici? Quelles sont les conséquences possibles de l'avoir? Existe-t-il un algorithme pour analyser les éventuels bogues/comportement bizarre? – user459459
Il est "OK" d'autoriser ce que vous choisissez de faire avec la base de données, dans votre cas, la référence circulaire. Y a-t-il des solutions de contournement? ... dépend. Avez-vous regardé dans les vues? ... vous pouvez peut-être utiliser quelques vues pour structurer les données comme vous le souhaitez. –
Si vous réfléchissez suffisamment à l'avance pour vous soucier des conséquences d'une décision de conception médiocre, pourquoi utilisez-vous toujours Access? – Sorpigal