![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размеры полей Ф, И и О [MySQL]
Некто © (2006-05-19 00:04:00)Какию длины этим полям задавать? Какой тип данных оптимальней для них varchar или char?
ЗЫ: Дайте что-нибудь почитать про домены в mysql или любой другой СУБД, а то яндекс на такие запросы только хостинги предлагает. :)
paul_k (2006-05-23 14:07:00) [1]
> [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)
> Мы не разделяем.
Угу, необязательно. От увесистосит дубины занесенной над оператором зависит. (Забил оператор бред - получил дубиной) А так же от монгих "фишек" использующихся при вводе.
SHD_ (2006-05-23 09:36:00) [2]
> Некто_ (22.05.06 12:48) [19]
>
> Нет, я все выходные о девушках думал. ;)
Ага подходишь к девушки незнакомой и красивой и говоришь:
- Извинините а вы не скажите свою фамилию?
- ПОШЁЛ НА ...
- Ну хотя бы из скольки букав она состоит?
------Всё не буду больше флудить честно.
Ega23 (2006-05-23 09:16:00) [3]
> да вроде и другие современные сервера, хранят только строку
> и в дополнительном слове кол-во концевых пробелов для varchar.
>
MS SQL Server не хранит. У него вообще varchar - указатель. А сама строка размещается где-то в куче сервера.
dolmat (2006-05-23 09:09:00) [4]Лично в меоем опыте достаточно varchar(30)
По этому поводу аникдот:
Вызвали старую бабку в милицию, а звали ее Харитонова Ульяна Яковлевна.
Милиционер: - Ваше ФИО?
Бабка: - ХУ..
Sergey Masloff (2006-05-22 21:15:00) [5]Ega23 © (22.05.06 19:28) [31]
Мы не разделяем. Системе 10 лет клиентов о которых данные храним думаю за миллион. Никаких проблем в том числе с получением фамилии с инициалами, при обмене данными с налоговыми и вообще. А клиентов у которых по 5-7 слов в имени - хватает. И попробуй пропусти или местами поменяй ;-))
Я не говорю что так делать обязательно. Но что вариант с разделением единственный - это не так.
atruhin (2006-05-22 19:38:00) [6]
> Здрассте-приехали.
> Чем char от varchar отличается?
Тем что char дополняется концевыми пробелами. Но это не значит что они хранятся в БД. Для MySQL не знаю, но IB и клоны, да вроде и другие современные сервера, хранят только строку и в дополнительном слове кол-во концевых пробелов для varchar. Так что VarChar в БД занимиает на 2 байта больше чем char, но экономичнее пересылка на клиента.
Ega23 (2006-05-22 19:28:00) [7]
> А разделять удобно хотя бы для того, чтобы без проблем фамилию
> с инициалами получать.
Разделять обязательно надо, это даже не обсуждается...
ANB (2006-05-22 18:24:00) [8]
> в varchar(255) помещалось
А если не поместится ? Откуда такое ограничение ?
Пример из налоговой программы (АИС Налог на MS SQL) - все varchar(255).
А разделять удобно хотя бы для того, чтобы без проблем фамилию с инициалами получать. Да и были умники, которые иногда фамилию после имени писали
Ega23 (2006-05-22 18:21:00) [9]
> Обычно varchar(80) пчтоб полое ФИО в varchar(255) помещалось
тоже вариант.
paul_k (2006-05-22 18:11:00) [10]Обычно varchar(80) пчтоб полое ФИО в varchar(255) помещалось
Ega23 (2006-05-22 18:02:00) [11]
> А если не секрет откуда такие знания?
>
Опыт разработки различных информационных систем, связанных с большим количеством сотрудников (до 20000 на предприятии).
Возможны варианты составных фамилий, типа Бонч-Бруевич (на реальной базе самое длинное - "Vaughan Buckley geb.Thormanlen", немец (или немка?)),
возможны варианты составного отчества и т.п.
У монголов, к примеру, фамилии нет, только имя и отчество. Ну и т.п.
SHD_ (2006-05-22 17:36:00) [12]В принципе я согласен.
А если не секрет откуда такие знания?
Ega23 (2006-05-22 17:19:00) [13]
> Интересно а как в гос учёте сделано? напримерв паспортно
> визовой службе...
> Или у операторов сотовой связи... Да вообще в любом более
> менее нормальном учреждении, где люди действительно подумали
> над этим вопросом а не так:
PersNam1 varchar(64)
PersNam2 varchar(64)
PersNam3 varchar(64)
А фамилия это, имя, отчество или что-то другое - это уже не важно.
SHD_ (2006-05-22 17:13:00) [14]Интересно а как в гос учёте сделано? напримерв паспортно визовой службе...
Или у операторов сотовой связи... Да вообще в любом более менее нормальном учреждении, где люди действительно подумали над этим вопросом а не так:
> Fam VARCHAR (50)
> Name VarChar (50)
> Otch VarChar (50)
> и не паримся
:)
K_VAL (2006-05-22 16:58:00) [15]Товарищ 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)
и не паримся
а разбивать надо , поиск легче делать отдельно по параметрам , сортировать .
Ega23 (2006-05-22 14:03:00) [16]
> А какая разница? char всего на два байта больше. (кол-во
> концевых пробелов) :)
Здрассте-приехали.
Чем char от varchar отличается?
atruhin (2006-05-22 13:52:00) [17]
> 64. Но можно хоть 255 установить - это же varchar, а не
> char
А какая разница? char всего на два байта больше. (кол-во концевых пробелов) :)
Ega23 (2006-05-22 13:15:00) [18]
> А варчар по этим поля какого размера установлен?
64. Но можно хоть 255 установить - это же varchar, а не char
Некто_ (2006-05-22 12:48:00) [19]Нет, я все выходные о девушках думал. ;)
SHD_ (2006-05-22 12:43:00) [20]Все выходные ;)