私はこれらのテーブルを持っています:
- 映画 (mID、タイトル、年、監督)
- レビュアー ( rID, name )
- 評価 (rID、mID、星、評価日)
およびいくつかのビュー:
ビュー
LateRating
には、2011 年 1 月 20 日以降の映画の評価が含まれます。ビューには、映画 ID、映画のタイトル、星の数、および評価日が含まれます。create view LateRating as select distinct R.mID, title, stars, ratingDate from Rating R, Movie M where R.mID = M.mID and ratingDate > '2011-01-20'
ビュー
HighlyRated
には、星 3 つ以上の評価が少なくとも 1 つある映画が含まれています。ビューには、映画 ID と映画のタイトルが含まれています。create view HighlyRated as select mID, title from Movie where mID in (select mID from Rating where stars > 3)
ビュー
NoRating
には、データベースに評価のない映画が含まれています。ビューには、映画 ID と映画のタイトルが含まれています。create view NoRating as select mID, title from Movie where mID not in (select mID from Rating)
これが私のデータセットです: https://prod-c2g.s3.amazonaws.com/db/Winter2013/files/viewmovie.sql
ビューの LateRating で属性 mID、タイトル、および/または星を同時に更新できるようにするには、複数のトリガーを組み合わせた 1 つの代わりのトリガーを作成する必要があります。
単純なトリガーを作成することはできますが、これは複雑に見えますか?どうすればこの問題にアプローチできますか?