問題一覧に戻る
上級高度なデータベース
問題62: データベースビュー - view作成
Railsでデータベースビューを作成して使用する方法を学習します。ビューは一つ以上のテーブルからデータを構造化された方法で提示する仮想テーブルです。複雑なクエリ、非正規化データアクセス、レポートや分析用の読み取り専用モデルの作成に便利です。
# データベースビューを作成
<<-SQL
CREATE VIEW user_statistics AS
SELECT users.id, COUNT(posts.id) as posts_count
FROM users LEFT JOIN posts ON posts.user_id = users.id
GROUP BY users.id
SQL
# downマイグレーションでビューを削除
execute "DROP user_statistics"
# データベースビュー用のモデル
class UserStatistic < ApplicationRecord
self. = "user_statistics"
def self.?
true
end
end