Ruby on Railsでデータベースアクセスを直感的に

Webシステム開発の生産性を左右する極めて重要な鍵が、データベースアクセスです。プログラマーは多くの時間を割いてデータベースに対して読み書きするコードを書いています。この作業の短縮は開発コストの削減に直結します。
今回は、Ruby on Railsがデータベースプログラミングをどのようにしてシンプルなものにしているかを解説します。
データベースプログラミングに挑戦しよう
あなたは、こんな風に思いこんでいませんか。「自分はプログラマーではないので、データベースにアクセスするコードは書けない」と。
確かに、プロフェッショナルとして活躍するには専門的な深い知識が必要です。しかし、ちょっとしたコツをつかめば誰でもデータベースを操作するプログラムを書くことができます。
Webシステムに関わるITパーソンであれば、たとえプログラミングを仕事とすることがなくても、実地でデータベースを扱った経験がいつかきっと役に立ちます。データベースはWebシステムの中枢です。品質や性能を上げるためにも、製造コストを下げるためにも、データベースに関わる部分がどのような仕組みで作られているかを知ることが大切なのです。
今回は、Ruby on RailsとNetBeansを組み合わせることで、読者の皆様にデータベースプログラミングの初歩を体験していただきます。なお、連載第1回「意外にかんたん! Ruby on RailsとNetBeansのインストール」で作成したRailsアプリケーションapp1を引き続き使用します。
キーワードは「直感的」
いきなりですが、ソースコードのサンプルから見ていただきましょう。
p = Product.find(5963)
製品に関するデータが格納されたproductsという名前のテーブル(表)を想像してください。各製品にはユニークな番号(ID)が付けられています。上記のコードは、IDが5963である製品の行を検索して、その行の内容全体を変数pにセットするというものです。
次に、各製品に対する注文データを格納するordersテーブルを考えます。このテーブルにはproduct_idという名前の列があって、そこに製品IDが記録されています。すると、製品pに対するすべての注文のリスト(配列)は次のように取得できます。
p.orders
そして、各注文の個数を出力するコードはこうなります。
p.orders.each do |order|
print order.amount
end
奇妙な2つの縦棒の存在が気になるかもしれませんが、このコード全体の意味は直感的に想像できます。注文リストのそれぞれ(each)について、繰り返しある処理をしなさい(do)とプログラムは指示しています。その処理とは、各注文(order)の個数(amount)を出力する(print)ということです。最後のendは、繰り返し処理の終端を示しています。
現実のプログラミングはもっと複雑ですが、基本的にはこのコードの延長線上にあります。ここでは、何となく雰囲気を感じ取っていただければ十分です。
|
|
| INDEX |
|---|
| Ruby on Railsでデータベースアクセスを直感的に |
|
Page1
1)データベースプログラミングに挑戦しよう
2)キーワードは「直感的」
|
|
Page2
3)データベーステーブルを定義する
|
|
Page3
4)テーブル間の関連を設定する
|
|
Page4
5)テストデータを投入する
|
|
Page5
6)データをWebブラウザの画面に表示する
7)おわりに
|
関連記事
- Windows 7のサポート機能を賢く使えばシステム移行はこわくない?! [2010年07月28日]
- Notes移行、成功のカギはツールとベンダーの選定 [2010年06月14日]
- Windows 7へ乗り換えるべき?それともXPを使い続けるべき? [2010年06月08日]
- NetBeans 6.5でRailsアプリケーションのテスト駆動開発を [2008年12月12日]
- Ruby on Railsの普及活動と今後の展開 [2008年12月03日]
株式会社オイアクス代表取締役社長。東京大学教養学部卒。在ギリシャ日本国大使館、株式会社ザッパラス、株式会社イオレでの勤務を経て、2007 年にRuby on Rails 専門の教育・コンサルティング会社オイアクスを設立。著書に『基礎Ruby on Rails』(共著、インプレスジャパン刊、2007)、『かんたんRuby on RailsでWeb制作』(共著、翔泳社刊、2008)がある。

