Когда я добавляю некоторые ограничения, например:
create table Test( IDTest int primary key, Credit int not null constraint Credit check (Credit >= 0) );
В этом случае не является избыточным not null в Credit, так как я добавляю ограничение, которое Credit должно быть больше 0?
not null
Credit
Нет, оно не является избыточным.
Ограничение A CHECK принимает значение, если условие не FALSE, то есть, TRUE или UNKNOWN.
CHECK
FALSE
TRUE
UNKNOWN
Если вы разрешите пустые значения в вашем столбце, NULL >= 0 оценивается как UNKNOWN и пройдет тест.
NULL >= 0