[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 メーリングリストの案内