Ich habe ein Attribut A und damit eine Tabelle A beziehen:Datenbank-Design - Markiert Felder
ID Name OtherFields isPrimary
1 foo stuff 1
2 bar stuff 0
3 blah stuff 0
4 blahh stuff 0
Die IsPrimary Spalte eine Zeile als primäre markiert. Nur eine Zeile kann primär sein und es muss immer eine Zeile als primärer Wert festgelegt werden.
Was ist der beste Weg, um dies auf Datenbankebene durchzusetzen?
Wäre die beste Methode, eine neue Tabelle namens Primary zu erstellen, die eine Spalte hat, ID, die ein Fremdschlüssel wäre, der auf A.ID verweist?
alternativ kann ich mithilfe der oben beschriebenen Tabellenstruktur erzwingen, dass nicht mehr als eine Zeile mit einem eindeutigen Index auf 1 gesetzt wird. Ich bin mir jedoch nicht sicher, wie sichergestellt werden kann, dass nicht weniger als eine Zeile gesetzt ist als 1
ich benutze MS SQL Server
Es scheint mir die erste Lösung (Tabelle Primary) ist die bessere sowohl für die Einfachheit als auch die Effizienz der Durchsetzung, und auch für die Einfachheit der Programmierung. – Renzo