Мне нужно создать таблицу в T-SQL со следующей структурой.
Не может быть ни одной строки или только одна строка со столбцом флага, установленным на T. Мой разработчик считает, что это может сделать контрольное ограничение таблицы.
Может ли такое ограничение (т. е. ограничение между строками) быть наложено на саму базу данных, как указано здесь(https://www.scaler.com/topics/sql/constraints-in-sql/), а не в бизнес-правилах для обновления или добавления строк?
Это таблица нормальной формы?
Или нормальная форма потребует удаления столбца Flag и замены его (скажем) другой простой таблицей или переменной, содержащей значение строки с Flag=T, т.е. row=3 в приведенном выше примере?
До появления отфильтрованного индекса в SQL Server 2008 можно было использовать отдельные представления с параметром WITH CHECK OPTION, чтобы заставить пользователей обновлять представления, а не базовую таблицу.
Социальные закладки