Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2010, 09:25   #1
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение

Почему? Ответ,что это не соответствует стандарту звучит как-то неубедительно. Ведь SQL диалекта 3 в Firebird поддерживает такую
возможность (просто в запросе при обращении название на кириллице пишу в "..."). D2010 тож поддерживает имена переменных на кириллице.
Так если это не соответствует стандарту - зачем вообще такая возможность???
P.S.
Читал http://www.ibase.ru/ibfaq.htm#dtproblem -
"Проблема с именами объектов в двойных кавычках в 3-ем диалекте".
Какие ещё "подводные камни" меня ожидают?

При указании идентификатора в Firebird на кириллице, например "Идентификатор Один". "Идентификатор Один" и "ИдентификатоР Один" не 1 и то же. Есть ещё какие-нибудь "грабли"?
Темы для WordPress. Русские WordPress шаблоны

Последний раз редактировалось Stilet; 13.08.2010 в 08:05.
Alexei91 вне форума Ответить с цитированием
Старый 12.08.2010, 14:25   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

ты хочешь сказать что тебе этих граблей пока мало?
soleil@mmc вне форума Ответить с цитированием
Старый 12.08.2010, 19:33   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от soleil@mmc
ты хочешь сказать что тебе этих граблей пока мало?
+1
Полностью согласен.
Я не вижу явных преимуществ, которые даст использование русских букв в именах полей/таблиц, но то, что это потенциально источник глюков (особенно при использовании каких-то сторонних компонентов)... Бр-р-р-р... Косяков с разными кодировками хватает. Причём вылезти может где угодно.... А может и не вылезти.
Хотите рискнуть?! Тогда удачи!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.08.2010, 04:33   #4
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение

Рисковать не буду. Граблей мне и без кодировок хватает
Можно ещё вопрос,возможно риторический,
зачем вообще такая возможность предусмотрена как в в SQL диалекта 3
(поддержка идентификаторов объектов БД на кириллице) так и в D2010
(названия переменных на кириллице)???
Темы для WordPress. Русские WordPress шаблоны

Последний раз редактировалось Alexei91; 13.08.2010 в 04:35.
Alexei91 вне форума Ответить с цитированием
Старый 13.08.2010, 08:09   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но то, что это потенциально источник глюков
Сколько в Сиквеле не писал все на русском, ни разу глюков не ловил со стандартными ADO. Наоборот очень удобочитаемо и понятно что за поле и для чего.
Как по мне лучше называть [Номер изделия] чем "nizd" какой-то.
Цитата:
ты хочешь сказать что тебе этих граблей пока мало?
А все-таки, какие грабли могут быть? то что в FB регистрозависимость это еще не проблема.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2010, 09:24   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
то, что в FB регистрозависимость это еще не проблема.
к сожалению, сейчас нет возможности проверить.
Это регистрозависимость относится и к названиям на английском?
nizd и Nizd - разные поля?
Запрос select nizd, Nizd from .... выдаст ошибку?
А можно создать в таблице два поля: nizd и Nizd ?!
Alexei91, если Вас не затруднит, проверьте это, пожалуйста, и сообщите результат.

Цитата:
А все-таки, какие грабли могут быть?
Их может и не быть... А могут вылезти где угодно! В первую очередь на линейке Windows без уникода - Windows 9x!
А ещё, например, ВОЗМОЖНО навскидку, системы документирования, рисования датаграмм - всё хорошо будет с отображением/печатью? При сохранении таблицы в XML - всё будет в порядке?
А какой-нибудь экспорт - там проблем не будет? А если в имени использовать уникодный символ? Например, знак копирайта, тоже всё будет хорошо?

Я просто старый волк, я помню, когда проблемы были даже с папками с русскими именами с пробелами. Ранние версии программ с инсталлятором, написаном на старом InstallShield просто висли на тех версиях ОС, где параметер окружения TEMP показывал на папку в "Documents and Settings\User\\Local Settings\Temp" .. Это даже в FAQ по Windows XP вошло - про исправление параметра окружения.
А то, что до сих пор у некоторых программ будут проблемы, если их ставить в папку, где в пути присутствуют пробелы, Вы знаете?

Хотя, ещё раз повторю - на 99.9% проблем в работе при использовании русских идентификаторов не будет! Остаётся малюсенькая вероятность.. Которой, при желании, можно и пренебречь...

p.s. кроме того, мне банально не нравится использовать поля, совпадающие с ключевыми словами, содержащие пробелы, непечатные символы, кириллицу и т.д...
хотя некоторым и нравится подобный код :
Код:
Макет = ОтчетОбъект.ПолучитьМакет("ПереченьУслуг");
Запрос = Новый Запрос;
Запрос.Текст = 

"ВЫБРАТЬ
| СпрНоменклатураМастер.Родитель КАК ГруппаУслуг,
| ПРЕДСТАВЛЕНИЕ(СпрНоменклатураМастер.Родитель),
| СпрНоменклатураМастер.Ссылка КАК Услуга,
| СпрНоменклатураМастер.Представление,
| ЦеныСрезПоследних.Цена
|ИЗ
| Справочник.НоменклатураМастер КАК СпрНоменклатураМастер
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(&ДатаОтчета, ) КАК ЦеныСрезПоследних
| ПО ЦеныСрезПоследних.Номенклатура = СпрНоменклатураМастер.Ссылка
|ГДЕ
| СпрНоменклатураМастер.ВидНоменклатуры = &ВидНоменклатуры
|ИТОГИ ПО
| ГруппаУслуг ИЕРАРХИЯ";

Запрос.УстановитьПараметр("ВидНоменклатуры", Перечисления.ВидыНоменклатуры.Услуга);
Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета);
Результат = Запрос.Выполнить();
...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.08.2010, 09:42   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А какой-нибудь экспорт - там проблем не будет?
Черт его знает... Вообще конечно больше всего грешат на средства импорта экспорта, но я пока не нарывался, я работаю с MS SQL2008 там проблем нет, а говорят в Оракле есть, хотя я и там тоже без особых проблем русифицирую, но импорт\экспорт средствами Оракла не пробовал.
Вообще конечно хорошо бы получить достоверные факты у кого что было и как это решалось...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2010, 09:50   #8
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение

Serge_Bliznykov в Firebird нельзя создавать 2 поля на латинице с именем ndiz или любым другим,т.е. ndiz, NDiz, ndiZ ... для FB одно и тоже.
Например,при обращении из запроса "SELECT ndiz, Ndiz FROM такая-то таблица" ошибки не будет,но зачем вам выводить 2 раза 1 и тоже поле.
P.S.
Stilet
Цитата:
А какой-нибудь экспорт - там проблем не будет?
По-моему у меня с информационным обменом с 1С будут б-о-о-ольшие проблемы. Обьясните в 1С название справочника,например, Номенклатура
и нОменклатура одно и тоже?
Темы для WordPress. Русские WordPress шаблоны

Последний раз редактировалось Alexei91; 13.08.2010 в 09:56.
Alexei91 вне форума Ответить с цитированием
Старый 13.08.2010, 09:55   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в Firebird нельзя создавать 2 поля на латинице
Тогда как это понимать:
Цитата:
При указании идентификатора в Firebird на кириллице, например "Идентификатор Один". "Идентификатор Один" и "ИдентификатоР Один" не 1 и то же.
Для других языков там что исключение сделано?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2010, 10:11   #10
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение

Я имел в виду 2 поля с именем Ndiz и NDIZ в 1 таблице.
P.S.
Дальше обсуждать это можно сколько угодно.
Stilet,пожалуйста установите Firebird 2.1 и выше. Поставьте IBExpert(Personal Edition - бесплатный) - это не займёт много времени. Создайте табличку с именем и полями на кириллице. И табличку с именем и полями на латинице. Напишите в IBExpert простенькие селекты с этими табличками. Увидите разницу.
Темы для WordPress. Русские WordPress шаблоны

Последний раз редактировалось Alexei91; 13.08.2010 в 10:13.
Alexei91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не правильно заполняет поля структуры ... ??? MichaelRED Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 09.06.2010 17:49
Стоит ли объявлять перегрузку оператора + как inline? Почему? Kn793 Общие вопросы C/C++ 2 13.05.2010 14:06
вычисляемые объекты в сводной таблице отключают фильтр самой таблицы ритузы Microsoft Office Excel 0 21.04.2010 09:24
создание blob поля в Firebird Lokos БД в Delphi 0 12.04.2010 07:58
помогите создать таблицы с отношениями firebird alex_-87 SQL, базы данных 1 29.12.2009 18:56