そんな今日この頃でして、、、

コード書いたり映画みたり。努力は苦手だから「楽しいこと」を探していきたい。

Rubyのお勉強 第21章 「Rubyでデータベースを利用しよう」+22章 +23章

作りながら学ぶRuby入門 第2版

作りながら学ぶRuby入門 第2版

第5部応用編から、ついにデータベース周りの話に突入。

ちなみにこの本ではSQLiteを使っていく。
他の言語だと入門用にはMySQLが使われることが多いように思うが、このへんは世代が変わったということか。

一般的な他のDBMSでは普通「サーバプロセスを作ってそこにデータベースを作成」という形になるが、SQLite3ではサーバではなく単体のファイルとしてデータベースを作成する。
変なことをして設定がわけわからなくなったりしないし、ファイルをコピーしたり削除したりできるので、確かにDB初学用にはもってこいかもしれない。


そんなこんなで前半はDBを操作するQuery関連の話が中心。

そしてRubyでデータベースを接続するための話に入っていく。
なにはともあれRubyからSQLite3を操作するための各種パッケージのインストール。

gem install sqlite3
gem install sqlite3-ruby
gem install dbi
gem install dbd-sqlite3

とりあえずこの辺を入れておけば大丈夫そう。


後半ではプログラムからDB操作をする話。
何はともあれ操作に必要なパッケージを読み込む。

requre 'rubygems'
requre 'dbi'

データベースハンドルの作成は下記。

dbh = DBI.connect( 'DBI:SQLite3:DBファイル名')

接続終了は

dbh.disconnect


セレクトの実行は

dbh.select_all("クエリ") do |row|
  各種処理
end

各種クエリの実行は

dbh.do("クエリ")

ステートメントハンドルを用いる場合は

sth = dbh.execute(クエリ)
sth.each do |row|
  処理
end
sth.finish

業務でガッツリ使うようになったからデータベースハンドルとかステートメントハンドルは理解できるけど、初めてPHPJavaでDB接続したときは概念がよくわからず四苦八苦で使ってたなぁと懐かしくなった。



22章では上記の知識を活かして19章まで作っていたPStoreでデータを保存していたアプリケーションをデータベースを使うように改良。
23章はまとめ。



余談

個人的に今一番次週が楽しみなアニメは個人的にはスタドラの再放送だったりする。


どちらかというとガンダムをはじめとしたリアルロボットの方が好きなタイプではあるのだけれど、もろにスーパーロボットなスタドラにはなぜか凄くハマれていている不思議。
※もっとも、最近ではリアルロボとスーパーロボの区切りは凄く曖昧になっている気はするけど。


スタドラの何にそんなにハマっているのか、と問われると意外とはっきりした答えは出ないけれど、一つの理由としては劇中歌やOPEDの歌の雰囲気が凄く良いなぁと思っている。


そんなわけで劇中歌のCDなりダウンロード販売ないかなーと前に探した時はDVD各巻の特典CDしか出ていなくてガッカリしていたのだけれど、ついにアルバムとしてまとまったものが出たらしい!!

STAR DRIVER 輝きのタクト Songs & Soundtracks

STAR DRIVER 輝きのタクト Songs & Soundtracks

・・・これディスク1だけでもう少し安く出してくれないかなw


追記:iTunesでも検索するけどアルバム全部じゃなくて一部の曲しか出てこないのはなんでだってばよ・・・