Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Терминология / 11 сообщений из 11, страница 1 из 1
11.12.2006, 13:06
    #34189966
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Уважаемые дамы и господа!
Помогите с подбором правильной терминологии.
Как правильно называется конструкция WITH вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
WITH 
  test as (...)
    (
      ...
    )
select * 
  from test
В Oracle такое называется SubQuery Factoring, в MS SQL Server 2005 - Common Table Expression. А как оно называется у вас?
...
Рейтинг: 0 / 0
11.12.2006, 13:47
    #34190151
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/admin/r0000879.htm

"У нас" это называется select statement.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Select-statement

Read syntax diagramSkip visual syntax diagram>>-+-----------------------------------+--fullselect--*--------->
   |       .-,-----------------------. |
   |       V                         | |
   '-WITH----common-table-expression-+-'

>--+------------------+--*--+---------------------+--*---------->
   +-read-only-clause-+     '-optimize-for-clause-'
   '-update-clause----'

>--+------------------+--*-------------------------------------><
   '- isolation-clause-'

В то время как
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
common-table-expression

Read syntax diagramSkip visual syntax diagram>>-table-name--+----------------------------+------------------->
               |    .-,-----------.         |
               |    V             |    ( 1 )  |
               '-4 (----4 column-name-+--4 )------'

>--AS--(--fullselect--)----------------------------------------><

Перечитайте доки по MS - возможно, common table expression там всё-таки определён, как в DB2 (ведь оттуда и взято)? И SubQuery Factoring - больше похоже на название процесса (что-то вроде "Разложение Запроса На Составляющие Части"), чем на название конструкции.
...
Рейтинг: 0 / 0
11.12.2006, 13:48
    #34190159
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Select-statement

>>-+-----------------------------------+--fullselect--*--------->
   |       .-,-----------------------. |
   |       V                         | |
   '-WITH----common-table-expression-+-'

>--+------------------+--*--+---------------------+--*---------->
   +-read-only-clause-+     '-optimize-for-clause-'
   '-update-clause----'

>--+------------------+--*-------------------------------------><
   '- isolation-clause-'

В то время как
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
common-table-expression

>>-table-name--+----------------------------+------------------->
               |    .-,-----------.         |
               |    V             |    ( 1 )  |
               '- (---- column-name-+-- )------'

>--AS--(--fullselect--)----------------------------------------><
так получше...
...
Рейтинг: 0 / 0
12.12.2006, 05:21
    #34191968
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
2 Victor Metelitsa:

Что касается MS SQL, то там всегда был странный подход к терминологии.
Как правило, термины, устоявшиеся в других системах, в наглую "передираются", но возлагается на них "немного" другая смысловая нагрузка.
Вот ссылка на MS SQL: тынц
...
Рейтинг: 0 / 0
12.12.2006, 05:31
    #34191970
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Victor MetelitsaИ SubQuery Factoring - больше похоже на название процесса (что-то вроде "Разложение Запроса На Составляющие Части"), чем на название конструкции.Не-а, это именно название конструкции. Вот тут можно посмотреть: тынц (требуется регистрация, регистрация бесплатная)
На всякий случай ещё и процитирую:
Oracle9i SQL Reference
Release 2 (9.2)
Part Number A96540-02 subquery_factoring_clause
The subquery_factoring_clause (WITH query_name) lets you assign names to subquery blocks. You can then reference the subquery block multiple places in the query by specifying the query name. Oracle optimizes the query by treating the query name as either an inline view or as a temporary table.

You can specify this clause in any top-level SELECT statement and in most types of subqueries. The query name is visible to all subsequent subqueries (except the subquery that defines the query name itself) and to the main query.
...
Рейтинг: 0 / 0
12.12.2006, 10:57
    #34192444
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Бабичев Сергей2 Victor Metelitsa:

Что касается MS SQL, то там всегда был странный подход к терминологии.
Как правило, термины, устоявшиеся в других системах, в наглую "передираются", но возлагается на них "немного" другая смысловая нагрузка.
Вот ссылка на MS SQL: тынц

Спасибо за ссылку. По ней я вижу, что test в
Код: plaintext
1.
2.
3.
test as (...)
    (
      ...
    )
называется CTE и в DB2, и в MSSQL.

Ого, так они и рекурсию a la DB2 сделали...
...
Рейтинг: 0 / 0
12.12.2006, 11:45
    #34192651
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Victor MetelitsaОго, так они и рекурсию a la DB2 сделали...Видимо, это у них ещё с тех времен повелось, когда Билли "спёр" идею курсорного манипулятора (aka "мышь") у фирмы Xerox и оконного интерфейса у APPLE Computers ;)
...
Рейтинг: 0 / 0
12.12.2006, 14:48
    #34193491
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Оконный интерфейс тоже родом из Xerox, и даже Ethernet оттуда. И термин "Объектно-ориентированное программирование". Много ли Xerox'у было пользы?

Заимствование WITH и рекурсии я ставлю Микрософту в плюс. И я был бы рад, если бы DB2 позаимствовала кое-какие фичи кое у кого, как она уже сделала с некоторыми другими фичами...
...
Рейтинг: 0 / 0
13.12.2006, 05:18
    #34195137
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Victor MetelitsaЗаимствование WITH и рекурсии я ставлю Микрософту в плюс. В принципе согласен. Ибо изобрести что-то новое в наши дни - довольно сложная задача. А вот позаимствовать что-то уже изобретенное, вместо придумывания собственных кривых велосипедов, во имя расшириния функционала собственной системы - это и в самом деле большой плюс.

Victor MetelitsaИ я был бы рад, если бы DB2 позаимствовала кое-какие фичи кое у кого, как она уже сделала с некоторыми другими фичами...Ой, если не секрет, то об чем речь? Интересует как уже позаимствованные фичи, так и те, которые хотелось бы поиметь. (Просто я в DB2 полный ноль, но хотелось бы расширить свой кругозор).
...
Рейтинг: 0 / 0
13.12.2006, 14:52
    #34196849
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Например:
* во второй версии DB2 не было внешних соединений
* sequence появились только в версии 7.2
* хранимые процедуры из триггеров стало можно вызывать только в 8.2.
* аналогов переменных пакетов Oracle нет до сих пор (на самом деле они нужны только для портирования, но тем не менее...), как и индексов по выражениям.

Зато хорошо было бы убрать нафиг XML и забыть о нём как о страшном сне.
...
Рейтинг: 0 / 0
14.12.2006, 08:03
    #34198502
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Терминология
Victor MetelitsaНапример:
* во второй версии DB2 не было внешних соединений
* sequence появились только в версии 7.2
* хранимые процедуры из триггеров стало можно вызывать только в 8.2.
* аналогов переменных пакетов Oracle нет до сих пор (на самом деле они нужны только для портирования, но тем не менее...), как и индексов по выражениям.

Зато хорошо было бы убрать нафиг XML и забыть о нём как о страшном сне.Спасибо, Виктор!
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Терминология / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]