Форум: "Базы";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
Вниз
Размеры полей Ф, И и О Найти похожие ветки
← →
Некто © (2006-05-19 00:04) [0]Какию длины этим полям задавать? Какой тип данных оптимальней для них varchar или char?
ЗЫ: Дайте что-нибудь почитать про домены в mysql или любой другой СУБД, а то яндекс на такие запросы только хостинги предлагает. :)
← →
S@shka © (2006-05-19 00:19) [1]www.ibase.ru InterBase )))
Fam VARCHAR (50)
Name VarChar (50)
Otch VarChar (50)
и не паримся
← →
Некто_ (2006-05-19 00:24) [2]Ну пока так и есть.
А как обосновать, почему выбрано 50, 50, 50?
← →
S@shka © (2006-05-19 00:41) [3]Потому чтобы потом тебе не было мучительно больно за то что
- звонит тебе в выходной день бухгалтер (юзер) и говорит
"приезжай срочно к нам (на другой конец Москвы) у нас карточка в систему не вводится с фамилией ***"
По принципу уж точно хватит.
Предпочтительней использовать тип VARCHAR
← →
Carmen © (2006-05-19 01:46) [4]А я использую VARCHAR(64) для фамилии, VARCHAR(64) для имени, VARCHAR(64) для отчества.
← →
ANB © (2006-05-19 09:12) [5]А я varchar2(1024) - круглое число.
← →
Sergey13 © (2006-05-19 09:39) [6]В БЛОБы их, в БЛОБ-ы!!! 8-)
← →
ANB © (2006-05-19 09:59) [7]
> Sergey13 © (19.05.06 09:39) [6]
В блобы - это уже изврат.
← →
Sergey13 © (2006-05-19 10:15) [8]2[7] ANB © (19.05.06 09:59)
Зато весело. 8-)
← →
Anatoly Podgoretsky © (2006-05-20 14:55) [9]Выбирать такой размер, чтобы хватило для самой длинной фамилии
← →
Рустем © (2006-05-20 15:08) [10]
> Anatoly Podgoretsky © (20.05.06 14:55) [9]
> Выбирать такой размер, чтобы хватило для самой длинной фамилии
..., самого длинного имени и отчества соответственно.
← →
Anatoly Podgoretsky © (2006-05-20 16:12) [11]Естественно и для других полей это тоже справедливо, из всех предложений - предложение varchar(1024) самое реальное, только бы я сразу написал nvarchar(1024)
← →
Sergey Masloff (2006-05-20 17:22) [12]Вообще разделение на ФИО глупо. Ибо не покрывает реальности даже для жителей одной страны. Да и теоретически - зачем?! Никогда не понимал
← →
Anatoly Podgoretsky © (2006-05-20 20:17) [13]Ну например чтобы отсортировать по отчеству.
← →
Sergey13 © (2006-05-22 09:08) [14]2[12] Sergey Masloff (20.05.06 17:22)
>Вообще разделение на ФИО глупо. Ибо не покрывает реальности даже для жителей одной страны.
А какую реальность это должно покрыть и что это покрывание значит?
[13]+
1.Уверенность в порядке следования реквизитов. Именно ФИО, а не ИОФ и т.д.
2.Сокращение ИО удобнее делать
← →
Ega23 © (2006-05-22 09:11) [15]Сейчас посмотрел по базе на 15000 человек:
Максимальная фамилия - 30 символов
Имя - 16
Отчество - 16
Везде varchar, для экономии места.
← →
Некто_ (2006-05-22 12:17) [16]
> Ega23 © (22.05.06 09:11) [15]
А варчар по этим поля какого размера установлен?
← →
Sergey13 © (2006-05-22 12:23) [17]2[16] Некто_ (22.05.06 12:17)
Ты четвертый день думаешь над этим вопросом?!!! 8-)
← →
SHD_ (2006-05-22 12:43) [18]Все выходные ;)
← →
Некто_ (2006-05-22 12:48) [19]Нет, я все выходные о девушках думал. ;)
← →
Ega23 © (2006-05-22 13:15) [20]
> А варчар по этим поля какого размера установлен?
64. Но можно хоть 255 установить - это же varchar, а не char
← →
atruhin © (2006-05-22 13:52) [21]
> 64. Но можно хоть 255 установить - это же varchar, а не
> char
А какая разница? char всего на два байта больше. (кол-во концевых пробелов) :)
← →
Ega23 © (2006-05-22 14:03) [22]
> А какая разница? char всего на два байта больше. (кол-во
> концевых пробелов) :)
Здрассте-приехали.
Чем char от varchar отличается?
← →
K_VAL (2006-05-22 16:58) [23]Товарищ S@shka © дал правильный ответ , а чем отличается написано в типах данных , все рамеры полей задаем по MAX , чтобы хватило ,
Рустем © (20.05.06 15:08) [10]
> Anatoly Podgoretsky © (20.05.06 14:55) [9]
> Выбирать такой размер, чтобы хватило для самой длинной фамилии
..., самого длинного имени и отчества соответственно.
Fam VARCHAR (50)
Name VarChar (50)
Otch VarChar (50)
и не паримся
а разбивать надо , поиск легче делать отдельно по параметрам , сортировать .
← →
SHD_ (2006-05-22 17:13) [24]Интересно а как в гос учёте сделано? напримерв паспортно визовой службе...
Или у операторов сотовой связи... Да вообще в любом более менее нормальном учреждении, где люди действительно подумали над этим вопросом а не так:
> Fam VARCHAR (50)
> Name VarChar (50)
> Otch VarChar (50)
> и не паримся
:)
← →
Ega23 © (2006-05-22 17:19) [25]
> Интересно а как в гос учёте сделано? напримерв паспортно
> визовой службе...
> Или у операторов сотовой связи... Да вообще в любом более
> менее нормальном учреждении, где люди действительно подумали
> над этим вопросом а не так:
PersNam1 varchar(64)
PersNam2 varchar(64)
PersNam3 varchar(64)
А фамилия это, имя, отчество или что-то другое - это уже не важно.
← →
SHD_ (2006-05-22 17:36) [26]В принципе я согласен.
А если не секрет откуда такие знания?
← →
Ega23 © (2006-05-22 18:02) [27]
> А если не секрет откуда такие знания?
>
Опыт разработки различных информационных систем, связанных с большим количеством сотрудников (до 20000 на предприятии).
Возможны варианты составных фамилий, типа Бонч-Бруевич (на реальной базе самое длинное - "Vaughan Buckley geb.Thormanlen", немец (или немка?)),
возможны варианты составного отчества и т.п.
У монголов, к примеру, фамилии нет, только имя и отчество. Ну и т.п.
← →
paul_k © (2006-05-22 18:11) [28]Обычно varchar(80) пчтоб полое ФИО в varchar(255) помещалось
← →
Ega23 © (2006-05-22 18:21) [29]
> Обычно varchar(80) пчтоб полое ФИО в varchar(255) помещалось
тоже вариант.
← →
ANB © (2006-05-22 18:24) [30]
> в varchar(255) помещалось
А если не поместится ? Откуда такое ограничение ?
Пример из налоговой программы (АИС Налог на MS SQL) - все varchar(255).
А разделять удобно хотя бы для того, чтобы без проблем фамилию с инициалами получать. Да и были умники, которые иногда фамилию после имени писали
← →
Ega23 © (2006-05-22 19:28) [31]
> А разделять удобно хотя бы для того, чтобы без проблем фамилию
> с инициалами получать.
Разделять обязательно надо, это даже не обсуждается...
← →
atruhin © (2006-05-22 19:38) [32]
> Здрассте-приехали.
> Чем char от varchar отличается?
Тем что char дополняется концевыми пробелами. Но это не значит что они хранятся в БД. Для MySQL не знаю, но IB и клоны, да вроде и другие современные сервера, хранят только строку и в дополнительном слове кол-во концевых пробелов для varchar. Так что VarChar в БД занимиает на 2 байта больше чем char, но экономичнее пересылка на клиента.
← →
Sergey Masloff (2006-05-22 21:15) [33]Ega23 © (22.05.06 19:28) [31]
Мы не разделяем. Системе 10 лет клиентов о которых данные храним думаю за миллион. Никаких проблем в том числе с получением фамилии с инициалами, при обмене данными с налоговыми и вообще. А клиентов у которых по 5-7 слов в имени - хватает. И попробуй пропусти или местами поменяй ;-))
Я не говорю что так делать обязательно. Но что вариант с разделением единственный - это не так.
← →
dolmat (2006-05-23 09:09) [34]Лично в меоем опыте достаточно varchar(30)
По этому поводу аникдот:
Вызвали старую бабку в милицию, а звали ее Харитонова Ульяна Яковлевна.
Милиционер: - Ваше ФИО?
Бабка: - ХУ..
← →
Ega23 © (2006-05-23 09:16) [35]
> да вроде и другие современные сервера, хранят только строку
> и в дополнительном слове кол-во концевых пробелов для varchar.
>
MS SQL Server не хранит. У него вообще varchar - указатель. А сама строка размещается где-то в куче сервера.
← →
SHD_ (2006-05-23 09:36) [36]
> Некто_ (22.05.06 12:48) [19]
>
> Нет, я все выходные о девушках думал. ;)
Ага подходишь к девушки незнакомой и красивой и говоришь:
- Извинините а вы не скажите свою фамилию?
- ПОШЁЛ НА ...
- Ну хотя бы из скольки букав она состоит?
------Всё не буду больше флудить честно.
← →
paul_k © (2006-05-23 14:07) [37]
> [30] ANB © (22.05.06 18:24)
> А если не поместится ? Откуда такое ограничение ?
> Пример из налоговой программы (АИС Налог на MS SQL) - все
> varchar(255).
Интересно а как они выводят Фамилия Имя Отчество. и все по 255. Мне самому затруднительно придумать такое ФИО дляной 767 символов(3 поля + 2 пробела), но раз есть размер значит есть и прецендент.
Скорее всего они даже не задавались сиим вопросом.
[31] Ega23 © (22.05.06 19:28)
> Разделять обязательно надо, это даже не обсуждается...
> [33] Sergey Masloff (22.05.06 21:15)
> Мы не разделяем.
Угу, необязательно. От увесистосит дубины занесенной над оператором зависит. (Забил оператор бред - получил дубиной) А так же от монгих "фишек" использующихся при вводе.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.011 c