Я знаю, что это субъективно, но я хотел бы знать мнения людей и, надеюсь, некоторые лучшие практики, которые я могу применить при разработке структур таблицы sql-сервера.
Я лично считаю, что привязка таблицы к фиксированной (max) длине varchar является no-no, потому что это означает, что она также должна распространять одну и ту же фиксированную длину в любых других таблицах, которые используют это как внешний ключ. Использование int
не позволит использовать одну и ту же длину по всей доске, которая неизбежно приведет к ошибке человека, то есть 1 таблица имеет varchar (10)
, а другая varchar (20)
.
Это звучит как кошмар для первоначальной установки, плюс означает, что будущее поддержание таблиц также громоздко. Например, скажем, что ключевой столбец varchar внезапно становится 12 символами вместо 10. Теперь вам нужно пойти и обновить все остальные таблицы, которые могут быть огромными годами задач по линии.
Неужели я ошибаюсь? Я что-то пропустил? Я хотел бы знать, что другие думают об этом, и если придерживаться int для первичных ключей, это лучший способ избежать кошмаров поддержания.