2005年03月13日

[ テクニカルエンジニア(データベース)/出版社オリジナル ]

アイテック模試午前

アイテック公開模擬テスト@午前

問01~20:コンピュータシステム,システムの開発と運用
問21~45:データベース技術
問46~55:セキュリティと標準化(うちセキュリティ7問)


問題について,調べた内容は以下のとおり

問13
 最近流行り(?)のwebサービス


問33
1. SELECT * FROM 商品 CROSS JOIN 注文
2. SELECT * FROM 商品 JOIN 注文 ON 商品.商品コード = 注文.商品コード
3. SELECT * FROM 商品 JOIN 注文 USING 商品コード
4. SELECT * FROM 商品 NATURAL JOIN 注文

1=直積,4=自然結合
2,3は等結合なのか自然結合なのか。。。NATURALがないので等結合だよな。
選択リストで列名を指定せず「*」で出力しているサンプルがない。。

3は
 SELECT * FROM 商品 JOIN 注文 USING (商品コード)
カッコはいらないのか??


問46
 Java&JDBCに関する問題。守備範囲外 (?_?)
 ・EJBは,米Sun Microsoft社が公開した分散コンピューティング環境のコンポーネント仕様(デ技P424)
 ・JDBCのAPIは,X/OPENのSQL/CLIに基づいて設計されている(デ技P426)
 ・一度張ったDBコネクションをAPサーバがプールし,次に同じユーザや他のユーザからDBアクセスのリクエストが来たとき,そのDBコネクションを利用する。(デ技P428)
 ・自動コミットモード

関連記事
 アイテック模試午前完了
 アイテック模試届く
 模試

Posted by g@kko at 2005/03/13 12:32 | 個別記事表示 | コメントを見る (5) |
この記事をLicWikiに埋め込む:
コメント
2 :前スレ973:05/03/14 21:01:37 [RES]

問33
アイテックの解説には、
 

結合条件にUSINGを用いると、ONとは違い重複した共通列は得られない。

とあります。
ので、ウとエは自然結合になる模様です。
ただ、同じくアイテックの解説で、
CROSS JOINは、共通する列がない場合の演算である。

ってあるけど、これは?


3 :g@kko:05/03/14 22:35:04 [RES]

>>2
 前スレ973さん。情報提供ありがとうございます!

 ON と USING の違いは,
 
 PostgreSQL 8.0.1 文書 第 7章問い合わせより

USING (a, b, c)はON (t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c)と等価です。ただし、ONを使った場合は、結果においてa、b、cはそれぞれ2つの列になりますが、USINGを使うとそれぞれ1つの列になるという例外があります。
と,書いてあり,
ON だと等結合,USINGだと自然結合のようですね。
 ONの場合,列名が違ってもOKなので,右辺左辺の両方が出る気はしていたんですが。。。USINGが自然結合とは。。。
最後に、NATURALはUSINGの略記形式です。
忘れないようにせねば。


CROSS JOINは直積ですよ。
午前問で出た A × B とかいうやつ。
PostgreSQL 8.0.1 文書 第 7章問い合わせにサンプルがあるので確認をば。


4 :前スレ973:05/03/15 23:10:57 [RES]

>>2
ごめんなさい、書き方が悪かったですね。
CROSS JOIN = 直積 は分かります。
解説にある「共通する列がない場合の演算」というのが間違いじゃないか?という意味です。
当然ですが、共通する列がある場合の直積もありますよね。


5 :g@kko:05/03/16 00:04:33 [RES]

>>4 :前スレ973 さん
 失礼しました。。

 SELECT * FROM R1, R2

 と,同じと言いたいのではないでしょうか?
 「結合条件とする列がない場合の演算」という表現の方がしっくりきますね。。
 (良い表現かどうかは分かりませんが。。。)


6 :9:05/05/01 22:29:35 [RES]

>>3
両方試験に出とる━━━━━━(゚∀゚;)━━━━━━!!