Lassen Sie uns sehen, ob dies Ihr Problem angeht.
Eine Gruppe kann ein PROBLEM
ein Problem zu einem mit einer Struktur wie GROUP zugeordnet werden können
Start zugewiesen werden:
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title
1 | Group1
2 | Group2
Was wichtig ist, ist auch um zu wissen, ob einer GROUP mehrere Probleme gleichzeitig zugewiesen werden können oder nicht. Und ob ein und dasselbe Problem mehr als einer GROUP zugeordnet werden kann.
Angenommen, es gibt eine strikte optionale 1: 1-Beziehung. Dies bedeutet, dass einer Gruppe nicht 2 Probleme gleichzeitig zugewiesen werden können und dass 1 dasselbe Problem nicht 2 Gruppen zugewiesen werden kann.
Ein striktes 1: 1 würde durch Hinzufügen der PK von Tabelle A als FK von Tabelle B implementiert werden. Wenn die FK Nullable ist, dann werden Sie bemerken, dass dies bereits ein optionales 1: 1 ist, da Sie leere Zellen lassen können zeigt 0 Probleme zugewiesen (oder 0 Gruppen zugewiesen).
PROBLEM
id | title
1 | Prob1
2 | Prob2
GROUP
id | title | problem
1 | Group1 | 2
2 | Group2 | null
In diesem Beispiel wurde Group2 kein Problem zugewiesen. Group1 wurde Prob2 zugewiesen und Prob1 wurde keiner Gruppe zugewiesen.
Sie sind nicht gezwungen, etwas zuzuweisen, aber alles kann eine 1: 1-Beziehung haben.
Diese Struktur kann einige leere (Null) Werte enthalten. Dies ist keine Best Practices, aber würde die Arbeit machen. Wenn Sie Nullwerte vermeiden möchten, müssen Sie möglicherweise eine N: M-Implementierung verwenden.
Mit dieser Implementierung kann es vorkommen, dass 1 Gruppe mehr als 1 Problem zugewiesen wird und 1 dasselbe Problem mehr als 1 Gruppe zugewiesen wird. Wenn Sie jedoch für jedes der beiden Felder (Gruppe und Problem) einen eindeutigen Index definieren, sollten Sie dies beheben.
Einer Gruppe kann nur 1 Problem zugewiesen werden? und ein Problem kann nur 1 Gruppe zugewiesen werden? –
Ja, einer Gruppe kann ein Problem zugewiesen werden, während ein Problem einer Gruppe zugewiesen werden kann. Ich bin mir nicht sicher, wie ich es modellieren soll. Ich möchte in der Lage sein, Gruppen und Probleme zu erstellen, ohne etwas zuweisen zu müssen. – Duy
Kann ich tatsächlich die Beziehung löschen und eine problem_id als normale Spalte haben? – Duy