Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
 Re: PL/sql и T/sql  [new]
Longsvano
Member

Откуда:
Сообщений: 51
автор
Да чем,чем... Тем что когда-то под эту струкртуру отвели 30 байт...


Хмм, оказывается еще и байт.
Господа, въезжающие в тему как оракл работает с юникодом. Означат ли ограниение в 30 байт на идентификатор, что если мы его будем обзывать в национальной кодировке, длина его уменьшится до 15 символов?
31 май 06, 13:18    [2725188]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Yo.!!
Guest
да уменьшится, но за индификаторы на русском нада однозначно отрывать яйца.
31 май 06, 13:29    [2725250]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Denis Popov
Member

Откуда: Санкт-Петербург
Сообщений: 7862
Longsvano

Хмм, оказывается еще и байт.
Господа, въезжающие в тему как оракл работает с юникодом. Означат ли ограниение в 30 байт на идентификатор, что если мы его будем обзывать в национальной кодировке, длина его уменьшится до 15 символов?

Да.
SQL> select table_name, column_name, data_type, data_length, char_used, char_length
  2  from dba_tab_columns 
  3  where table_name = 'DBA_TABLES'
  4    and column_name = 'TABLE_NAME';

TABLE_NAME      COLUMN_NAME     DATA_TYPE   DATA_LENGTH CHAR_USED CHAR_LENGTH
--------------- --------------- ----------- ----------- --------- -----------
DBA_TABLES      TABLE_NAME      VARCHAR2             30 B                  30

SQL> create table "АБВГДЕЁЖЗИКЛМНО" (id varchar2(8));

Table created.

SQL> create table "АБВГДЕЁЖЗИКЛМНОП" (id varchar2(8));
create table "АБВГДЕЁЖЗИКЛМНОП" (id varchar2(8))
             *
ERROR at line 1:
ORA-00972: identifier is too long
31 май 06, 13:35    [2725297]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Longsvano
Member

Откуда:
Сообщений: 51
Yo.!!
да уменьшится, но за индификаторы на русском нада однозначно отрывать яйца.


А это уже ваши психологические проблемы. Вон ОдинЭсники шустрят со своими русскими именами и ничего.
Йо, это же всего лишь вопрос договоренности между разработчиками (и админом) - как называть идентификаторы - нравятся русские, слава богу, оракл вовсю им этому поспособствует.
Или же вы готовы привести ссылку на доки, где оракл мол "стронгли рекоммендед" не использовать неанглийские идентификаторы?
31 май 06, 13:47    [2725384]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

у меня на одной из баз макс. длина идентификатора - 70 символов (русское
наименование CK, отображающее смысл ограничениения.
также достаточно длинные имена FK - мнемонические.
длинные имена у ХП, сгенерированных фреймвёрком - тоже мнемонические
(префиксы+суффиксы+постфиксы+разные там фиксы/типы).

у тех проц, которые пишу ручками названия обычно не слишком длинные, но
всё-таки бывает...
doc03070201__0201_ClearCustomDutyDiff_act - вполне понятное в рамках
нашей системы наименование процедуры, отображающее тип документа
(03070201), тип спецификации (0201), действие (ClearCustomDutyDiff) и
собственно, поддействие (act). 41 букова. никто не умер, аднака.



--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

31 май 06, 13:56    [2725468]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Longsvano
Member

Откуда:
Сообщений: 51
locky
у меня на одной из баз макс. длина идентификатора - 70 символов


У вас MSSQL?
31 май 06, 14:02    [2725520]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Yo.!!
Guest
locky


у тех проц, которые пишу ручками названия обычно не слишком длинные, но
всё-таки бывает...
doc03070201__0201_ClearCustomDutyDiff_act - вполне понятное в рамках
нашей системы наименование процедуры, отображающее тип документа
(03070201), тип спецификации (0201), действие (ClearCustomDutyDiff) и
собственно, поддействие (act). 41 букова. никто не умер, аднака.


все правильно, другого выхода в mssql нет, поскольку нормального неймспейса в mssql нет вам приходится страдать такой ерундой. в оракле вы бы сделали пакет doc03070201, в который бы объединили все действия с этим типом.
31 май 06, 14:08    [2725574]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
Longsvano
Йо, это же всего лишь вопрос договоренности между разработчиками (и админом) - как называть идентификаторы


[src oracle]
Connected to Oracle9i Enterprise Edition Release 9.2.0.6.0
Connected as test

SQL> create table laud (x char(1) default 'X');

Table created

SQL> select * from lаud;

ORA-00942: table or view does not exist[/quot]
31 май 06, 14:11    [2725600]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
locky
у меня на одной из баз макс. длина идентификатора - 70 символов

Основной минус ограничения на длину идентификатора - оно мешает вводить конвенции именования объектов в БД. Скажем, если мы говорим, что для таблицы XXX поле ПК должно называться XXX_ID, а индекс - XXX_PK_I, максимально допустимая длина съезжает до 25 символов. Если мы говорим, что развязка многие-ко-многим между А и Б должна называться LINK_A_B - допустимая длина оказывается ограниченной двенадцатью (!) символами. И т. д.
31 май 06, 14:18    [2725652]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Yo.!!
Guest
Longsvano

А это уже ваши психологические проблемы. Вон ОдинЭсники шустрят со своими русскими именами и ничего.

вот если бы им оторвали бы яйца еще на том этапе то небыло бы насвете этой уе****ой файл-серверной поделки которой нужет citrix чтоб хоть как-то шевелится.
31 май 06, 15:15    [2726011]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Хех...
Guest
Yo.!!
Longsvano

А это уже ваши психологические проблемы. Вон ОдинЭсники шустрят со своими русскими именами и ничего.

вот если бы им оторвали бы яйца еще на том этапе то небыло бы насвете этой уе****ой файл-серверной поделки которой нужет citrix чтоб хоть как-то шевелится.

Долой МТС из 1С!
31 май 06, 15:28    [2726078]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Longsvano
Member

Откуда:
Сообщений: 51
softwarer
locky
у меня на одной из баз макс. длина идентификатора - 70 символов

Основной минус ограничения на длину идентификатора - оно мешает вводить конвенции именования объектов в БД.


Вот! Господин Софтварер самую суть ухватил. Ограничение на длину имен не позволет ЕДИНООБРАЗНО именовать объекты. До есть подспудно заставляет плодить зоопарк, а это уже однозначное зло.
31 май 06, 15:36    [2726125]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Longsvano
Member

Откуда:
Сообщений: 51
Yo.!!
Longsvano

А это уже ваши психологические проблемы. Вон ОдинЭсники шустрят со своими русскими именами и ничего.

вот если бы им оторвали бы яйца еще на том этапе то небыло бы насвете этой уе****ой файл-серверной поделки которой нужет citrix чтоб хоть как-то шевелится.


Йо, если 1С - говно, то это никак не доказывает что определние имен на русском языке также плохо.

Вот скажите пожалуйста, почему вам не нравится именование объектов по русски? Только давайте РАЦИОНАЛЬНЫЕ и ОБЪЕКТИВНЫЕ ответы. Ответы, которые можно подвети под "религия запрещает" и ваши личные предпочтения и привычки не принимаются.
31 май 06, 15:41    [2726152]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Longsvano
Вот скажите пожалуйста, почему вам не нравится именование объектов по русски? Только давайте РАЦИОНАЛЬНЫЕ и ОБЪЕКТИВНЫЕ ответы. Ответы, которые можно подвети под "религия запрещает" и ваши личные предпочтения и привычки не принимаются.

На самом деле, англоговорящие (к примеру) программеры дают имена переменным/объектам на том языке, на котором говорят и думают.
31 май 06, 15:55    [2726235]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
Longsvano
Вот скажите пожалуйста, почему вам не нравится именование объектов по русски?

Технически возможность русских идентификаторов мне очень не нравится из-за вышеприведенного примера с table does not exists. Практически на тех серверах, на которых я работаю, рано или поздно появляется триггер, запрещающий использование русских букв в именах объектов.

Именование объектов по-русски мне не нравится по двум причинам. Во-первых: если уж корежить язык и издеваться над ним, то я предпочитаю, чтобы это был чужой язык. Здесь также стоит упомянуть, что морфология русского языка, достаточно богатая логика словоформ делают его особенно уязвимой мишенью; если "select from table" - нормальная фраза с точки зрения грамматики английского, то "выбрать из таблица" звучит не то чтобы идеально по-русски. Во-вторых: мое чувство стиля говорит, что

select * from table

- нормально, легко читается, в то время как

select * from стол

- неоднородное уродство. Отсюда вывод: тогда и ключевые слова, и стандартные функции, и вообще все должно иметь альтернативный русский синтаксис. А такая идея может прийти в голову только больному на эту голову человеку.
31 май 06, 15:55    [2726238]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Yo.!!
Guest
Longsvano

Йо, если 1С - говно, то это никак не доказывает что определние имен на русском языке также плохо.

доказывает. если человек не может по английски элементарно назвать табличку это значит, что документацию он точно ниосилил, т.е. это 100% ламо.

Longsvano

Вот скажите пожалуйста, почему вам не нравится именование объектов по русски? Только давайте РАЦИОНАЛЬНЫЕ и ОБЪЕКТИВНЫЕ ответы. Ответы, которые можно подвети под "религия запрещает" и ваши личные предпочтения и привычки не принимаются.


см. предыдущее объяснение, ну а рационально сходу вот:

https://www.sql.ru/forum/actualthread.aspx?tid=265178&pg=1#2383475
https://www.sql.ru/forum/actualthread.aspx?tid=97523&pg=1#718626
https://www.sql.ru/forum/actualthread.aspx?tid=14984#70670
31 май 06, 16:00    [2726279]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Longsvano
Member

Откуда:
Сообщений: 51
Yo.!!
Longsvano

Йо, если 1С - говно, то это никак не доказывает что определние имен на русском языке также плохо.

доказывает. если человек не может по английски элементарно назвать табличку это значит, что документацию он точно ниосилил, т.е. это 100% ламо.


Вообщето для 1с - стандарт де-факто писать русскими идентификаторами. Вся стандартная конфа написана на русском.

Longsvano

https://www.sql.ru/forum/actualthread.aspx?tid=265178&pg=1#2383475
https://www.sql.ru/forum/actualthread.aspx?tid=97523&pg=1#718626
https://www.sql.ru/forum/actualthread.aspx?tid=14984#70670


Фигня это а не рациональные доводы. Сводящаяся к тому, что такаято-такая программа криво работает с русским. Учитесь правильным ответам у Софтварера.

Кстате еще довод за английский - если не ошибаюсь аглийский несколько (процентов на 20-30) короче русского.
31 май 06, 16:09    [2726336]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Longsvano
Yo.!!
Longsvano

А это уже ваши психологические проблемы. Вон ОдинЭсники шустрят со своими русскими именами и ничего.

вот если бы им оторвали бы яйца еще на том этапе то небыло бы насвете этой уе****ой файл-серверной поделки которой нужет citrix чтоб хоть как-то шевелится.


Йо, если 1С - говно, то это никак не доказывает что определние имен на русском языке также плохо.

Вот скажите пожалуйста, почему вам не нравится именование объектов по русски? Только давайте РАЦИОНАЛЬНЫЕ и ОБЪЕКТИВНЫЕ ответы. Ответы, которые можно подвети под "религия запрещает" и ваши личные предпочтения и привычки не принимаются.

Для меня единственный агрумент против названий таблиц и процедур по-русски - необходимость постоянно переключать раскладку клавиатуры. Но для других объектов, которых не надо явно использовать в коде - это вполне имеет право на жизнь. Например названия индексов, триггеров, констрейнов
31 май 06, 16:11    [2726353]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Longsvano
Member

Откуда:
Сообщений: 51
[quoе]индексов, триггеров, констрейнов[/quot]

Индексы и констраинты лихко могут использоваться в коде.
Индексы - в хинтах, имена констрейнов - при обработке исключений.
31 май 06, 16:26    [2726429]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Yo.!!
Guest
Longsvano

Фигня это а не рациональные доводы. Сводящаяся к тому, что такаято-такая программа криво работает с русским. Учитесь правильным ответам у Софтварера.

т.е. то что программы небходимые професионалу для работы с субд (типа sourcesafe, erwin и пр.) это фигня, ну что ж, сами себе буратино.
31 май 06, 16:35    [2726489]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
У оракла где-то было самое простое объяснение, почему не рекомендуется использовать нелатинские символы в названиях идентификаторов. Oracle не гарантирует, что с такими идентификаторами будут работать клиентские приложения третьих фирм.
31 май 06, 20:55    [2727459]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
Yo.!!
Longsvano

Фигня это а не рациональные доводы. Сводящаяся к тому, что такаято-такая программа криво работает с русским. Учитесь правильным ответам у Софтварера.

т.е. то что программы небходимые професионалу для работы с субд (типа sourcesafe, erwin и пр.) это фигня, ну что ж, сами себе буратино.

Впервые слышу о том, что ErWin, а уж тем более SourceSafe - не работают (криво работают) с юникодом вааще и русской кодировкой в частности.
Почему-то все остальные (базы данных) работают с русскими идентификаторами на ура. В том числе и в паре с упомянутыми ЭрВинами и СорсСейфами.

Если Оракал такой убогий, что ниасилил русские буквы - ну так надо это признать, правда ведь, Йо?
Или гордость не позволяет?
1 июн 06, 02:09    [2727871]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Рыжий Кот
Member

Откуда: Мягкий Диван; [забанен] Рустамом; [разбанен] П02;
Сообщений: 21678
кстати, ограничением в 30 с чем-то символов страдает не только Оракл, но и некоторые ЯП, например тот же PHP (при выборке из массива результата запроса), причем никаких сообщений об ошибке не выводится, просто нет значения.
1 июн 06, 08:41    [2728086]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
Пьяный Лох

Я за такое вот кастрировал бы, чтоб дебилов меньше рождалось.
1 июн 06, 10:09    [2728388]     Ответить | Цитировать Сообщить модератору
 Re: PL/sql и T/sql  [new]
Yo.!!
Guest
Пьяный Лох
пока могу признать, что лошок невьехал о чем взрослые говорят, ну и то что к сожелению оракл работает с уникодными символами в именах, что и создает проблемы.
1 июн 06, 10:42    [2728551]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить