Ich entwerfe ein Datenbank-Entity-Modell. Ich möchte Kreisbeziehungen vermeiden, aber ich bin mir nicht sicher, wie es in dem folgenden Fall zu tun ist:Design des Datenbank-Entity-Modells mit zirkulären Beziehungen
Das System dient zum Verfolgen der Entwickler Aufgaben und Kunden Käufe. Jedes Produkt hat eine und nur eine Art von Technologie zugeordnet und eine Menge von Stunden. Kunden können verschiedene Arten von Produkten kaufen. Eine Aufgabe hat eine einzige zugeordnete Technologie.
Diese Beziehungen sind wichtig, weil nach den Daten I ein, wenn ein Client zur Abfrage in der Lage sein wollen, ist mehr Stunden in bestimmten Technologie als die Stunden mit ihm auf der gegenüberliegenden Seite gekauft oder, wenn er Stunden in einer anderen Technologie gekauft, dass er benutzt nicht. Ich möchte auch fragen, wie Entwickler ihre Stunden in verschiedenen Technologien verbringen oder welche Technologien mit einem Entwickler verbunden sind.
Hier ist mein Entwurf, aber ich denke, die zirkuläre Beziehung ist etwas, das ich vermeiden sollte, und ich sollte einen anderen Weg finden, es zu lösen.
Welche der normale Weg, dies zu lösen sein sollte?
Mit dem Vorschlag Alex würde dies das neue Diagramm
Können Sie "Aufgaben" detaillierter beschreiben. Ich hätte gedacht, dass "Aufgaben" direkt mit Produkten verbunden sind. – Alex
Welche zirkuläre Beziehung? – philipxy
@Alex danke für Ihren Kommentar. Task ist etwas, wo der Entwickler für eine Dauer arbeitet. Angenommen, ein Client hat zwei Systeme, eines mit einem Ruby-Stack und ein anderes mit einem Java-Stack. Wenn der Entwickler vier Stunden in einem System und vier Stunden in einem anderen System arbeitet, hat er zwei Aufgaben, eine für jedes System. Das Problem, mit dem ich konfrontiert bin, ist, dass es passieren kann, dass die Entwickler nicht mit den verkauften Produkten übereinstimmen, vielleicht müssen sie mehr in einer Technologie arbeiten und nicht auf der anderen. Eines der Ziele dieses Modells besteht darin, diese Situationen hervorzuheben. – agusgambina