質問: テーブルにカラムを追加した場合には、関連するビューは全て再作成する必要はあるのでしょうか? 経験則でも構いませんが、参考になるドキュメントなどがありましたらご提示頂けたら助かります。 先日発生した事象も以下に記載致します。 尚、aws redshiftで発生しましたが、特にredshiftにこだわらず、一般的なRDBの運用についてお聞きしたいです。(AWSのサポートには連絡済みです。) 事象 -- * テーブルAは複数のビューで使用されております。 * テーブルAにカラムを追加しました。 * 追加したカラムを利用する必要があるビューは当然再作成しました。 * テーブルAを使用しているものの、既存の項目のみを使用しているビューは再作成しませんでした。 * 再作成していないビューを結合してselectした際にエラーが発生しました。 + 直接selectした場合には特に問題はありません
回答: 従来からのRDBMSについて「テーブルにカラムを追加した場合には、関連するビューは全て再作成する必要はあるのでしょうか?」という質問の答えは「必要ありません」になります。ViewはTableへのフィルタでしかなく、Viewで定義しているSelect文に不具合が発生しなければそれで良いです。 一方、Amazon RedshiftのViewは参照元のテーブル定義にバインドされるようですね。私も知りませんでした。