[pgsql-jp: 29925] Re: ORACLEでいう DUAL 表は?

池田 秀一 hikeda @ miraclelinux.com
2003年 5月 16日 (金) 16:05:28 JST


池田です。

>  - なぜ DUAL という名前なのか?
>  - そもそも、なぜ必要なのか
> 
> がよく分かりません。

 すいません、俺も命名基準は知りません。また、まったく興味も
ありません。たぶん、From 句で対応したかったのかなと類推する
のはできますが。。
 で、その命名基準が判れば、納得できるとも思えませんが。。

> つまり、どういう必然性があってそうなっているのかが、理解しづらいんだと思
> います。PostgreSQLでは存在していないわけですし、私自身も DUAL なるものが
> 存在している必然性がよく理解できてません。

 繰り返すけど、どっちもどっちでしょう。

 私は、汎用機上のデータベース(NEC ADBS,RIQS-II)、TeraData、
BritonLee、Sybase、Oracle、SQL Server などに関わってきました
が、その経験(慣れ)から『Select 文に From が無い方が非常に
気持ち悪い』です。で、実装理由を聞いても、感覚の問題だから
気持ちが悪いと言う個人の主観、感覚は変わらないですね。
 
> # 「脈絡のないオブジェクト」という指摘は、それはそれで正しいと感じています(私は)。
> 
>  - 意味が先にあって、意味に文法を合わせるのか(FROM DUALが不要)
>  - 文法が先にあって、文法に意味を合わせるのか(常にFROM句が必要)
> 
> の違いじゃないでしょうか。

その通りです。で、脈絡のない気持ち悪い点が、オブジェクトの
存在なのか?、From 句が無いのか?、の差でしかありません。

> 「SQLの仕様に忠実だから正しい」というのは、そのレイヤーを見ればその通り
> かもしれませんが、「そもそもSQLがなぜそういう仕様になっているのか」とい
> うSQLの仕様自体が意味的に正しいかどうかとは別でしょう。

逆に問います。では何を持って「正しいか」を議論したいのですか?

SQL仕様を基盤に話さないのであれば、感覚論に終始して意味が無い
と考えます。他に基盤にできるモノがありますか?

> > FROM句を常に必要とするOracleの方がANSI/ISO SQLに忠実
> 
> という指摘に対して、杉田さんの
> 
> > 言語的には、SQL 自体が出鱈目
> 
> という話になるんじゃないでしょうか。

SQL 自体が拡張の繰り返しなのは事実ですが、RDBMS 出現する以前
の「SQL仕様も存在しない状況」に比較すれば百倍マシです。
SQL仕様にも多少問題があるとは思いますが、無視して進めるのが
良いとはまったく考えません。
 
> 「SQL仕様に沿っているから正しい」という主張と「SQL仕様自体が間違っている」
> という議論が噛み合うわけがないと思うのですが(論理的に)。どのレイヤーに
> フォーカスして「正しい」と言うのかによって、認識は変わってくると思います。

「SQL仕様がおかしい」と主張するのは自由ですが、様々な標準化
の中でも上手く行っているほうだと捉えます。ですので、SQL仕様
と異なる独自拡張仕様を各社が独自に広げるのは良い事とは逆に
考えません。独自拡張は必要悪であり、積極的に行うべきことで
はありません。
逆に、本当に SQL仕様が間違っていると考えるのであれば、独自
実装の DBMS を作成するよりも、SQL仕様を変えるように行動する
方が正しい行動に考えますね。
 
> エンジニア的には、「別に使えりゃいいじゃん」ということなのかもしれません

違います「顧客的には」です。エンジニア的には、別の視点もある
かとは思います。

> ちなみに「仕様にバグなんてものはありません」ということはありません。

「仕様バグ」と言うのは、個別開発では明確に言い易いですが、
不特定多数の顧客から利用されている製品において、顧客ごとに
判断が異なる場合には、一概に「仕様バク」とは言えません。

特定の顧客要望で、仕様バグとして対応した場合に、他の顧客と
しては新規の仕様バグとして認識される可能性があります。

顧客から見れば、SJIS で DB が作成できないのも仕様バグだと
考える人も居るかもしれません。

> 論理的なバグが入り込む余地はいくらでもあります。

繰り返しますが、「仕様バク」だと考えるのであれば、提供元に
伝えるのが「技術者としては誠実な行動」ではありませんか?
って書いてる訳です。

私はバグだと捉えてませんので、連絡はしませんが。。

ではでは。
-- -- -- -- -- -- -- -- 
池田 秀一 <ikeda @ miraclelinux.com>    Hidekazu Ikeda  
 Sales Division, Business Development,  Director 
 TEL: 03-5562-8310  Fax: 03-5562-8306 
----------  
Oracle9i Database Linux版キャンペーン  2003/9/30迄
--★MIRACLE LINUX お知らせ★-----------------------
申┃込┃受┃付┃中┃MIRACLE LINUX プロダクトサポート
━┛━┛━┛━┛━┛〜品質向上計画 発動中!!〜  
http://www.miraclelinux.co.jp/support/product.html
----------------------------------------------------------------------




pgsql-jp メーリングリストの案内