¿Por qué mi restricción única aparece bajo índices en lugar de bajo restricciones?

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

  •  06-07-2019
  •  | 
  •  

Pregunta

Creé una restricción en mi tabla tsql como esta:

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

En MSSMStudio, la restricción aparece debajo de los índices en lugar de debajo de las restricciones.

¿Por qué?

--EDIT--
Entiendo que crea un índice para imponer la restricción, pero entonces, ¿por qué hay un nodo llamado "restricciones"?

¿Fue útil?

Solución

SQL Server crea un índice detrás de escena para imponer la restricción

aquí hay otra forma de escribir que al agregar un servidor sql no agrupado para que use un índice no agrupado, también puede crear un clúster al proporcionar que no tiene un PK que está agrupado (el valor predeterminado) u otro índice agrupado ya

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

[editar] ese nodo es agregar restricción de verificación, se agregan restricciones únicas bajo índices

de cualquier manera, manténgase alejado de los magos

Otros consejos

Las restricciones de verificación y las restricciones predeterminadas se muestran debajo del nodo de restricciones.

SQL usa índices para imponer restricciones únicas.

  

Entiendo que crea un índice para imponer la restricción, pero ¿por qué hay un nodo llamado "restricciones"?

Este nodo es para mostrar las restricciones CHECK .

La verdadera respuesta es " porque Microsoft lo dijo. Si quieres la respuesta, tendrás que preguntarles " ;.

Porque las restricciones ÚNICAS se pueden encontrar en la vista del sistema sysindexes

seleccione * de sysindexes donde name = 'uc_uIdQualCode'

Es simplemente lógico Para agregar una nueva constancia única de Studio, debe hacer clic en el botón Administrar índice y claves. Entonces, si lo agrega desde índices, debe verlo en índices :)

Estoy pensando que quizás no entiendas lo que podría aparecer en las restricciones porque no sabes qué es una restricción de verificación. Una restricción de verificación verificará los datos al insertarlos o actualizarlos para ver si cumplen con algún tipo de regla comercial. Se utiliza para garantizar la integridad de los datos. Por ejemplo, si tiene un campo entero que solo debe contener los valores de 1,4 o 5, entonces configuraría una restricción de verificación para asegurarse de que 9 nunca se agregue al campo. Una restricción de verificación en el campo de fecha podría especificar que debe ser posterior a la fecha y hora actuales para un campo que es el PlannedCompletionDate o que CompletionDate debe ser posterior a StartDate. Este es el tipo de cosas que aparecen bajo restricciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top