2009-08-15 4 views
1

고유 제약 조건에 대해 하나의 null 만 SQL Server의 장점은 무엇입니까?sql unique constraint

+0

죄송합니다. 고유 한 제약 조건 인 경우 null을 두 번 가질 수 없습니다. –

+0

null의 의미 중 하나가 "알 수 없음"이므로 분명하지 않을 수 있습니다. 하나는 알 수 있습니까? SQL에서 null의 대부분을 사용하지 않습니다! 다른 말로하면 (null = null) false입니다. – automatic

+0

네, 그렇다면 고유 한 제약 조건을 적용하면 SQL이 잘못되었다고 말할 수 있습니다. 나는 null = null 인 false가 우스꽝 스럽다. 하지만 그것에 대한 내 감정은 변경되지 않습니다 :) –

답변

1

NULL을 다른 값처럼 고유해야하는 값으로 간주하면 이점이 있습니다. 그러나 대부분의 개발자는 NULL이 값의 부재로 간주하므로 2 개의 NULL이 같지 않으며이 경우이 값은 SQL에서 우회해야 할 제한 사항 (다른 DBMS와 다름)

+0

나는 '대부분의 개발자'가 'SQL Server'가 그렇게 생각한다고 말하고 싶지 않습니다. 개인적으로 나는 그것이 크고, 짜증나는 실수라고 생각합니다. 내 책에서는 null이 null이고 null이 null입니다. 나는 결코 '이것이 다른 어떤 것과도 결코 일치하지 않도록하라'는 가치를 필요로하지 않는다. 그러나 나는 빗 나간다. 이것은 스레드에 가치있는 주장입니다. –

+1

나를 위해,이 특정 MSSQL '기능'은 일반적으로 제한되어 있으므로 알려진 메서드 중 하나를 사용하여 해결해야합니다.보기 메서드는 일반적으로 가장 깨끗합니다. –

+0

필자는 필터링 된 인덱스가 가장 좋은 방법 중 하나라고 생각합니다. (MSSQL 2008 이상) –