PowerPointファイル
Download
Report
Transcript PowerPointファイル
データベースの取り扱い
基本的な作業手順
(本の管理アプリケーション)
データベース(MySQL)の準備
rails books
config/database.yml の編集
MySQLでデータベース作成
ruby script/generate model book title:string author:string
publisher:string isbn:string published_on:date
rake db:migrate
ruby script/generate scaffold Book
サーバの立ち上げ
アプリケーションの修正
データベースの取り扱い
2
database.yml
development:
adapter: mysql
database: books_development
username: root
password: tomoharu
socket: /var/lib/mysql/mysql.sock
encoding: utf8
test:
database: books_test
……
production:
database: books_test
データベースの取り扱い
……
3
エンタープライズアプリケーションアー
キテクチャパターン
マーチン・ファウラー著
翔泳社
ISBN: 4-7981-0553-8
エンタープライズ・アプリケーションの設計
技法について。オブジェクト指向設計全般
で参考になる
原書名: 「Patterns of Enterprise
Application Architecture」
翻訳の質は微妙
「PofEAA」とか「PoEAA」と呼ばれる
http://capsctrl.que.jp/kdmsnr/wiki/PofEAA
/
データベースの取り扱い
4
データソースのアーキテクチャパ
ターン
Table Data Gateway
Row Data Gateway
Active Record
Data Mapper
データベースの取り扱い
5
Active Record パターン
データと振る舞いの両方を持つオブジェク
ト。Personクラス自身にデータベースにア
クセスする処理が記述されている。
データベースの取り扱い
6
データベースに対するCRUD
Create
– テーブルへの情報の追加
– insert into 文
Read
– テーブルからの情報の読み出し
– select文
Update
– テーブルの情報の更新
– update文
Delete
– テーブルの情報の削除
データベースの取り扱い
– delete文
7
Active Record とCRUD
Create
b = Book.new
b.title = ‘…’;
b.save
Read
b = Book.find(id)
データベースの取り扱い
8
Active Record とCRUD
Update
b = Book.find(id)
b.title = ‘…’
b.save
Delete
b = Book.find(id)
b.destroy
データベースの取り扱い
9
findメソッド
books = Book.find(:all,
:conditions=>[“title like ?”, % + Ruby + %]
# conditions の値は、SQLのwhere句の内容
データベースの取り扱い
10