プログ

’14修了無内定理系院卒の活動雑記||プー太郎ログ||プログラミング雑記

SQLが分からない

基本情報でも当たり前のように出てきているSQL.DB開発で色々なところに使われてるみたいだし,求人票でも見かけることだしとりあえず触ってみるかーって感じで導入してみることに.

 

 ggってまず驚いたのがSQLって一言に言ってもなんか色々種類あるのね.SQLに種類があるというよりはRDBMSに種類がある感じか.とりあえず天下のMSのMicrosoft SQL Server 使えばいいんじゃねってggる前は思ってたんだけど,MySQLとかPostgreSQLとかSQL liteのが求人上で見かけたこと多い気がするぞ?うーん,わからん.

 

多分こういうのは勤めた先で使っているものを覚える,あるいは運用を考えた上で適したものを選択するのが普通で,ただ勉強がてら触るだけなら開発環境から選べばいいんじゃないのってことで,

http://d.hatena.ne.jp/necoyama3/20081014/1223987197

を参考に,

http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/index.html

を導入しました.んで,サンプルDBとして入ってたのが Windows Access

 

色々いじってみて,

実行文の意図は理解しやすいけど,自分で書くのは難しい言語だなぁ

と思った.特に面倒だと思ったのが,複数テーブル間で重複するカラムをSELECTする際に属するテーブルを選択しなきゃならない点.これ自体は当然のことだからまぁいいんだけど,WHERE文で条件付けしたカラムまで毎度必要なのはどうなのと.

×:SELECT ID FROM TABLE1,TABLE2 WHERE TABLE1.ID = TABLE2.ID;

○:SELECT TABLE1.ID FROM TABLE1,TABLE2 WHERE TABLE1.ID = TABLE2.ID;

 

あとこれは開発環境のせいかもしれないけど,DB(テーブル?)にどんなデータが入ってるのかがイマイチ確認できなくて,実行結果が意図したものになってるのか分かりにくかった.環境自体にはエディターが付いてるんだけど,サンプルDB内のテーブルではTB_ORDERとTB_ORDER_SUBしかデータが覗けず,他は変なエラーを吐く.でもSELECT * FROM ~~ ってやればそれぞれにデータが入ってるっぽいことが分かる.

 

そして何より,何をするためのものなのか分からない.いやDB開発って最初に言ってたけどさ,沢山のテーブルから必要な情報を取り出して表示するだけならExcelにデータ突っ込んでフィルタでも良いじゃん.もちろんテーブルを小さく分けられるから,DB複数人で管理してたり常に更新されるような環境なら要ると思う.けれども最終的に実行ファイルを吐かないなら,DBを閲覧したい人全員が環境導入してかつある程度理解してる必要があるよね.それともそもそも僕がRDBMSを履き違えてるのかな.

 

もう少しちゃんと理解してから発言するべきなんだけど,とりあえず第一印象として.