• 締切済み

データベースへのアクセス制御方式について

データベースへのアクセス制御方式を考える際、 スキーマで分ける、インスタンスで分けるといった方式が挙げられますが、 よく違いが分かりません。 一般的に、どのような時にスキーマレベルで分け、 どのような時にインスタンスレベルで分けるものなのか、 教えて頂けませんでしょうか。 また、他にもアクセス制御を分ける概念があれば知りたいです。

みんなの回答

回答No.1

アクセス制御方式って、排他制御のことを言ってますか? 私が長年携わってきたRDBMSでは、以下の単位での排他制御があります。 排他制御を行うDB資源 (1)表単位 (2)エリア単位・・・(エリアとは、格納スペースのこと) (3)ページ単位・・・(ページとは、最少のI/O単位) (4)行単位 また、SQL中の指定で、「排他制御による待ちにせずにエラーリターンさせる」機能や「ダーティーリードする」機能などがあります。 行単位の排他制御にすれば、排他制御による待ちが少なくなり同時実行性を向上できます。反面、多くの行にアクセスすれば、ロックする資源数が多くなりオーバヘッドになります。 行単位の排他制御はオーバヘッドも大きいことから、ページ単位の排他制御が標準になっています。 表やエリアを排他制御単位とする方法では、更新する同士でのデータの共用はできないが、ページや行に対する排他制御が不要になるのでオーバヘッドを大幅に減らすことができます。多量データを操作する場合や他ユーザからの更新や参照を禁止したい場合に使用します。

willieg
質問者

お礼

早速のご回答、ありがとうございました。 また、説明不足で申し訳ございません。 セキュリティ面から見たアクセス制御のことをお聞きしたい次第でした。 例えば、顧客Aは顧客Bのデータにアクセスできないようにする場合、非常に高いセキュリティ性を求められる際には、物理レベルでテーブルを分ける。さほどセキュリティ性が求められない場合には、同じテーブルでユーザ権限レベルで分ける。など、様々な方式が考えられると思います。 こういったことを検討する際に、「スキーマで分ける」、「インスタンスで分ける」と言った表現方法が出てくるのですが、それらのイメージがつかめない為、一般的な例などをお聞きしたかった次第です。

関連するQ&A

  • データベースのスキーマについて

    データベースのスキーマについてなかなかイメージがわきません。 そこでお聞きしたいのですが、 1. データベースを ANSI/SPARC の3層スキーマ構造によってモデル化した。このとき、アプリケーションプログラムを論理的なデータから切り離して、データの独立性を保証するために使用されるスキーマはどれか。 ア 概念スキーマ イ 外部スキーマ ウ 格納スキーマ エ 内部スキーマ 答え イ 2. ANSI/SPARC の3層スキーマ構造で、データ処理上必要な現実世界のデータ全体を定義し、特定のアプリケーションプログラムに依存しないデータ構造を定義するスキーマとして、適切なものはどれか。 ア 概念スキーマ イ 外部スキーマ ウ サブスキーマ エ 内部スキーマ 答え ア の二つの問題で注目する違いの部分はどこになるのでしょうか? 最初はアプリケーションプログラムから切り離すものは「外部スキーマ」と覚えるようにしていてどちらも「外部スキーマ」が答え としていたのですが、 現在は自分なりに検討してみて 1.データの独立性、2.データ構造 の違いが答えの違いなのかなと思っています。 本を読んでいてもネットで探しても数行で説明が終わり具体的な違いがイメージでわきません。できれば「概念スキーマ」「外部スキーマ」の考え方も教えていただけるとありがたいです。

  • データベース設計に関する質問です。

    3層スキーマモデルの『概念スキーマ』は"ER図"で表現されて、 『論理スキーマ』は"RDB"で纏められるのだろう、 と私は勝手に想像していますが、其の認識は私の誤解なのでしょうか? そして、『物理スキーマ』はどういう方式に盛り込まれるのでしょうか? http://okwave.jp/qa/q7658482.html?rel=innerHtml&p=complete&l=1

  • Windowsのアクセス制御について

    はじめまして、Stressmanと言います。 ある会社で簡単な社内LANを管理しているのですが、 ネットワークの設定で、「アクセス制御」のタブの画面で、 「共有レベルでアクセスを制御する」と「ユーザレベルでアクセスを制御する」 がありますが、この「ユーザレベルでアクセスを制御する」の方の、 「ユーザとグループの一覧が保存されている場所」を指定するテキストボックスが あるのですが、ここには何を入力すればいいのでしょうか? ネットワークに関してあまり知識が無いので、 あまり難しいことは分かりませんので、ご了承下さい。

  • Oracleにおいて

    インスタンスとはどういうものでしょうか? データベースのスキーマとの関係 Postgres等のデータベースとの関係 を教えてください Postgresの場合は スキーマ=データベース ですが オラクルの場合はインスタンスの中にデータベース=スキーマがあるのでしょうか? そしてデータベースの中にテーブル等オブジェクトがあるのでしょうか?

  • AccessとExcel、どちらもデータベースとし

    AccessとExcel、どちらもデータベースとして利用できることを知りました。 今すぐ使えるかんたんEx Excelデータベース プロ技BESTセレクション[Excel 2016/2013/2010対応版] https://www.amazon.co.jp/dp/4774183733/ref=cm_sw_r_cp_apa_i_I8l5Db5XN9NW4 Accessと違って使い慣れてるし、よくよく考えればデータベースとして使えて当然で、入力フォームまで作れます。 ここで思ったのですが、データベースとして使用する際、AccessとExcelの違いは何なのでしょうか。 お暇なときにでも教えて下さい。

  • Accessもデータベースなのに、、、

    ここの教えてgooのカテゴリーを見て疑問に思ったのですが 「データベース」の細分が ・SQL Server ・Oracle ・PostgreSQL ・MySQL ・その他(データベース) であり Accessがありません! 私はAccessしか使えないのですが れっきとしたデータベースだと思っていたのですが データベースの世界では大したものじゃないから その他に分類されてしまうのでしょうか? それともオフィスのカテゴリーがあるから省略されてるのでしょうか? ショックなので質問しました。 ご回答よろしくお願い致します。

  • クローンデータベース作成に関して

    サーバーAでOracleデーターベース(10g)が稼働しています(インスタンスは1つ)。 サーバーBに全く同じデータベースインスタンスを構築することを考えています。 サーバーBにはOracleはインスト済みです。 データだけを移すなら expdp/impdb を使ってスキーマ別に移すところですが、 データベースの様々な設定: アーカイブログの設定やSGAのサイズ等など、、、 も完全に同じものを構築したいと思っています。 ----------------------- 1. DBCA を使用 サーバーAでDBCAを使って、既存インスタンスからテンプレートを作成します。 次にそのファイルをサーバーBに移して、サーバーB上でDBCAを使って当該テンプレートからインスタンス作成 => この方法を一度試したのですが、よくわからない点がありました。テンプレートを使っている割には、インスタンス生成の各種パラメータを入力せねばなりません。入力した設定は無視されてテンプレートの値が使われるのでしょうか?それとも、入力した内容が優先されるのでしょうか?あるいはこの方法ではインスタンス生成のパラメータは移せないのでしょうか? 2. expdp/impdp でFULL=Y データベースをまるごとコピーというならこの方法でもいい気がしますが、まずはサーバーB上にインスタンスを作ってからimpdpをすることになると思います。 するとインスタンスの設定は移されないということになるのでしょうか? 3. その他の方法 何かもっと有効な方法がありますか? ------------------------------------- 何卒ご教示のほどをお願いします。

  • ACCESSとFilemakerの違い?

    データベースソフトとしてACCESSを使用している初心者ですが、友人はFilemakerをかなり使いこなしています。枝葉末節な部分での違いでなく、思想的、概念的な違い、特徴を教えていただきたいのです。ータベースソフトとしてどちらが複雑な処理が出来るのか?どちらがレベルが高いのか?教えてください。

  • アクセス、データベースのことで教えてください

    パソコン勉強して日が浅いですが、マイクロソフトのあるアクセスですが、データベースソフトとありますが、データベースってそもそもなんですか? アクセスソフトを使うのは仕事でもどんな時ですか?社会人としていりますか?勉強したことがないのでいろいろ教えてください。よろしくお願いします。

  • ACCESSにおいてスキーマとは

    何でしょうか? 拡張子.mdbのデータベースファイルのことでしょうか? アクセスにおいてどのようにスキーマは定義されているのでしょうか?