SQLって変だよね?
■ このスレッドは過去ログ倉庫に格納されています
0001仕様書無しさん
NGNG大手を振ってるんだ?
って思う。
SQLを擁護したい人反論して、SQLの素晴らしさ
をオレを得心させられる?
0002仕様書無しさん
NGNG0003仕様書無しさん
NGNG反論のしようがないと思われ。
0004仕様書無しさん
NGNG0005仕様書無しさん
NGNGプログラミングしかしたことが無いんだと思われ。
0006仕様書無しさん
NGNG直行性が高いって言うんですよね 確か
うる覚えでマジレスごめん
0007仕様書無しさん
NGNG0008名無しさん@1周年
NGNG0009仕様書無しさん
NGNGともかく、SQLって直交性に乏しかったっけ?例キボン。
0010仕様書無しさん
NGNGプログラマー向けのもんではなくて、
一般ユーザが、ダム端末から、
コマンドラインのりで、
RDBを問い合わせるために開発されたものだから、
プログラマ的な視点でみたら「変」だとは思いますが、
私にとっては、有用なので、よろこんで使ってます。
0011仕様書無しさん
NGNGテーブルが10数個使われてるやつでバグられると、うつー
作った本人は、一度にクエリーしたほうが速いつってるけど、
正常に動かなきゃ意味ねーよ。
ところで、テーブルを元にしたクラスを作るときの定石ってある?
フィールドの分だけ、プロパティを追加するのがめんどくさくて。
0012仕様書無しさん
NGNG0013仕様書無しさん
NGNG>>12
おもしろくないです。
0014仕様書無しさん
NGNG便利ってだけだと思う。ので、その2点がSQLでなくとも
実現されていれば、SQLである必要なし。
単一APとかだったらSTLの方が便利とも思うし。
0015仕様書無しさん
NGNGそうだっけ?
元々アメリカの大学教授が提唱して、IBMが始めに
製品化したんじゃなかったかな?
0016仕様書無しさん
NGNGコッド博士のこと?コッド博士はIBMだよ。
0018仕様書無しさん
NGNG0019仕様書無しさん
NGNG必須科目です。
特に大規模のソフトを造るとなればなるほど重要になります。
しかし、規模が小さいソフトを造るなら必要ありません。
ましてや、たかだか40〜50行くらいのコードを書くなら
まったく関係ありません。
まぁ、仕事で即必要なら、初心者がいきなりSQLをやることも
あるが、
大半は、ある程度のコードを書いていて、「これではものたりん、
もっとでかい奴を書きたい」と言う気持ちが起れば、DBの勉強しましょう。
というより、別に意識してやら無くても、
でかいコード書いてるうちにいつのまにかやってしまうものですな。
0020仕様書無しさん
NGNGえらい、びびりやね。
0021仕様書無しさん
NGNG0022仕様書無しさん
NGNGつか、学生時代にちょこっとプログラムかじって、
就職したらSQLやれっていわれて鬱が入ってる奴とみた。
SQLを一つの言語としてとらえると、その生産性は高い。
使えない奴に言っても無駄か。
0023仕様書無しさん
NGNG使える使えないじゃなくて、直交性がなくて汚いって言ってるんでしょ。
副問合わせの中では group by が使えないだとか (だっけ? 違うかも
しれんが)、そんなとこ。
俺は from, where, group by などの順序が決められている
理由がわからん。
あと、where と having という2つのキーワードが本当に必要
なのかなって思う。where と having は、group by する前か
group by した後のどちらで条件を引っかけるか、でしょ?
構文を工夫すれば、having は不要にならなかったのかな。
ときにオレは「直交性」の意味を明確に説明できないのだけど、
誰か説明してください。
0024仕様書無しさん
NGNGSQLって、ドンドン拡張されてるでしょ?
そのうちきれいになるんじゃないかな。なんて。
0025仕様書無しさん
NGNGデータがあればupdate、無ければinsertとか。
0026仕様書無しさん
NGNGDBは理論は後からついたものじゃなかった?
もともとは実用優先でやってたものが整理される過程の中にあるんだろうね。
0027仕様書無しさん
NGNG検索にかけてみそ。
Unix に関係ありそうですな。
002827
NGNG間違った
直行性じゃなくて直交性ね。
おれ逝く。
002923
NGNG> SQLって、ドンドン拡張されてるでしょ?
> そのうちきれいになるんじゃないかな。なんて。
SQL-86、SQL-92、SQL-99 ときてるけど、きれいになってるの?
そんな気はしないけど。例えば order by でカラム名じゃなくて
1 とか 2 とかのようなカラム番号を指定できるのは、SQL-99 では
廃止予定だったっけな。でもその結果きれいになるとは思えないなぁ。
003023
NGNGどう?
0031仕様書無しさん
NGNG職場の他の連中はSQL文を組み立てるのにマウスで
テーブル名をドラッグなんてやってるが、
おれにはあんなとろいことできん。
SQL文はselectやinsertばかりではない。
関数を作ったりテーブルを作ったり
いろんなことができるのだ。
おれはSQLマンセーだな。
0032仕様書無しさん
NGNGオラクルだったらできるぞ。オラクルのみの昨日だけど。
00343年生
NGNGPL/SQLでインサートした後、データあり例外が起きたら
アップデートってのが常套手段だと思ってるんだけど、
ほかにやり方ある?
0035仕様書無しさん
NGNGDBは星の数ほどあるソフトウェアの応用分野の中の
一つにすぎないでしょ。別にDBなんぞ不要な分野だって
イパーイあるよ。
0036仕様書無しさん
NGNGアホコンサル・SEが増えてきていて鬱だ。
ファイルシステムそのまま使うとか、IPCのシェアドメモリ
使うとか、性能要求の事を考えればそれが当然であるはずの
選択肢の幾つかを「知らない」自称「最先端」Java技術者
とか見ると、殺してやりたくなる。
お前らみたいなのがいるから、お客さんが中小SI・コンサル
==詐欺師という認識が出来上がっちまうんだよ!!!
0037仕様書無しさん
NGNGくせにそのデータをデータベースに保存する、
そんなシステムがときどき存在するね。
>ストレージングの方法としてRDBMS「しか」しらない
ということみたい。
0038仕様書無しさん
NGNGことあるけど(いや、DB使ったほうが便利だったんだけど)
普通のコンシューマー向けアプリのデータ保存にDBを使いましょうと
言われた時は萎えたな。
0039仕様書無しさん
NGNG0040仕様書無しさん
NGNG> SQL採用させたことあるけど
> (いや、DB使ったほうが便利だったんだけど)
意味わからん。38 の言う SQL って何? DB って何?
004136
NGNGSQLの文法の話で生兵法ひけらかしてるアホと一緒にしないでくれ〜。
0042仕様書無しさん
NGNGSQL-Serverだったりして。
0043仕様書無しさん
NGNGMSのネーミングは嫌いだ。
004438
NGNG0045名無しさん@そうだ選挙にいこう
NGNGまったくだ。COBOLを知ってればデータの扱いを
SQLを通してしか考えられないことがいかに非効率か
明白なのに。
0046仕様書無しさん
NGNGなぜここでCOBOLがでてくるの?
0047仕様書無しさん
NGNGいやそれは、COBOLがどうのこうの話ではないと思うが…
004847
NGNG0049仕様書無しさん
NGNG煽ってるんでしょ?
0050仕様書無しさん
NGNGto とか on とか.
0051仕様書無しさん
NGNG近づけたって話を読んだ気がする
0052仕様書無しさん
NGNGだから、どうすればHavingが不要になるのか教えろよ。
0053SQL素人
NGNGそれとも、別の書き方とかで統一できるの?
0054仕様書無しさん
NGNG41は生兵法ひけらかしてるアホなんだよ
whereに含めたら混乱を招くし、結局group byの前か後かって認識
させなきゃいけないし、それだったら素直にhavingのほうがいいに決まってる。
言語仕様をわざわざ汚す必要なんてない。
また、それがネックにもなりかねない。41はバカなんだよ。
0055名無しさん@まいぺ〜す
NGNG0056仕様書無しさん
NGNGselect sum(col) from tbl having sum(col) > 100;
select sum(col) from tbl where col > 0 having sum(col) > 100;
select sum(col) from tbl where sum(col) > 0; ←意味不明だな。
select sum(col) from tbl having sum(col) > 100 where col > 0;
↑なんかしっくりこない。
where句ってselectで表示するものに条件付けするもんじゃなくって、
選択する表に掛かっていって、havingって選択した結果に掛かるんでしょ?
あと、having句ってgroup byの前でもOKじゃなかったっけ?
005756
NGNG言いたかった。
0058仕様書無しさん
NGNG>group byの前でもOKじゃなかったっけ?
そんなことはみんな知ってるだろ
解釈的にgroup byが処理される前か後かってことだろよ
005956
NGNG集約した結果にってことね。
0060仕様書無しさん
NGNG要するに表に対して抽出してくる条件と
その結果に対して指定する条件を一緒にしようとすれば
できるかもしれなけど、判別しないといけなくなるから
分かれてるほうが自然だよね
0061仕様書無しさん
NGNGselect sum(col) from tbl where col > 0 having sum(col) > 100;
に対して
select sum(col) from tbl where col > 0 and sum(col) > 0;
こんな風に書ければいいと言っているのかな?
これってわかりやすいのかな?
select(どれを)from(どこから)where(どんな)having(にもかかわらず)
のほうがわかりやすいと思うけど
whereにまとめる利点てなんなのかな?
0062仕様書無しさん
NGNGなっかった気がするが気のせいだろうか。
ちなみに Pro*Cとか便利?
0064仕様書無しさん
NGNGっていうのを去年のbitで読んだ。何月号かはわすれたけど。
0065仕様書無しさん
NGNGでもそれは掛け算を足し算の繰り返しで行うようなもの。
0066仕様書無しさん
NGNG0069仕様書無しさん
NGNGたまに解の無いパズルもあるけど(鬱
0070仕様書無しさん
NGNG0071仕様書無しさん
NGNG0072デフォルトのやる気なし
NGNG仏典でそんな比喩がありましたね。
えーと、『群盲批象経』でしたっけか?
(スレ違い気味・・・(-_-;)
0073仕様書無しさん
NGNG何をさしてそーいってるのかわからん。
なんで?
0074仕様書無しさん
NGNGそうだとしても説明無しにそういうスレ付けるの最低。中身が薄くなるだけ。
007571
NGNGそれぞれの概念や用語や前提条件が微妙にずれているままスレが続いているから
というか、最初からずれてるんだが。
SQLって擁護するとかそういうものじゃないだろ
007671
NGNG>>62,63
別に便利とも不便ともいう事はない、Cで作るモジュールから Oracle
にアクセスしなきゃならんときに使うだけ。
ただ、DB 内で完結できるところは極力 ストアドプロシージャ−にして実装するのが吉
0077仕様書無しさん
NGNG>ただ、DB 内で完結できるところは極力 ストアドプロシージャ−にして実装するのが吉
くらいの認識の奴がエラソーなこと抜かすな(ワラ
>RDBMS SQL 直交性 ストレージング 等、
>それぞれの概念や用語や前提条件が微妙にずれている
テメーの言葉で説明してみろってんだ、クソが。
008076
NGNGすまんね、最近 'select * from ....' だけを使って
何から何まで C で実装する頭の悪いやつと
話してたので、つい書いてしまったよ
とりあえず、論外なのが、RDBMS と SQL を
ごっちゃにしているやつ。sすまんが、逝ってくれ.
もう指摘されたけど、対障害性と一貫性は SQL が保障しているわけじゃないぞ
処理系と言語をごっちゃにするやつは逝ってくれ
0081仕様書無しさん
NGNGおまえこそ異様に頭悪く見えるぞ。
76のカキコは辞めたほうがよかったのでは。
0083仕様書無しさん
NGNG>もう指摘されたけど
んじゃ、何回も同じ事を指摘するんじゃねーよ、クソボケが。
>とりあえず、論外なのが、
とりあえず、論外なのは、おまえだ、マヌケ。
>すまんね、最近 'select * from ....' だけを使って
>何から何まで C で実装する頭の悪いやつと
>話してたので
一言も話題にしていない、おまえの脳内に住む人間の事まで
他人がわかると思うか?
何、言い訳してるんだ、ヘタレ。
0084仕様書無しさん
NGNG>ただ、DB 内で完結できるところは極力 ストアドプロシージャ−にして実装するのが吉
こりゃどしよーもない。こいつの発言は無視しよう。
Oracleのストアドプロシージャってjavaに丸ごと変わったんだろ。吉じゃなく悪。
0085仕様書無しさん
NGNG悲しい奴だ
0086仕様書無しさん
NGNG双方ともでむぱ入ってきたものとおもわれ
0087仕様書無しさん
NGNG0088仕様書無しさん
NGNGoracleはアプリよりのもの作っては消してる。PL/SQLも消えるのは時間の問題。
0089仕様書無しさん
NGNGおいおい、下位互換性がなくなるでしょ
0090仕様書無しさん
NGNG○:PL/SQLってJavaに
言語と実装形態の区別がつかない方がいらっしゃいます。
0091仕様書無しさん
NGNG0092仕様書無しさん
NGNGストアドプロシージャの話題は一旦終わり。(上の害基地の会話を終わらせるため)
0093出来そうで出来ない
NGNGSQL の文法に直交性はないように思う。
過去レスにもあるが lNSERT 文と UPDATE 文の違いが直交性のなさの現れだ。
議論求む
0094仕様書なし
NGNGSQL覚えたての頃は、そんな事も考えたが・・・
そもそもINSERTとUPDATEは、目的が違うからねえ。
特別、擁護するつもりもないが、直交性が増して
似た文法になった時にバカなSEにINSERTツモリ文で
正常データ(しかも顧客のデータ)を
全件UPDATEされたりするんだぜ。そんなのは嫌だろ。
ORACLEにODBCドライバ経由で入ってくるACCESS初心者
(ミス多し)なんて皆さんの周りにいません?
0095仕様書無しさん
NGNGそういう連中は SQL なんて書かないで GUI からポチポチっと削除しちゃうの。
つうかアホ避けってダメな文法の言い訳にならんだろ。
自分に言い聞かせるには良いけど(w
0096仕様書無しさん
NGNG0097仕様書無しさん
NGNGinsertは集合演算になりえないので元々不可能。sqlの問題でない。
問題は、select(は自由に書ける)とupdateの直交性のなさでは。
009893
NGNGうむ。目的が違うと言われればそれまでなんだけど、やっぱり釈然としない。
コマンドラインで INSERT 発行直後に後に間違いに気づき、
UPDATE 文にちょちょいと直すことができん。
INSERT .... SELECT .... ってのあるが、これも UPDATE 文にはないよね。
この辺はどう考えても、初期の DB の実装による制限だと感じてしまう。
これも先に出た話題(>>23)だが WHERE と HAVING 句もなんで別のキーワードなのか?
ってのが発言者の主題。
両者の目的や動作の違いでなく、どちらも 条件記述句(?)なのに
なんでキーワードが別(しかも、単語としても対照性がない)なのか?
HAVING というキーワードを導入した設計者のセンスを疑っていまいます。
# SQL は必要です。はい。便利です。判っております。
# 議論は 文法上の直交性 ってことです。はい。
009993=98
NGNG>insertは集合演算になりえないので元々不可能。sqlの問題でない。
ふむ。 ご指摘ありがとうございます。
# 今日はじめてこのスレ来たけど、為になります。ペコリ
0100非決定性名無しさん
NGNG(まぁ、アメリカのなんとかいう学者さんが考えたもんなんで、
調べりゃわかるけど、メンドウだからどうでもいいや)
数学者って、プログラムでも1行でなんでもかんでも記述しよう
として、うんと読みにくくなるよね。
Σ記号とか積分の式とか、学生のころはあれがイヤでしかたなかった。
なんでプログラムのfor文みたいに一行づつ書いてくれないのか、
中間変数を用意したりしてわかりやすくしてくれないのか不思議で
ならなかった。
SQL文も同じノリなんで、あんまり好きではないけど、FETCHは好きだ。
ま、今と違って限られたメモリとディスク容量でリレーショナルDB
を作るためにはSQLより良い方法がなかったんでしょうねぇ。
1行処理してその結果によって次の行の処理を変えるようなSQLも
組めなくはないけど、ひどく難しいよね。
(ま、そこあたりは他の言語でやるのが普通だろうけど)
0101仕様書無しさん
NGNG『達人プログラマ』に「直交性」という項があって、そこで言われてるのは、
直交性がある(高い)というのは、「独立性が高い」というものです。
・直交性の高いモジュールを作ろう
・UNIXのコマンド群は直交性が高い
などと使うようです。
>>93
>SQL の文法に直交性はないように思う
などという文脈で使われてるのは、上記の意味じゃ無いですよね?
>>94
>直交性が増して似た文法になった時に
「直交性が増す」というのと、「似た文法になる」というのがどういう関連が
あるのか良くわかりません。
もし、「直交性のある文法」とか「直交性のある言語」とかいう使い方を
するのであれば、例えばどういうものなのか教えてくれませんか?
0103101
NGNG『達人プログラマ』では、幾何学の「直交」から「直交性」という言葉が
出来たと書いてました。
幾何学の「直交」は文字通り垂直に交わるものです。y=0とx=0とか。
一方の変化が他方に影響を及ぼさないということです。
>数学でいうところの「直交」
その「直交」はどういう直交ですか?何学?
010421
NGNGhttp://www.mogami-wire.co.jp/unix/unix-bg.html
↑これの「コマンドの直交性」が近い?
数学で言うところの直交とは内積=0のことです。
102が何を言いたいのかは、まったく不明。
説明もせずにエラぶってるあたり、たぶんバカでしょう。
0105101
NGNGさんきう。リンク先から引用。
> すべてのコマンドは、分かりやすく、単純で基本的なもので、それぞ
> れ別な働きをします。機能に関して、重複がありません。そして、そ
> れら少数のコマンドの組合せにより、すべての仕事空間、つまり現実
> の問題がカバーできるようにします。
「独立性」ということに加え、対象となる問題を空間に例え、
> 仕事に必要なツールの空間で、直交性を有するコマンド、すなわち座標を見いだす問題
としているのが、『達人プログラマ』とは違うところです。
ちなみに、達人プログラマでは、「直交性のないもの」の説明として、
「ヘリコプタの操縦」があげられていました。
うーん、やっぱりこのスレ言われてる「直交性」が分からないなぁ。
0106仕様書無しさん
NGNG線形独立の方がしっくりくるように思います。
もし、2つのベクトルが線形独立でないとすると一方のベクトルの値が
決定すると、もう片方のベクトルの値も決まってしまいます。
コマンドが直交しているとは、概念的に組み合わせることができる
コマンドがきちんと制限なく組み合わせることができることでしょうね。
SQLでは、SELECT文が返すものはリレーションです。
1行、1列を返すと見た目はスカラー値と変わらないが、
概念的にはリレーションです。
SQLが直交性がないというのは、例えばリレーションが返せる個所に
任意のSELECT文が書けるのか?ということが考えらますが、
これはSQL92でかなり改善されたはずです。
FROM句(だけじゃないですが)にSELECT文が書けるのは普通ですから。
上のほうでWHERE句とHAVING句のことが言われていますが、
もし、変えるとしたら、グループ化した結果のリレーションに対して
WHERE句を指定することになると思います。
あくまでグループ化する前と後ろは区別すべきなのは変わらないです。
しかし、現実には(現場においては?)、HAVINGでまとめて書いた方が
速いので一種の略記法と考えてもいいかも。
実表→絞込み→グループ化→絞込み→検索結果
という流れで、最初の絞込みがWHERE句、後ろの絞込みがHAVING句
ということになります。
更新系SQLについては、どのように直交性とかかわってくるのか
私もよくわかりません。
概念的に更新系SQLはRDBMSの理論になじむのでしょうか?
0107102
NGNG下手な煽りは放置しててもいいんだけど・・・
まず、「線形空間」の概念を理解しているか?
大丈夫なら、それを「コンピュータが行うべき作業すべて(の空間)」に
写像したものをイメージしてみろ。
これでも、まだわからんのか?
0108101
NGNG解説どうもです。
>SQLが直交性がないというのは、例えばリレーションが返せる個所に
>任意のSELECT文が書けるのか?
うーん、言いかえると
「リレーションが返せる個所に任意のSELECT文が書けるのは直交性がある」
ということですね。分かったような、分からないような・・・。
あ、それと、Webを見ていて分かったんですけど、
リレーショナルモデルは1970年にIBM研究所のE.F.Codd博士によって発表された
もので、SQLは1974年、IBMのサンノゼの研究所の人々によって開発されたもの
だということです。もともとは、SEQUELという名前だったのですが、この名前が
登録商標で問題になりSQLと改名されたそうです(このスレとはあまり関係ない
けど)。
0109仕様書無しさん
NGNG0110101
NGNGえっと104じゃないんですけど・・・。
>まず、「線形空間」の概念を理解しているか?
ちょっと調べたんですけど「線形代数」の話ですね。
>大丈夫なら、それを「コンピュータが行うべき作業すべて(の空間)」に
>写像したものをイメージしてみろ。
うーん、うーん、それって「SQLは直交性があるかないか」ということと
関係あるのでしょうか?数学的な知識無しには「SQLの直交性」は
議論できないということですか?
0111101
NGNG1 線形空間(1) ベクトルの演算
2 線形空間(2) 一次独立性
3 線形空間(3) 線形部分空間
4 線形空間(4) 低次元空間での内積
5 線形空間(5) 高次元空間での内積
6 線形空間(6) 直交化
7 線形空間(7) 体積・面積
8 線形空間(8) 高次元空間での体積
こんなことをやった記憶はあるけど、どうしても「言語の直交性」とは
結びつきません・・・。
0112102
NGNGそれらの空間に対する座標系を設定するって事と
似ているだろ。
また、個々のプログラムを作成するって事は
その座標系を使って個々の点をあらわすって事と
似ているだろ。
これでどう?
0113仕様書無しさん
NGNG「直交性のある/ない命令体系」
という言い方はするな
0114仕様書無しさん
NGNG低くねえか、おい?」ぐらいの意味じゃないの?
「Cは直交性が高いけど、比べてPerlはそれが低い」とか。
言わない?言わないか、そか
0115仕様書無しさん
NGNG真:高くねえか
大した話じゃないから、どっちでもいいけどな
0116仕様書無しさん
NGNG>>114,115の説明の意味だと思う。
where,havingが別キーワードな点は俺も納得いかん。
実表→絞込み→グループ化→絞込み→検索結果
で、
1回目の絞込み = where
2回目の絞込み = having
って、キーワードが異なるのはおかしくない?
その機能に実用性があるかは疑問だけど、
3回目、4回目...の絞込みが実装された場合、
どういうキーワードにすりゃいいの?
0117仕様書無しさん
NGNGが正解だろ。
命令(言語)の直交性は数学の線形うんぬんとは全く関係無い。
単純に命令が対象的とかパラメータが共通な場合、直交性がある/高い などと表現する。逆に同じようなパラメータなのに、命令毎に表現が異なる場合は、直交性がない/低い という。
0118仕様書無しさん
NGNG初めてまともな「直交性」の定義が出ましたね。
で、疑問。
「117の定義する"直交性"の無いものは悪なのか?」
>>116
>1回目の絞込み = where
>2回目の絞込み = having
>って、キーワードが異なるのはおかしくない?
何故に、おかしいと感じるんでしょう。
SELECT a, count(*)
FROM table
WHERE a > 10
AND count(*) > 3
と書けなければ「おかしい」ということですか?
0119仕様書無しさん
NGNGなんで集合演算のcount(*) と 項目 a が同列に書けるわけ?
素人丸出しだから読んでるだけにしな。
InsetrとUpdate
0120仕様書無しさん
NGNG集合と各レコードの違いを理解してない>>100みたいのが多いようですが
>1行処理してその結果によって次の行の処理を変えるようなSQLも
>組めなくはないけど、ひどく難しいよね。
みたいな「次のレコード」という記述からして、数学全然だめだったんだね
0121118
NGNG>なんで集合演算のcount(*) と 項目 a が同列に書けるわけ?
誰も同列に書けるなんて書いてませんけど。
>みたいな「次のレコード」という記述からして、数学全然だめだったんだね
あなたの発言って、微妙に痛いんですケド。
黙っててくれます?
0122仕様書無しさん
NGNG0124118
NGNG「集合と各レコード」なんて書くあたりに厨房臭さが滲み出ていて泣かせるね。
どうせ、先週学校で「データベース概論」でも受けて、わかった気になったんだろうね。
わかんないなら、無理に発言しなくていいからさ、黙ってなよ。
0125118
NGNGまともだと思う、あるいは、直交性のあるBNFでも書いてさらしてみたら?
餓鬼じゃないんだから、「駄目だ駄目だ」じゃ議論は進まないよ。
0126仕様書無しさん
NGNG>>118
ま〜だHavingがおかしいとか世迷言いってんのか?
おまえはFETCHで足し算ループでもやっとけ
おまえが糞の役にもたたんSQL例文載せるからだ。
0127118
NGNGあのさ、>>118は>>116に対するコメントなんだけど解ってる?
>おまえはFETCHで足し算ループでもやっとけ
一体何のことだか。何かのトラウマ?
>おまえが糞の役にもたたんSQL例文載せるからだ。
>>118のSQLモドキはもちろん文法的にもおかしくて、何の役にも立たないけど、
>>125で書いてるみたいに、「おかしい」とか「気に食わない」とか言うのだったら、
>>118のように例を揚げて主張しろってことなんだけど、それもわからんのか。
0129仕様書無しさん
NGNGまずそれがどんなものか簡潔に説明してくれ。
他人に説明も出来ないようでは「わかっていない」よ。それ。
0130102
NGNG>単純に命令が対象的とかパラメータが共通な場合、直交性がある/高い などと表現する。
君は、
「なぜ、そのような場合に対して"直交性がある"という表現をするのか?」
って事について、今まで一度も考えた事が無いの?
幸せな人だね。
>>118
>初めてまともな「直交性」の定義が出ましたね。
これは"定義"などではなく"隠喩"だろ。
こんな事だから、分からん奴には絶対分からんというのだよ。
>>129
「>>102は分かっていないバカ」って解釈してもらっても結構だよ。
バカ呼ばわりされてまで懇切丁寧に説明する義理はない。
0131仕様書無しさん
NGNGというか「直交性」という言葉を使わずに議論して欲しいよね。
みんな微妙に違う意味で「直交性」を使ってるみたいだし。
>>118の言うように、自分が理想とするものをSQLでもBNFでもいいから、
まず示して欲しいね。
0132仕様書無しさん
NGNG>>>118
>>初めてまともな「直交性」の定義が出ましたね。
>
>これは"定義"などではなく"隠喩"だろ。
>こんな事だから、分からん奴には絶対分からんというのだよ。
じゃさ、100字程度で「直交性」を定義してみなよ。
>分からん奴には絶対分からん
じゃなくて、あなたが「説明できない」だけなんでしょ。
御託はいいから、早く「定義」してくれよ。
君の「定義」で、以降議論するから。
0133102
NGNG>じゃさ、100字程度で「直交性」を定義してみなよ。
私が何を言ったのか>>132は「ぜんぜん分かっていない」と言う事に
気づいたから。(また、これについては多少私にも責任があるから)
>これは"定義"などではなく"隠喩"だろ。
上の文でいう「これ」っていうのは、
>初めてまともな「直交性」の定義が出ましたね。
を指しているのではなくて、
>なんであんな不自然で直交性のないものが
といった場合に使われる「直交性」という言葉を指しているんだよ。
0134102
NGNG0136仕様書無しさん
NGNG言葉の上では、たとえの形式をとらない比喩。
「…の如し」「…のようだ」などの語を用いていない比喩。
「雪の肌」「ばらの微笑」の類。メタファー。暗喩。
どうやら俺には君のすてきなポエムを理解できないらしい…
板違いだろう。
こっち行け >>1
http://mentai.2ch.net/poem/index2.html
0138仕様書無しさん
NGNG東工大卒だが英語が苦手な私の同僚はSQLが大嫌いです。
文系で英語ペラペラの上司はSQL大好きです。
ちなみにSQLは好きでも嫌いでもありません。私は。
1>>
が書いた「直交性」という言葉の意味はもうこの際どーでも
いいのでは。
ただ、私の同僚の言葉に耳を傾けると、SQLが「まとも」な
「言語」といえるかどうかは少し疑問です。
某大手シンクタンクに協力会社として一緒に仕事している
協力会社のプログラマーより
0139仕様書無しさん
NGNG痛いなー。
「東工大だが…同僚」「英語ペラペラの…上司」「某大手シンクタンクの協力会社のプログラマー」
で、論旨はぜんぜん関連がないと思うのだが
これって「直交性」の実例ですか
0140仕様書無しさん
NGNG要約すると
・私はSQLが「まとも」な「言語」といえるかどうかは少し疑問です。
> 今の話題と全く関係なく、申し訳ないんですが、
うん、申し訳ないと思ったら2度と発言しないでね。
# 堕レスはお腹一杯なので
0141仕様書無しさん
NGNG0142仕様書無しさん
NGNGヤッチャッタネ・・・
0143仕様書無しさん
NGNGCPUで直交性といったら、演算と演算対象の、二次元(演算xレジスタ)
あるいは三次元(演算xレジスタxビット長)のマトリックスがあり、
マトリクス上の全てのセルを埋める命令が存在するということですよね。
CPUの場合マトリクスは命令xレジスタだけど、
SQLの場合、直交性が求められる対象は何を想定しているのか、教え
ていただければ幸いです。
>ここで直交性について語っている方
0144仕様書無しさん
NGNGしかし、直交性に劣ると具体例で出ているのはhaving程度で、
それだけでSQLが劣ると語っているの?
insertとupdateの件は解答が出ているし。
0145仕様書無しさん
NGNG<左辺式> や <右辺式> の中で使える <関数> とか <述語> とかがある訳だけど
この「使える<関数>や<述語>」が <op> によって全然違う…
っていう意味か?
任意の<関数>や<述語>が、任意の <op> に使えれば
「直交性が高い」と言うのかにゃ?
0147仕様書無しさん
NGNG「自論に都合の悪いことを言う人間は理系」というのは文系の典型だな
それで何か完結したような気になるのもな。
「直交性」に対しての議論は確かに理系っぽい話だが、
それがどーした。
理系 vs 文系 スレではないので、 sage
0148仕様書無しさん
NGNGきていると思えます。
基底ベクトルはn次元線形空間を張るのに必要十分なベクトルの
集合です。
ですから、あるコマンド群が直交しているとは、そのコマンド群を
組み合わせることによって、処理系で期待される操作全体が
ちょうど過不足なく表現できることだと思います。
上記のSQLにおけるWHEREとHAVINGのことは、WHEREが
あればHAVINGは要らないのではないの?という意味で直交性が
かける(つまり冗長)と言いたいのですよね?
しかし、C.J.DATEなども言っているのですが、直交性を持つ
データ操作言語が必ずしも使いやすいとは限らないです。
私はHAVINGについては、このような実用的な観点から特に
問題にするようなものでもないと思っています。
それ以外は、SQLはそう直交性に欠ける言語ではないと思います。
つまりリレーショナルモデルで期待されるデータ操作は(たぶん)
過不足なく表現できるものだと・・・。
上のほうにも似た意見があるので、繰り返しになってすみませんが。
0149仕様書無しさん
NGNG0151仕様書無しさん
NGNG> CPUの場合マトリクスは命令xレジスタだけど、
普通addressing modeも、一つの次元だわな。
これが直行しているCPUは極めて少ないけど。
しかし、102は不憫だな。何も間違ってないのに。
0153仕様書無しさん
NGNG01541
NGNG0155102
NGNG0156仕様書無しさん
NGNG機械語の命令セットの直交性の話を、
高水準言語に当てはめてみたんでしょ
0157仕様書無しさん
NGNGほい。これが昔から使われてる「命令の直交性」のオハナシ達
0158仕様書無しさん
NGNGDBに数学てそんなに関係あるのか?
コンピューターは大まかにわけて、データー、演算、出力の
3つにわけることがでる、
そして数学的な要素は「演算」の部分だろう。
技術的にはDBはDBとしてそんざいするわけだし、
まぁRAMばかりいじってROMをいじったことが無い人には
あんまりDBは関係ないだろうけど。
けど、俺もそこらのレベルはできないんだけどな。
0160仕様書無しさん
NGNGってのもなんだかよくわからんね
0161仕様書無しさん
NGNG0163仕様書無しさん
NGNG言葉を、自分が知っていた数学の直交基底云々から
想像力を働かせることで、独自にその意味を発見して
吹聴したと。
こんな言葉が大昔から定義され、使われ続けていることも
知らずに。てとこか(藁
0164仕様書無しさん
NGNG「関係データベースの正規化」ってわかる?
0165仕様書無しさん
NGNGアクセスでできないことは、DBの会社に「頼む!」
で終わり。
0166仕様書無しさん
NGNG「AccessなどDBとは呼べないシロモノ」という皮肉なのか
DBが何かをよく解ってないのか...
ほぼ確実なのは >>158=>>165ということだけ、か
0167非決定性名無しさん
NGNG0168仕様書無しさん
NGNGきちんとやってくれればそれで良いという事。
0169仕様書無しさん
NGNG何度も書いてるじゃん。
ここまで引っ張られると、説明できないの?と思うぞ。
0170仕様書無しさん
NGNGそら、できる人はとてつもなくできるけど、
それに、今?は、小さくてもきちんとしたアプリ書ける人が
不足してるのに。
VBなんかできなくても良い、オフィスが使えたらそれでいいんだ!
と言う会社も多いということを知っておいた方が良いよ。
まぁ、!IT会社ではやたら高度なことを言うけど、オフィス使える人
意外と少なくて困る!と言う人もいるし。
そこそこできる人は、オフィス、VBそんなもんやってられるか!
と言うしな。
まぁ、メインシステムで完成度の高いのを造れる人なら別だけど。
0171仕様書無しさん
NGNGよいと思われ。ないとは思うが、ソフト会社なんか入ったら
一番血祭りにあげられるタイプ→URLまで示されているのに
教えて教えてを連発する新人クン
0172仕様書無しさん
NGNG俺は、「命令の直行性」なんか知らないよ。
知らなくても、俺はやっていける。
知る必要があれば勉強して覚える、それだけのこと
0176仕様書無しさん
NGNG英語圏ではシーケルと発音する、と読んだような気が。
その類じゃないかな。
日本人はエス・キュー・エル
0177仕様書無しさん
NGNG技術のことを言ってるんじゃないんだよ。
どんな簡単な仕事でも採って来て、そこからユーザーとの
関係を繋げろ!ていってるんだと。
0179仕様書無しさん
NGNGそれは命令の直交性という世にすでにある概念を
知らなかった人たちがいろいろと独自の解釈を
披露したために違ってしまったと思われ。
0180仕様書無しさん
NGNG独自の解釈では無い意味を書いてた人もいるでしょ。
『達人プログラマー』の直交性の話とか、UNIXのコマンド群の直交性の話とか。
それと「命令セットの直交性」を加えたとしても、まだこのスレで言われた「直交性」
は網羅できてないと思うんだよね。
だから、説明しろ、って言ってる。
解らない言葉を聞くのは怠惰でもなんでもないよ。むしろ曖昧なまま話を進めようと
する方が問題ありだと思うけど。
0182仕様書無しさん
NGNG俺はどうでもいいけど。
でも、「直交性も知らんの?」とか「君たちには理解できないだろう」みたいな
ことを言う奴はむかつくね。
0183仕様書無しさん
NGNGの説明でダメなのか? 数学のように最小限の言葉で定義しないとダメか?
本当に「直交性」が理解できない人は、例えば
- テーブル名には日本語を使えるが、項目名は日本語を使えない。
- テーブルは「SELECT * FROM テーブル名 WHERE 条件」と書けるが、
ビューだと「SELECT * FROM テーブル名 WHEREVIEW 条件」と書かないといけない。
- 複数の条件を指定するときは「WHERE a='A' AND b='B'」などと AND を使うが、
LIKE 演算子のときだけは「WHERE a LIKE 'A%' ANDLIKE b LIKE 'B%'」と
ANDLIKEとしなければいけない。
という似非 SQL 言語があるとしよう。こういうのを「直交性がない」と
表現すると思うが、どうよ?
0185184
NGNGああ、ごめん。言いたいことわかった。
でもそれを「直交性がない」と言うなら、現状のSQLは直交性があるということだよね?
だとすると、このスレで「直交性が無い」と言ってたのは一体何?ということに
なるんだけど・・・。
0186183
NGNG直交性って、ある/なしで表現できるもんじゃないでしょう?
「似非 SQL は SQL に比べて直交性がない」
「SQL は X に比べて直交性がない」
X というのは今のこの世では使えないけど、DB を
操作できる便利な言語。それが本当に存在するのか、
あるいは使いやすいかどうかは想像でしか語れないけれど。
0187仕様書無しさん
NGNG例えば、JavaでSQLをコールするときもSELECT、UPDATE、INSERT、DELETEで別々のBeanを作る必要があり、うまくきれいに一つのモジュールにできない。
SQLって糞だと思う瞬間。なんで、こんな前近代的なものがいまだに残っているの?
0188仕様書無しさん
NGNGお前のスキルが向上しないぜ。
0189184
NGNG> 直交性って、ある/なしで表現できるもんじゃないでしょう?
うーん、何を言いたいのかわかりません。ある、なしでないとすると何でしょう?
俺はただ、このスレで「SQLは直交性がない」といってる人が、その直交性の意味を
明らかにして、SQLどこが直交性がないのか明らかにし、また出来るなら理想の
カタチを語って欲しいだけなんだけど。
0192仕様書無しさん
NGNGとにかく、>>1が言ってる「SQLの素晴らしさ 」を誰か
教えてくれ!
0193仕様書無しさん
NGNGだから、「駄目だ」という人が、どこを駄目だと言ってるのか知りたい。
今まで出てきたのは、WHEREとHAVINGくらいでしょ。
0194仕様書無しさん
NGNG0195仕様書無しさん
NGNG適当なSQLサーバをつかうんでしょ。それだけだよ。
0196仕様書無しさん
NGNG>> 直交性って、ある/なしで表現できるもんじゃないでしょう?
> うーん、何を言いたいのかわかりません。ある、なしでないとすると何でしょう?
なんでわかってもらえないかがわからないのだけれど、世の中の言語は「美しい言語」
「美しくない言語」という二元論では分類できないでしょ。「最高に美しいのが 100
としたら、これこれの美しさは 20 くらい」てな感じにならない? 「言語が直交性を
持つかどうか」も同じだと思うよ。
# 数学的な直交は、直交か否かで分類できるけど。
> その直交性の意味を明らかにして
した (つもり)。もっと辞書のように簡潔に定義しろ、と言われたら俺にはできない。
> SQLどこが直交性がないのか明らかにし
それが having とか update だと思うんだけど、ダメ?
> また出来るなら理想のカタチを語って欲しいだけなんだけど。
これは難しいねぇ。それが簡単にポッと出せるほどの
才能があるなら、2ch にいない…。
>>193
> 今まで出てきたのは、WHEREとHAVINGくらいでしょ。
元々 SQL 自体がキーワード少ないから、そんなたくさんは出ないよ。
>>195
> 前でそこそこセキュアなDBをつくるのが面倒だから
> 適当なSQLサーバをつかうんでしょ。それだけだよ。
問合わせ言語としての SQL は直交性があるか、って話をしてるんだってば。
DB サーバがどうこうとかは関係ないの。
# XML からデータを検索するのに SQL を使ってもいいでしょ?
0197仕様書無しさん
NGNG直行性があるかないかの話だったのか・・・?
大手を振って歩いているのは何故だ、という
話かと思ってた。すまんね。
直行性があろうと無かろうと関係ないじゃん
とか俺的に思ってた。すまんね。
0198仕様書無しさん
NGNGそんなシステム作ったらすぐにクレームがくる。
どうせかぶせもの作るんだから中身なんてたいした問題じゃなかろうに。
あほらし。
0199仕様書無しさん
NGNG直交性がある/なしに関しては、
>>183で
> こういうのを「直交性がない」と表現すると思うが
>>186で
> 直交性って、ある/なしで表現できるもんじゃないでしょう?
と来たので、どういうこっちゃ?となっただけです。
HAVINGもUPDATEも、どこが不満なのかがよく解りません。
例えば>>118にあるように、
SELECT a, count(*)
FROM table
WHERE a > 10
AND count(*) > 3
と書けなきゃ駄目だとか、
SELECT
(SELECT a, count(*)
FROM table
WHERE a > 10)
AS (a, cnt)
WHERE cnt > 3
と書けなきゃ駄目だとか、
そういう理想とまではいかなくても、何らかの例を挙げてくれれば
解りやすいんですけど・・・。
0200183
NGNG> 大手を振って歩いているのは何故だ、という話かと思ってた。
そういうことなら、現時点で最も簡単に DB を操作できるのが
SQL 言語だから、ということでその点は異論はないです。
>>199
> と来たので、どういうこっちゃ?となっただけです。
それはスマソ。書き方が悪かった。
>>199
> そういう理想とまではいかなくても、何らかの例を挙げてくれれば
> 解りやすいんですけど・・・。 わかったよー。例を考えておくよ…。ちと時間をおくれ。
0201仕様書無しさん
NGNGリレーショナルデータベースとそれを
操作するSQLってのがOOPには馴染みにくいって
感じない?
0202仕様書無しさん
NGNG0203仕様書無しさん
NGNGOOP に限らず、プログラミング言語の制御やデータの構文と馴染まない
(同じようなことをやってるのに SQL を使って書かないといけない)のが、
ちょっとね。
その点、ADO の Recordset とかは良い線行ってると思うよ。
0204Vineマンセー
NGNGリレーショナルだろうが単なる2次元データベースだから、現実世界を表現する
ために必要なビュー(n次元)を表現するためにべらぼうに長いSQLを書かなきゃいかんし。
店別&週別&取引先別・・のグループ化がウザイ。
オブジェクト型データを高速に処理できるDBエンジンってやっぱSQLなのか?
0205201
NGNGオレもRecordsetはプログラムを書く上で使いやすいと
思う。
だけど全部Recordsetで書けばいいやと思っていたら
Recordsetでごりごりデータを更新するコードを書くよりも
UPDATE文1発のほうがはるかに速かったりするからなあ。
昔、informix-esqlなんて、C言語でSQLを使える
トランスレータを使ってたときから、DBを操作するのに
なんでsprintfなんかで文字列操作のコード書かなきゃ
いけないんだ?って疑問をもってた。
かといってObjectStoreみたいなのも、なんだか嫌だしなあ。
0206DBスペシャリストの立場で
NGNGhavingはgroup byによる集約演算結果に対して射影演算をかける、
と内部動作が違うのでSQL文解析の都合上キーワードを分けたのでは?
0207仕様書無しさん
NGNGViewは架空の表てだけで、実存の表と同じく2次元ナンジャナイノ?
0208仕様書無しさん
NGNGというわけではないよ。>>1だってそれくらい、ホントは分かるだろう?
分かってて他人に言わせるのは、それは怠惰であり甘えだぞ。
SQLがDMLとして使用に耐えないクソったれであると思うならば
ある程度時間をかけても良いから、それに変わるモノを提案しろ。
それがホントに素晴らしく他を差し置いてでも使う価値のあるものであれば、
例え時間がかかってでもそれはSQLを駆逐していくだろう。
そうでないのなら、つべこべ言わず今普及しているものを使え。
少しは歴史を見ろ。
0209仕様書無しさん
NGNG提案前の問題点洗い出しだろ。208も素晴らしくない=問題有りと認めてるし。
歴史は知ってるが関係無いだろオオボケ。
2ちゃんの提案なんか意味無いって言うなよ。そういうなら出てけ。
0210仕様書無しさん
NGNG0212仕様書無しさん
NGNG阿Q正伝も変ですYO!
阿Qって・・・
0213仕様書無しさん
NGNG魯迅によって曖昧にされている。辮髪の象形であるとか、文字を知らない阿Qが処刑に際して残した署名(あの書き損じの「〇」)かとも考えられる。それを本
書では、「Quei(クェイ)」すなわち「鬼」の中国語音の略であると解釈する 。
中国の「鬼(キ)」は日本のあの「おに」ではない。「亡霊」、「お化け」の意味である。とすると、魯迅は阿Qという亡霊の伝記を『阿Q正伝』というかたちで記したことが分かる。
0215仕様書無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています