In diesem MS TechNet-Thread wird das Problem als mit der Art und Weise bezeichnet, auf die Visio 2010 den Fremdschlüssel automatisch einfügt, wenn Sie eine Beziehung zwischen Entitäten erstellen:
Es scheint in der Tat so, dass das Eingeben des Fremdschlüsselfeldnamens und das anschließende Herstellen der Beziehung dies ermöglicht. Durch Aktivieren / Deaktivieren der Option Erforderlich für den Fremdschlüssel wird die Option Optional für die Beziehung automatisch aktiviert / deaktiviert.
Es gibt zwei Möglichkeiten, dieses Problem zu lösen, je nachdem, ob Sie eine neue Beziehung in Ihrem Diagramm erstellen oder versuchen, eine vorhandene zu beheben.
So erstellen Sie eine verbindliche, nicht identifizierende Beziehung
Fügen Sie vor dem Erstellen der Beziehung die gewünschten FK-Attribute der untergeordneten Entität hinzu, und verwenden Sie dabei denselben Namen wie im PK der übergeordneten Entität. Stellen Sie sicher, dass die Option "Erforderlich" für jedes FK-Attribut aktiviert ist.
In Ihrem Beispiel fügen wir der Adventure-Entität ein "name" -Attribut hinzu:
Durch das Hinzufügen der Beziehung wird nun automatisch das FK erstellt, der nicht identifizierende, nicht optionale Status des vorhandenen Attributs in Adventure bleibt jedoch erhalten:
Sie können das FK-Attribut an dieser Stelle beliebig umbenennen.
Beachten Sie, dass das Kontrollkästchen "Child hat Parent: Optional" immer noch ausgegraut ist. Auch nach diesem Punkt hat das Ändern der Eigenschaften der Beziehung und / oder der betreffenden Attribute manchmal unerwünschte Nebenwirkungen, und es kann vorkommen, dass das falsche Krähenfußsymbol wieder "hängen bleibt". Glücklicherweise gibt es eine schnellere Möglichkeit, dies zu beheben, als die Beziehung zu löschen und von vorne zu beginnen.
So lösen Sie eine bestehende Beziehung
Wählen Sie die Beziehung mit dem "steckengebliebenen" Krähenfußsymbol aus, und wechseln Sie im Fenster Datenbankeigenschaften auf die Registerkarte Definition.
Sie sehen eine Linie mit Pfeilen, die die PK- und FK-Attribute in den übergeordneten und untergeordneten Entitäten verbinden. Wählen Sie die verbundenen Attribute in beiden Tabellen aus und trennen Sie sie, indem Sie auf die Schaltfläche in der mittleren Spalte klicken. Wenn der Schlüssel zusammengesetzt ist, werden mehrere Paare von Attributen angezeigt:
Wenn Sie alle in der Beziehung enthaltenen Attribute getrennt haben, wird das Feld "Kind hat Elternteil: Optional" auf der Registerkarte "Verschiedenes" wieder aktiv. Legen Sie die Eigenschaften der Beziehung auf Nicht identifizierend mit Optional parent fest. Überprüfen Sie, ob die FK-Attribute in der untergeordneten Entität auf "Erforderlich" gesetzt sind. Wechseln Sie dann zurück zur Registerkarte "Definition" und ordnen Sie die PK- und FK-Attribute erneut zu :