Viele-zu-viele-Beziehungen (m:n) machen Ihr Datenmodell und den Prozess der Anwendungsentwicklung komplexer und schwer durchschaubar. Der Schlüssel zum Auflösen von m:n-Beziehungen besteht darin, die beiden Entitäten zu trennen und durch eine dritte Schnittmengenentität Eins-zu-viele-Beziehungen (1:n) zwischen ihnen zu erzeugen. Die Schnittmengenentität enthält normalerweise Attribute aus beiden verknüpften Entitäten.
Analysieren Sie Ihre Geschäftsregeln erneut, um eine m:n-Beziehung aufzulösen. Haben Sie die Beziehung im Diagramm korrekt dargestellt? Im Beispieltelefonverzeichnis besteht eine m:n-Beziehung zwischen den Entitäten name und fax, wie in Abbildung 1 dargestellt. Die Geschäftsregeln besagen: “Eine Person kann keine, eine oder viele Telefaxnummern haben; eine Telefaxnummer kann für mehrere Personen gelten.” Basierend auf unserer zuvor getroffenen Auswahl des Primärschlüssels für die Entität voice (Rufnummer) besteht eine m:n-Beziehung.
Ein Problem besteht im Zusammenhang mit der Entität fax, da die Telefonnummer, die als Primärschlüssel deklariert ist, in der Entität fax mehrmals vorkommen kann. Dies widerspricht der Definition eines Primärschlüssels. Primärschlüssel müssen eindeutig sein.
