Warum wird meine eindeutige Einschränkung unter Indizes zeigen sich eher dann unter Einschränkungen?

StackOverflow https://stackoverflow.com/questions/1012969

  •  06-07-2019
  •  | 
  •  

Frage

Ich habe eine Einschränkung für meine Tsql Tabelle wie folgt aus:

alter table disabledqualities
add constraint uc_uIdQualCode
unique (userId, qualitycode)

In MSSMStudio die Einschränkung zeigt unter Indizes nach oben eher dann unter Einschränkungen.

Warum?

- EDIT--
Ich verstehe, dass es einen Index erstellt die Einschränkung zu erzwingen, aber warum gibt es dann einen Knoten „constraints“ genannt?

War es hilfreich?

Lösung

SQL Server erstellt hinter der Szene einen Index die Einschränkung zu erzwingen

hier ist eine andere Art und Weise des Schreibens, dass nicht gruppierten telling SQL Server durch Hinzufügen eines nicht gruppierten Index zu verwenden, können Sie auch eine auf die Bereitstellung von gruppierten schaffen, dass Sie keine PK haben, die (der Standard) oder einen anderen gruppierten Index bereits gruppiert ist

alter table disabledqualities
add constraint uc_uIdQualCode
unique nonclustered (userId, qualitycode)

[Bearbeiten] dieser Knoten Check-Einschränkung, eindeutige Einschränkungen hinzugefügt werden unter Indizes

hinzufügen

oder so bleiben weg von Assistenten

Andere Tipps

Überprüfen Sie Einschränkungen und Standardeinschränkungen sind unter der Einschränkungen Knoten gezeigt.

SQL verwendet Indizes eindeutige Einschränkungen zu erzwingen.

  

Ich verstehe, dass es einen Index erstellt die Einschränkung zu erzwingen, aber warum gibt es dann einen Knoten „constraints“ genannt?

Dieser Knoten ist CHECK Einschränkungen angezeigt werden soll.

Die richtige Antwort ist „weil Microsoft gesagt. Wenn Sie die Antwort wollen, müssen Sie sie fragen.“

Da UNIQUE-Einschränkungen können in Sysindexes Systemansicht gefunden werden

select * from sysindexes where name = 'uc_uIdQualCode'

Es ist einfach logisch So fügen Sie neue einzigartige constaint von Studio Sie klicken müssen verwalten Index und Schlüssel-Taste. Also, wenn Sie es von Indizes hinzufügen, müssen Sie es in Indizes siehe:)

Ich denke, vielleicht Sie nicht verstehen, was in Zwänge auftauchen könnte becasue Sie nicht wissen, was eine Check-Bedingung ist. Eine Check-Einschränkung wird die Daten auf Einfügung oder Aktualisierung überprüfen, um zu sehen, ob es irgendeine Art von Geschäftsregel erfüllt. Es ist für die Gewährleistung der Datenintegrität verwendet. Zum Beispiel wenn Sie haben eine ganze Feld, das nur die Werte von 1,4 oder 5 enthalten soll, dann würden Sie eine Check-Bedingung einrichten, um sicherzustellen, dass 9 nicht immer auf das Feld hinzugefügt. Eine Check-Einschränkung auf Datumsfeld kann festlegen, dass es als das aktuelle Datum und die Uhrzeit für ein Feld später sein muss, dass die PlannedCompletionDate ist oder dass CompletionDate muss später als Startdatum sein. Dies sind die Art von Dingen, die unter Einschränkungen angezeigt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top