|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Scott TigerКороче, ANSI-синтаксис маст дай, спорить на эту тему я не буду, т.к., во-первых, я упёртый баран, а, во-вторых, я в данном случае абсолютно прав.Поддерживаю. (+) forever :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 11:02 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Пошли религиозные войны. У ораклоидов со стажем синтаксис join вызывает неприятие своей многословностью и неоднозначностью как в случае с natural и full outer join. Еще и по старинке привыкли работать. Вопрос "почему" в этом случае не должен вставать. Предлагаю больше не писать в топик. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 11:36 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Потому что начинает/ло большинство всё ещё с 8-ки, а там никаких джойнов нет. Привыкнув же к одному синтаксису, на второй всегда смотришь косо, особенно если явных плюсов в нём нет. Когда придёт новое поколение программёров, то скорей всего, все будут пользоваться джойнами и через некоторое время, возможно, (+) превратится в нечто вроде "недокументированной фичи для эстетов и гуру"... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 11:53 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Помимо всего прочего, постоянные сообщения о багах ANSI JOIN-а в 9-ке ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 12:03 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
AIУ ораклоидов со стажем синтаксис join вызывает неприятие своей многословностью и неоднозначностьюНе соглашусь с вами... Я начал работать с 5-й версии Oracle (год так 93-й) и получив в распоряжение ANSI-синтаксис сейчас пользуюсь только им. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 15:24 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
MW AIУ ораклоидов со стажем синтаксис join вызывает неприятие своей многословностью и неоднозначностьюНе соглашусь с вами... Я начал работать с 5-й версии Oracle (год так 93-й) и получив в распоряжение ANSI-синтаксис сейчас пользуюсь только им. Из любого правила есть исключения ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 15:27 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
я бы сказал что join не популярен среди старых, так сказать, опытных ораклоидов :) А людям, например, работающим не только с ораклом ближе join. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 17:41 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
alex-lsя бы сказал что join не популярен среди старых, так сказать, опытных ораклоидов :) Пердунов? Scott TigerКороче, ANSI-синтаксис маст дай, спорить на эту тему я не буду, т.к., во-первых, я упёртый баран, а, во-вторых, я в данном случае абсолютно прав. Точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 18:43 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
AI...в этом случае не должен вставать. Это точно :) Я вот например сколько пытался с ним разобраться - не идёт и всё тут. Громоздкий какой-тоон... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 18:47 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Oleg AfanasievЯ вот например сколько пытался с ним разобраться - не идёт и всё тут. Громоздкий какой-тоон... Поддерживаю ! Я тоже пытался, но так и не получилось освоить join синтаксис. Когда программу с Interbase на Oracle переводил просто написал себе шпору и пользовался ей. А к чему весь сыр бор? Сейчас есть два вида синтаксиса и хорошо. Кто чем хочет тем и пользуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 19:03 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
AI 1. Посмотрите на план full outer join. Это простой union all двух outer join'ов. По другому просто нельзя его сделать. Тем более видно, что синтаксис full outer join изящнее простого union all двух outer join'ов. А это имеет все-таки значение, особеннок когда текст запроса и без того здоровый. AI выясняется, что в обеих таблицах есть еще одноименные колонки comments, status и еще какие-нибудь, по которым этот идиотский natural join пытается сделать связку. То есть в нормально спроектированной системе natural join практически нельзя использовать. Не известно, что нормальней давть атрибутам разных таблов одинаковые имена или все таки разные. Например, тада уже надо было бы давть всем суррогатным ключам одинаковое имя - ID. Но что тогда получится? А если им не давать, но другим не давать - не последовательно. Стиль как бы страдает. Двойные стандарты. AI Это ограничение требует хотя бы двух-трехдневного опыта написания запросов с (+), что не так уж и много. А ради чего страдать три дня? Кроме того, например, если три таблы, то результат зависит в общем случае от порядка операций соединения, а where и запятая явно порядка не предполгает. Тогда тоже на проверки время потратить побольше придется или на изучение особенностей СУБД. UNION - операция сразу ясно про что, если смотреть на рел алгебру. Соединение тем более самая что ни на есть рел операция, и уж достойна своего ключевого слова, а не просто запятой. Я не думаю, что всем нужно переходить на JOIN, но и сказать что он хуже во всех отношениях, мне кажется, тоже нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 21:31 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
автор Тем более видно, что синтаксис full outer join изящнее простого union all двух outer join\'ов. А это имеет все-таки значение, особеннок когда текст запроса и без того здоровый Недавно я плодил топик о очень долго удивлялся такой лаже которую плодит full join. тут и мой случай далеко не единичен. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 23:03 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
HX и мой случай далеко не единичен. В том числе и я создавал топик про проблемы. Но это не синтакчис, а баги реализации. Так есть и другие баги. Но мы же не можем под них тока посдстраиваться и не думать о светлом будующем? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2005, 09:41 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Как забавно кстати) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
"The CBO without stats is like a morning without coffee." T.Kyte ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2005, 13:54 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Gluk (Kazan)Помимо всего прочего, постоянные сообщения о багах ANSI JOIN-а в 9-ке Если бы только в девятке... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2006, 15:37 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Писать "left outer join " и т.п. просто лениво. Мне быстрее (+). Кроме того в традиционном синтаксисе в секции from легче идентифицировать таблицы. Чтобы условия соединения легче читались, просто объединяю их в блоки. А главное - новый синтаксис плохо отлажен, ошибок много обнаруживается. Так что пока действую по старинке. Переходить на ANSI SQL имеет смысл, если нужно поддержать несколько СУБД, но это пока из мира грёз, или планируется переход на другую СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2006, 17:02 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Sash*отвечают мол стандарт такой. Это, кстати, аргумент безотносительно всего прочего. Sash*а нафига оно мне так?? А нафига Вы вот такой прочим членам команды? Наезжают обычно не просто от желания наехать, а потому что кому-то мешает. Можно договариваться, но именно договариваться, а не "буду как хочу". Sash*Почему join синтаксис такой не популярный у ораклоидов? Правильно, видимо, ответить "так исторически сложилось". Если пороетесь, некоторое время назад в "Сравнении СУБД" эта тема обсуждалась на нескольких страницах. Краткие выводы: 1. Разницы с точки зрения возможности написать тот или иной селект практически нет. 2. Можно наговорить кучу аргументов в ту или иную сторону, но по большому счету все это - вопрос привычки и вкусов. 3. В любом синтаксисе можно писать хорошо и можно писать плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2006, 18:20 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
разве для настоящих профессионалов есть разница как написан запрос? (+) читается гораздо хуже ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2006, 00:33 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Sash*разве для настоящих профессионалов есть разница как написан запрос? Что Вы называете разницей? Если способность его понять и с ним работать - нет. А если затраченное на это время - да. Sash*(+) читается гораздо хуже Чушь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2006, 00:45 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Когда-то в отрочестве, давным давно приходилось работать с ms access и с join-ами, вспоминается как кошмар, переход на = и (+) стал явным облегчением (тем более что в 7-ке никаких join небыло). Насчёт читаемости и удобства - чушь полная, очень часто соединять приходится не таблицу, а подзапросы на пол листа, в этом случае старое доброе "=" лучше всего. (можно конечно через with, но глючит ведь страшно). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2006, 14:00 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Когда у тебя что - то нормально получается, нет никакой мотивации искать альтернативу, особенно если знаешь , что эта альтернатива еще неотлажена и имеет много багов. FULL OUTER JOIN - это ИМХО мощное дело. Если вычистят от багов , будет нормально. NATURAL JOIN - это ИМХО костыли для лентяев, причем очень опасные. А INNER, LEFT, RIGHT - ну зачем ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2006, 14:51 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
Sash*(+) читается гораздо хуже позвольте с вами не согласиться я по образованию математик, может быть поэтому я не понимаю зачем вообще нужны джойны, если они ограничивают написание запросов? поясню: когда вы пишите Код: plaintext
если вы пишите через джойны, то вы выбираете изначально из одномерного, а не из двумерно пространства - ваши возможности уже и непонятно зачем вы себя ограничили. поясню на примере: пусть есть таблица x_axis с полем value и y_axis с полем value. Произведение этих таблиц - суть евклидова плоскость. Если на этой плоскости задать связь, например Код: plaintext
На мой взгляд естественно сначала задавать общее пространство, а затем налагать ограничения на него, а не наоборот. Именно поэтому, ИМХО, и = и (+) гораздо нагляднее ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2006, 20:50 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
как раз таки ANSI синтаксис _явно_ задает способ пересечения множеств. В математике множеств есть больше операторов чем банальное произведение и фильтр. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2006, 23:41 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
dmitrypanin то сразу ясно, что осуществляется выборка из произведения таблиц a и b, Как же сразу ясно что из произведения? Запятая - просто список таблиц. А произведение как бы другой знак в матеметике. Так что не сразу ясно, а несколько позже, когда станет известно как нужно интерпретировать запятые. JOIN - соединение в рел алгебре - есть такая алгебраическая операция. Тут сразу ясно. dmitrypanin если вы пишите через джойны, то вы выбираете изначально из одномерного, а не из двумерно пространства - ваши возможности уже и непонятно зачем вы себя ограничили. Причем здесь размерности каких-то пространств? В теории групп есть свои опреации, в рел алгебре свои (над отношениями, а не над пространставми никакими или плоскостями). Вы же в теории групп не будете им про размерноти пространств мысли подкидывать, заставлять отказываться от групповых операций. А чем рел алгебра хуже? dmitrypanin Произведение этих таблиц - суть евклидова плоскость. Вы вместо рел алгебры хотите линейную в РБД втюхать? Или ваще геометрию какую-то там? Уверены, что от этого там больше толку будет? Кодд был по образованию математик, да и туча других исследователей там прошлась. Рел алгебру заменять чем либо вроде не нашли оснований. И сама эта алгебра способствовала успеху РМД. Более того, подобные алгебры отдельные авторы пытались (но пока не получилось) втюхать в ООМД например.А Вы хотите это все заменить? Почему? dmitrypanin На мой взгляд естественно сначала задавать общее пространство, а затем налагать ограничения на него, а не наоборот. Но возможно, кто-то там на западе считает более естествееным прописывать операции рел алгебры, причем не сначала и потом а сразу. Чем это плохо? По-моему - тоже вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2006, 00:13 |
|
Почему join синтаксис такой не популярный у ораклоидов?
|
|||
---|---|---|---|
#18+
dmitrypanin Sash*(+) читается гораздо хуже позвольте с вами не согласиться я по образованию математик, может быть поэтому я не понимаю зачем вообще нужны джойны, если они ограничивают написание запросов? поясню: когда вы пишите Код: plaintext
Присоединяюсь. Мне всегда было удобнее считать join как ограничение на декартово произведение. В таком стиле внешний джойн надо писать вместо Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2006, 05:42 |
|
|
start [/forum/topic.php?fid=52&msg=33039966&tid=1880786]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 581ms |
0 / 0 |