Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1152549870
Belorus
2006-07-10 20:44
2006.07.30
Доступ к MS SQL


15-1151567937
Holy
2006-06-29 11:58
2006.07.30
NEC ND-3551A. Disk T@2 и LabelFlash.


1-1150445348
Уля
2006-06-16 12:09
2006.07.30
создание Excel-документа с помощью Delphi


2-1152684541
Константин_
2006-07-12 10:09
2006.07.30
Составление запроса


1-1150550494
lux_dn
2006-06-17 17:21
2006.07.30
Утечка ПАМЯТИ & DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский