Какие-либо предложения о том, лучше ли меньше проверочных ограничений или больше? Как они должны быть сгруппированы, если вообще?
Предположим, у меня есть 3 столбца VARCHAR2(1 BYTE)
, каждый из которых представляет собой флаг 'T' / 'F'. Я хочу добавить проверочное ограничение для каждого столбца, указав, что разрешены только символы IN ('T', 'F')
.
Если у меня будет 3 отдельных проверочных ограничения, по одному для каждого столбца:
COL_1 IN ('T', 'F')
COL_2 IN ('T', 'F')
COL_3 IN ('T', 'F')
Или одно проверочное ограничение:
COL_1 IN ('T', 'F') AND COL_2 IN ('T', 'F') AND COL_3 IN ('T', 'F')
Я думаю, что лучше держать эти три отдельных, поскольку столбцы логически не связаны друг с другом. Единственный случай, когда у меня было бы проверочное ограничение, которое проверяет более одного столбца, - это наличие какой-либо взаимосвязи между значением в одном и значением в другом, например ::
(PARENT_CNT > 0 AND PRIMARY_PARENT IS NOT NULL) OR (PARENT_CNT = 0 AND PRIMARY_PARENT IS NULL)