Проблема с вариантом 2 заключается в том, что ваша новая структура данных несовместима с операторами SQL. Например, значение "4,12,34,"
должно рассматриваться как то же самое, что и "4,34,12,"
: в отсутствие возможности перегрузки операторов SQL вам необходимо: а) писать пользовательские функции и б) обучать пользователей использовать UDF, а не Операторы SQL. Повторите для каждого оператора.
То же самое относится и к ограничениям. Например, вам нужно запретить значение "4,12,4,"
, поскольку оно содержит повторяющиеся элементы. Опять же, вам нужно свернуть свои собственные ограничения, предположительно с использованием ограничений SQL CHECK
.
В процессе написания этих операторов и ограничений вам всегда нужно будет разделять элементы, оператор над ними, а затем объединять их снова. Кто бы задал вопрос: почему бы просто не разлучить их? Тогда мы вернемся к варианту 1!