フクの非日常

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

データベースの気持ちになって

データベースのアクセスには手順がある。RDBMSが違えど、基本は同じ。
まずログインする。
次に、データベースへ接続(Connect)する。
その後でテーブルに対してSELECTだの叩けるようになる。

一つ疑問に思ったこと。
それは

 「どうしてConnectが必要なの?」

である。
これは、どうやら初心者ならではの疑問と想像するが、
初心者だからこそ持てる疑問で実は、案外深いかもしれない。。
知ってる人からすると、あたりまえの「手順」なのだが、、、

Connectが必要な理由をWebで検索をするが、そんな話題は見つからない。
みなConnectさえできればよいから、その文法が載っているだけなのだ。
探しても見つからなければ、考えるしかない。
DBアクセスにはどうしてConnectが必要なのか。
理由があるはずだ。
しばし、思考。。。

思いついた理由、その1.
異なるデータベースの中に、同じ名前のテーブルが複数存在するから、
接続先を指定する必要がある。ほんとかなぁ・・・?

理由、その2.
データベースを指定しないと、全部のデータベースを見に行かないといけないから大変。
だから、触る分のデータベースを指定するのかな。
RDBになってデータベースの分割の流れになってからこうなったのかも?

理由、その3.
。。。思いつかなかった。
でもまあ、上の2つの理由で必要そうな気はしてきたよ。


他にも知ってる人にとってはあたりまえだけど、
なんでだろう~?って思うことはたくさんありますよ。

2つのテーブルを同じフィールド名で連結するとき、
WHERE句でTABLE1.USER_ID = TABLE2.USER_ID
みたいに書くじゃない?
そのときどっちを左、どっちを右に書くのが作法なのかな、と。
書き方によって検索のパフォーマンスが違ってくるとか心配じゃない?

3つのテーブルを同じフィールドで連結するときは、
WHERE TABLE1.USER_ID = TABLE2.USER_ID
AND TABLE1.USER_ID = TABLE3.USER_ID
とかするでしょう。
これが、TABLE2.USER_ID = TABLE3.USER_IDは書かなくてよいのかしら。

てなことを悩んだりしてます。
つまり、お作法全般を知りたいのだな。

コメント


管理者にだけ表示を許可する
 

 

トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。