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は、繰り返し処理の終端を示しています。
現実のプログラミングはもっと複雑ですが、基本的にはこのコードの延長線上にあります。ここでは、何となく雰囲気を感じ取っていただければ十分です。
この記事は参考になりましたか?
- NetBeansで始めるRuby on Rails連載記事一覧
-
- NetBeans 6.5でRailsアプリケーションのテスト駆動開発を
- Ruby on RailsはどのようにHTML文書を作り出すのか
- Ruby on Railsでデータベースアクセスを直感的に
- この記事の著者
-
黒田 努(クロダ ツトム)
株式会社オイアクス代表取締役社長。東京大学教養学部卒。在ギリシャ日本国大使館、株式会社ザッパラス、株式会社イオレでの勤務を経て、2007 年にRuby on Rails 専門の教育・コンサルティング会社オイアクスを設立。著書に『基礎Ruby on Rails』(共著、インプレスジャパン刊、2007)...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア