0

アプリケーションで重要なデータをマークするための解決策を見つけようとしています。明らかなアイデアの 1 つは、「取り外し不可」のようなフラグを作成することですが、db の多くのテーブルに同じ列を追加することは避けたいと考えています。そのため、これらの日付を格納できる新しいスキーマを作成するという考えがあります。このスキーマでは、パブリックに存在するすべてのテーブルを同じ制約で保持したいと考えています。私はいくつかの利点を見つけました:

  • スキーマ全体の削除権限を取り消すことができ、パブリック スキーマからのみデータを削除できます (アプリケーションにとって重要ではありません)。
  • テストするデータベースの新しいバージョンをすばやく準備できます-公開スキーマにあるものをすべて切り捨てることにより(2番目のスキーマには重要なデータしかありません)、
  • 私は、両方のスキーマからのデータを表示し、データの起源を示す仮想列 (ビューのみ) を追加するルールではなく、SELECT およびその他の操作を行います。
  • アプリケーションの構成に行の ID を保存する必要はありません。
  • データを論理的に分離しています (基本的なものとユーザーが追加したもの)

それは良い考えですか?問題はありますか?それは良い習慣ですか?

前もって感謝します。

4

1 に答える 1

0

これを行う場合の簡単な方法は、テーブルの継承を使用して select ステートメントを透過的にし、書き込みをルールによってリダイレクトし続けることです。これはテーブルのパーティショニングが行われる方法ですが、この場合、キーではなくさまざまな権限の必要性に基づいてパーティショニングを行うことができます。

于 2013-04-11T09:25:02.547 に答える