Почему каждая СУБД настаивает на том, что вы скажете, какая максимальная длина текстового поля будет ... почему он не может просто вывести эту информацию из данных, которые помещены в базу данных?Почему мне нужно установить максимальную длину каждого столбца текста в базе данных?
Я работал в основном с MS SQL Server, но каждая другая база данных, которую я знаю, также требует, чтобы вы установили эти произвольные ограничения в своей схеме данных. Реальность заключается в том, что это не особенно полезно или дружелюбно работать, потому что бизнес-требования меняются все время, и почти каждый день какой-то конечный пользователь пытается помещать много текста в этот столбец.
Кто-нибудь, обладающий некоторыми внутренними знаниями о СУБД, знает, почему мы просто не делаем вывод о границах данных, помещенных в хранилище? Я не говорю о том, чтобы угадать информацию о типе, но угадывая пределы определенного текстового столбца.
Я имею в виду, что есть причина, по которой я не использую nvarchar (max) для каждого текстового столбца в базе данных.
У меня нет «внутреннего рабочего знания РСУБД», , но я не понимаю, почему вы думаете, что это проблема. Существуют несвязанные типы данных, такие как CLOB. Если это то, что вы хотите, используйте его. Если вам нужно облегчить сравнение текста, вам придется страдать от печатания (255) или чего-то еще. Кажется, не стоит жаловаться на меня. Но это всего лишь мои два цента. – MJB
Стоит отметить, что SQLite не налагает это требование. – cikkle
Логически невозможно вывести максимальную длину из фактических данных. Как долго база данных будет ждать, пока она решит: «ОК, я думаю, здесь не будет больше 255 символов»? –