問題一覧に戻る
上級高度なデータベース
問題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