私も似たようなDBを作成しました。 的外れな回答で違うかもしれませんがご参考までに。 ユーザー側の操作はBIGさんの記載されているとおりです。 1.文書を開く 2.いいねボタンを押す 3.いいね回数を記憶するフィールドの値が書き変わる 私が作った方法としては、いいね等の集計用DBを作成したことです。 別のDBにしておけばBIGさんのおっしゃることが実現可能のような気がします。 >4.アクセス数集計用のビューの中で最もアクセスの多い文書を数える。 >5.もっともアクセスの多い文書を特定のビューの上位に表示する。 上記に関しては、私は見せ方でごまかしています。 ユーザーに実際見せているViewは集計用のフォームの値でViewから文書を開くときにスクリプトで実際の文書を開かせています。