Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Ограничение на максимальный размер строки в столбце таблице / 10 сообщений из 10, страница 1 из 1
04.05.2009, 17:05
    #35967435
piton83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
Всем доброго времени суток!
Интересует мнение посетителей форума по вопросу ограничения на длинну строки в таблице.
Есть, например, табличка ITEM (FID INTEGER NOT NULL,NAME VARCHAR(100)). В данном примере поле NAME ограничено 100 символами (не будем вдаваться в подробности 100 byte или 100 char, не в этом суть и зависит от БД).
Т.к. используется тип varchar то съэкономить на чем-то за счет маленьких ограничений не получится.
Случаи, когда ограничение однажды становилось слишком маленьким и его приходилось увеличивать, у меня были. Примеров, когда слишком большое ограничение чем-то мешало, не было.
У меня сложилось такое мнение - если сделать поле NAME VARCHAR(100), то выгоды никакой не получим, зато можем получить гемморой. Если сразу сделаем NAME VARCHAR(1000), то минусов никаких нет (наверное нет:)), но и геммороя в связи с тем, что кто-то захочет ввести длинное-длинное имя не может быть в принципе.
Кто что думает по этому поводу? Как кто решает какой выбрать максимальный размер строки при проектировани БД? Какие могут быть минусы если при проектировании БД ограничения на максимальный размер строк ставить с большим-большим запасом - скажем особо не думать какого размера будут строки, а ставить сразу 1000-2000 знаков?
...
Рейтинг: 0 / 0
04.05.2009, 17:52
    #35967554
Luc
Luc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton83,
А если в будущем потребуется конвертация в bde?

В BDE максимальный размер Char 254
...
Рейтинг: 0 / 0
04.05.2009, 17:59
    #35967576
GUESТ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton83Кто что думает по этому поводу?

50
100
250
...
Рейтинг: 0 / 0
04.05.2009, 18:29
    #35967647
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton83Какие могут быть минусы если при проектировании БД ограничения на максимальный размер строк ставить с большим-большим запасом - скажем особо не думать какого размера будут строки, а ставить сразу 1000-2000 знаков?Считайте, что это такой вид констрейнтов. Вы же не отказываетесь от них только потому, что без них якобы меньше проблем?
Так и строки надо ограничивать разумно. Например, под фамилии нет смысла закладывать 1000 символов. Лучше ограничить сотней символов и поймать пользователя на том, что он пытается скопипастить туда полстраницы текста.
У нас, кстати, это реальная проблема, правда, не по фамилиям, а по артикулам/номерам товара - люди туда копипастят что-то попало, пользуясь тем, что поле большое.
...
Рейтинг: 0 / 0
04.05.2009, 18:30
    #35967651
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton83 wrote:
> Интересует мнение посетителей форума по вопросу ограничения на длинну
> строки в таблице.

Оно есть и зависит от конкретной СУБД и её версии.

> У меня сложилось такое мнение - если сделать поле NAME VARCHAR(100), то
> выгоды никакой не получим, зато можем получить гемморой. Если сразу
> сделаем NAME VARCHAR(1000), то минусов никаких нет (наверное нет:))

нет в большинстве случаев, но в конкретной СУБД могут быть нюансы.

Какие могут быть минусы
> если при проектировании БД ограничения на максимальный размер строк
> ставить с большим-большим запасом - скажем особо не думать какого
> размера будут строки, а ставить сразу 1000-2000 знаков?


Из чисто абстрактных соображений нужно длины строк как-то ограничивать разумными
рамками.

Ну и если ты забъёшь во все поля верхние пределы размеров по максимуму,
ты закладываешь в приложение потенциальную проблему, потому что все
поля таблицы пользователю вряд ли удастся забить до верху - не хватит
физического размера строки.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.05.2009, 19:37
    #35967745
proposed amendment
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton83Кто что думает по этому поводу?

краткость - сестра таланта
...
Рейтинг: 0 / 0
04.05.2009, 22:07
    #35967935
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton83Если сразу сделаем NAME VARCHAR(1000), то минусов никаких нет (наверное нет:))В MSSQL нельзя сделать индекс на поле такого размера.

Да, а почему "сделаем VARCHAR(1000)", а не сразу VARCHAR(100000)?

То есть ограничения всё таки какие то есть? А почему вы выбрали ограничение в 1000 символов, а не 100 или 100000?

На мой взгляд, исходить нужно из требований бизнеса, а не чего-то ещё.
...
Рейтинг: 0 / 0
05.05.2009, 06:43
    #35968126
piton83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
2Luc, насчет BDE это да, как-то был очень интересный глюк из-за этого ограничения:)
2MasterZiv. В том и дело, что понятие "разумные рамки" довольно расплывчато, собственно вопрос в том и состоит, кто как эти рамки определяет:)
2alexeyvg. Вопрос в том, что бизнес редко может выдвинуть конкретные требования, и для того чтобы их получить, есть (должн быть) аналитики. Вот, например, есть наименование товара. Какое делать ограничение? Сомневаюсь, что заказчик так сходу скажет - наименование товара не может быть больше 200(например) знаков. Какое тут выбрать ограничение? Выберешь мало, рано или поздно кто-нить попробует ввести больше:) Выбирать много тоже вроде как не очень хорошо:)
...
Рейтинг: 0 / 0
05.05.2009, 10:40
    #35968489
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton832alexeyvg. Вопрос в том, что бизнес редко может выдвинуть конкретные требования, и для того чтобы их получить, есть (должн быть) аналитики. Вот, например, есть наименование товара. Какое делать ограничение? Сомневаюсь, что заказчик так сходу скажет - наименование товара не может быть больше 200(например) знаков. Какое тут выбрать ограничение? Выберешь мало, рано или поздно кто-нить попробует ввести больше:) Выбирать много тоже вроде как не очень хорошо:)Ну, пусть скажет не с ходу, а подумав :-)

В любом случае мнение программиста по этому вопросу не важно.
...
Рейтинг: 0 / 0
05.05.2009, 10:47
    #35968518
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на максимальный размер строки в столбце таблице
piton83 wrote:

> 2MasterZiv. В том и дело, что понятие "разумные рамки" довольно
> расплывчато, собственно вопрос в том и состоит, кто как эти рамки
> определяет:)

Понятие "разумные рамки" не расплывчато, а зависит от предметной области.
Поэтому вне контекста предметной области, универсально, его рассматривать
бессмысленно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Ограничение на максимальный размер строки в столбце таблице / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]