• 締切済み

[materialized]マテリアライズドビューの使用制約

現在のシステムのプログラム(select文)を高速化する為、マテリアライズドビューを使用しようと思っています。 そこで、まずは制約条件を調べて、その制約に引っ掛からないかを調べようと思っています。 しかし、マテリアライズドビューの作成条件について、インターネットで検索してみましたが、なかなか見つかりません。 ですので、制約についてご存知の方がいらっしゃれば教えて下さい。 また、制約について記述しているお勧めのページがありましたら教えて下さい。 宜しくお願い致します。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

OTNは探されましたか? 「Oracle Databaseデータ・ウェアハウス・ガイド」 バージョンもわかりませんが、91も10gも11gもWebで見られます。 (11g) http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05763-01/toc.htm (10g) http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19217-02/toc.htm 一般的な制約は第8章を見れば書かれています。 それで確認できなければ、その点をピンポイントで質問する方が、「制約について思いつくものをあげてください」と聞かれるよりも遥かに回答しやすいと思います。

char_0121g
質問者

お礼

ありがとうございました。 とても参考になるサイトでとても助かりました。 とても感謝しております。 ありがとうございました。 また、何か分からない事がありましたら、お力になって下さい。 宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 異なるスキーマのビューを元にしたマテリアライズドビューの作成

    「所有していないマテリアライズド・ビューのマスター表にアクセスする場合は、各表に対するSELECTオブジェクト権限またはSELECT ANY TABLEシステム権限が必要です。」 ということから、selectオブジェクト権限をつけた『ビュー』をもとに、マテリアライズドビューの作成はできないのでしょうか? 例)Aスキーマが所有するTESTビュー表をもとに、Bスキーマでマテリアライズドビューを作成する。 create materialized view mview as select * from A.TESTビュー; create materialized view 権限は付与しました。 A.TESTビューに対するSELECTオブジェクト権限は付与しました。 結果としては、表またはビューがありません。とエラーがでます。 しかし、Aスキーマが所有するテーブルに対しては、問題なくマテリアライズドビューの作成はできます。 異なるスキーマの『ビュー』を元にマテリアライズドビューの作成は できない。といった記述はないのですが、実際に作成ができません。 ご教授ください。

  • リレーションシップと外部キー制約について

    ■最終的にやりたいこと ・なるべくコード(SELECT文など)を見ずに、「DB」「テーブル定義者」「ER図」等からテーブル間の関係性を把握したい ■具体例 ・投稿一覧。「userテーブル」「postテーブル」 ・「postテーブル」の「user_id」カラムは、「userテーブル」の「id」カラムに対応 ※簡易な場合はある程度想像は付くのですが、ちょっと複雑な構成になると途端に苦労するので、何か良い方法はないかと思い、質問しました ■質問 ◆「リレーションシップを組む」際、「外部キー制約」はかけるのでしょうか? 例えば、上記「投稿一覧」DBを構築する際では、どうするのでしょうか? 1.普通、「外部キー制約」をかける 2.普通、「外部キー制約」をかけない 3.どちらでも良い ◆「外部キー制約」は何の為にかけるのでしょうか? ・「SELECT&JOIN」でデータ取得出来るのであれば、「外部キー制約」と「リレーションシップ構築」に関係性はないと思うのですが、そういう認識で合っているでしょうか? ・参照先データが削除されたら整合性がとれなくなる場合のみかけるものでしょうか? ◆「リレーションシップを確認」する目的で、「外部キー制約」をかけても良いのでしょうか? ・「データ削除の整合性」ではなく、「リレーションシップを確認」する目的で外部キー制約」をかけても良いのでしょうか? ◆「外部キー制約」以外に、「リレーションシップを確認」する方法はあるのでしょうか? ・コード(SELECT文など)を見ずに、テーブル間の「リレーションシップを確認」する方法としては、「外部キー制約」以外に何かあるのでしょうか? ・そもそも、「外部キー制約確認」=「リレーションシップ確認」という考えは正しいのでしょうか?

    • ベストアンサー
    • MySQL
  • outlook2010  制約メッセージが表示

    「このコンピュータに設定されている制約のため、この操作は中止されました。システム管理者に問い合わせてください」と表示されます。 ウィンドウズ7を使用しています。 メールに添付されているURLをクリックするとこの表示が出て、インターネットにつながりません。 既定のプログラムから、インターネットを選択したのですが解消されません。 どうしたらよいのでしょうか? 突然なってしまい困っています。 宜しくお願いします。

  • DB2でUNIQUE制約を削除したい

    DB2で以下のように明示的な名前のないUNIQUE制約を削除したいのですが、よい方法をご存じの方がおられましたらご教授ください。 (例) 1. 表の作成 CREATE TABLE TEST ( COL1 INT NOT NULL) 2. 明示的な名前を作成せずにUNIQUE制約を作成 ALTER TABLE TEST ADD UNIQUE (COL1); 上記のように名前指定しなかったUNIQUE制約を ALTER TABLE文で削除したいのですが、どのように すればよろしいのでしょうか? マニュアルの構文では制約名を指定する必要あるようで、 syscat.tabconstカタログで自動でつけられた制約名を調べた後、 以下のように指定したところ制約は削除されました。 (例) ALTER TABLE TEST DROP CONSTRAINT SQL090123084403480 しかしプログラムの修正が少なくなるよう、制約名を調べずにALTER TABLE 一文で削除できないものかと悩んでおります。 もしくはストアドプロシージャでも構いません。 よろしくお願いします。

  • このコンピュータに設定されている制約のため…と出る

    Windows7(32bit) Office2010を使っています。 WordやOutlookなどを開いてその中のハイパーリンクデータをクリックすると、 "このコンピュータに設定されている制約のため、この操作は中止されました。 システム管理者に問い合わせてください"と表示されるようになりました。 そこで、以下の手順を踏みましたが、結果は相変わらずノーです。 解決策を教えて下さい。 【手順】 IEを起動 ➡ ツール ➡ インターネットオプション ➡[プログラム]タブ ➡【インターネットプログラム】➡[プログラムの設定]➡ [プログラムのアクセスとコンピューターの既定の設定(青文字部分)]➡[カスタム]にチェックオン ➡【既定のWebブラウザを選択してください】で[InternetExplorer]メールはOutlookを選択 ➡[OK]ボタン ➡ 閉じる➡ インターネットオプションに戻る ➡[OK]ボタン ➡ インターネットを閉じる ➡ PCを再起動、 再びプログラムを起動しても、初めに書いたように修復できません。 また、PC に「Google Chrome」や「Opera」、「Firefox」などのサードパーティ製ブラウザを インストールしたことはありません。 [プログラムの追加と削除]で確認済みです。

  • Outlookの制約とは?

    Outlookのメッセージについて。 最近、メールの文章内のリンクをクリックすると、 「Microsoft Outlook このコンピュータに設定されている制約の為、この操作は中止されました。システム管理者に問い合わせて下さい。」 というメッセージが出て、リンク先にいけません。 例えば、メルマガの配信停止先は「こちら」をクリックしても、HPアドレスをクリックしても出るのです。 今まではこんな事はなかったのですが、何故でしょうか? 教えて下さい。 WindowsXP Microsoft Outlook2003です。 ノートンのインターネットセキュリティ2011を使用しています。 よろしくお願いします。

  • ネット上で使用許諾

    ネット上で使用許諾許諾文章を読んでいただき、それに承諾した人のみプログラムダウンロードの為の項目入力ページに入れるような仕組みを作成したいと考えています。 どこかすでにそのようなことをしているお勧めのページをご存知ありませんでしょうか?できれば英語のページでお願いします。 よろしくお願いします。

  • VisualBasicでデータ検索プログラムを作成しています。

    VisualBasicでデータ検索プログラムを作成しています。 データ検索の速度で困っています。 データA 太郎,いちご,スイカ 花子,スイカ,トマト 一郎,バナナ,りんご  ・  ・  ・ データB いちご,100 スイカ,200 トマト,150 バナナ,350 りんご,280  ・  ・  ・ このようなデータでそれぞれが5万件程度ある場合、 1、配列を使ってメモリにそれぞれのデータを格納してFor文+if文で検索する 2、それぞれのデータをDBに入れSelect文で検索する のいずれの処理が高速にできますか? 求めたいものは、太郎、花子、一郎・・・のそれぞれの金額です。 やはり断然DBのほうが早いのでしょうか?

  • ASP.NET GridView の検索画面でのページング操作処理について

    ASP.NET・WindowsXP・ACCESS2003DB・ 2005ExpressEdition 検索画面を作成しましたがうまく動作しません教えてください。 1.条件入力用のテキストボックス幾つか作成。 2.検索ボタンを作成。 3.GridViewに上記の条件でSqlDatasourceより   データを表示できました。 4.1ページの件数10件を遥かにが多いため   GridView下段にページ番号が表示される 5.ページ番号をクリックすると、全データが表示   される。 条件入力した値でのSQL文のルーチンを通っていない 為と思われるが、GridView下段にページ番号を クリックしたときのイベントに条件ルーチンを 挿入したいのですが教えて頂けますでしょうか よろしくお願いいたします。

  • Access_VBA_記述方法

    AccessVBAの記述方法で悩んでいます。 複数のテーブルを順読みして、レコードの更新/追加/削除のプログラムを作成していますが、順読みなので何も入っていないテーブルのレコードも読みに行ってしまいデバックとして出てしまいます。 EOFやNULLをどうにかして判断条件として記述してみましたが、やはり上手くいきませんでした。 レコードでの判断条件では無く、テーブル内にレコードが存在するかどうかという判断文と条件文の記述方法がありましたら、どうか教えて下さい。 宜しくお願い致します。