No.4ベストアンサー
- 回答日時:
> というのは、複数のユーザを作成する場合っていうのと同じ意味ですよね?
はい、合ってます。
>ossan_hiroさんが説明してくれている"hogeスキーマ"に対するユーザを複数作れるって訳ではないと思っていますが認識あっていますでしょうか?
>(というかテーブルごとにユーザは作れないですよね…)
(1) スキーマ用としてhogeユーザを作成します。
(2) このhogeユーザにテーブル(hoge_tbl)を作成します。
(3) hogeスキーマにアクセスするossan_hiroユーザ(ただのユーザ)を作成します。
(4) hogeユーザからossan_hiroに対し「hoge_tblのselectを許可する」という権限を与えます。
(5) これで、ossan_hiroユーザでログインしてhoge_tblを
SELECT * FROM hoge.hoge_tbl
でアクセス可能にします。
この状態はossan_hiroとしてはhoge_tblにはSELECTはできるけど
UPDATE,DELETE,INSERTはできない状況になります。
いちいちhoge.オブジェクト名でアクセスするのが嫌な場合はシノニムを作成してしまえば
SELECT * FROM hoge_tbl
でもアクセス可能になります。
>>スキーマ用のユーザはロックしてログインできないように変更
>というのはどういう意味でしょうか?
ここでいうhogeユーザは所有オブジェクトに対して何でも可能です。
(DML文などが実行可能)
ユーザを削除してしまうと、所有オブジェクトも削除されてしまいます。hogeユーザに接続できないようにしたい場合、アカウントロック&
パスワード無効にすることでhogeユーザでは対象スキーマにアクセスできなくすることができます。
#必要に応じてで良いと思います。
イメージつかめましたか?説明下手ですみません。
No.3
- 回答日時:
スキーマは「ユーザの作成したオブジェクト(テーブルなど)」の集合を指します。
hogeというユーザを作成すると、デフォルトで同じ名前のスキーマ(hogeスキーマ)が作成されます。スキーマのみの作成およびユーザのみを作成というのはできません。(この辺がスキーマ≒ユーザのいわれ?)
その状態からhoge_tblというテーブルを作成すると、hogeスキーマの中にhoge_tblというテーブルが存在する状態になります。
複数のスキーマにする場合は、接続ユーザそれぞれにオブジェクト(表など)を使用する権限を変えたい場合に行います。
(あるいはマシンリソース的な問題で複数のサーバやインスタンスが起動できない等(^^;。)
スキーマ用のユーザはロックしてログインできないように変更し、他の接続用ユーザに対して必要なオブジェクト権限(hoge_tblをUPDATEする等)を付与することで、このAユーザにはhoge_tblはUPDATEできないけどこのBユーザはhoge_tblをUPDATEできる、のような環境を作成できます。
わかりやすい説明ありがとうございます。
ユーザ作成と同時にそのユーザのスキーマがデフォルトで作成されるっていうのはすごく納得できた気がします。
>複数のスキーマにする場合
というのは、複数のユーザを作成する場合っていうのと同じ意味ですよね?
ossan_hiroさんが説明してくれている"hogeスキーマ"に対するユーザを複数作れるって訳ではないと思っていますが認識あっていますでしょうか?
(というかテーブルごとにユーザは作れないですよね…)
>スキーマ用のユーザはロックしてログインできないように変更
というのはどういう意味でしょうか?
すいません、あと少しで判りそうなので宜しくお願いします
No.2
- 回答日時:
概念としては
データベースインスタンス>スキーマ>テーブルなど
という感じです。左ほど大きな概念で右のものを含んでいます。
ユーザとスキーマは密接に関わっていますが、同じではありません。
スキーマはテーブルやビューなどを含む一種の名前空間で、ユーザはそのスキーマを使う人です。
と書いては見ましたが、実際は実装によって違います。
例えばPostgreSQLでは上の概念は全て通用しますが、Oracleではスキーマとユーザはほとんど同じもので、MS-Accessではスキーマという概念は存在しません。
なるほど、データベースによってスキーマの概念が違ったり、スキーマそのもののがないデータベースもあるんですね。
とても参考になりました。ありがとうございます
No.1
- 回答日時:
スキーマとは、簡単に言えば、データベース本体の事を指します。
スキーマには、表や索引、シノニム等が格納され ていうか、そこに作成します。
>どういう時に作成するのか
新しいデータベースを作る時に作ります。
と言ってしまえばそれで終わりですが、データベースの設計からきちんと
考えないと、めちゃくちゃになりますので、どのようなデータベースを
構築するのかをよく考える必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 哲学 概念について 1 2023/04/09 15:09
- 哲学 皆様、初めまして。 古代の中国哲学(宋学)に由来したようである「性情」の概念について知りたいです。 3 2023/07/08 14:14
- 大学・短大 レポート課題について質問です。 課題が「講義を通して〇〇の概念について自分なりにまとめよ」というもの 3 2023/01/15 12:51
- インターネットビジネス ペット用品のネットショップ運営で悩んでいる事があります。 詳しい方いらっしゃいましたらご教授の程宜し 2 2022/07/11 12:03
- その他(パソコン・スマホ・電化製品) マクロを仕事で使用する為、勉強を初めたいと思います。参考書が欲しいのですが、ネットで参考問題をダウン 3 2023/05/10 18:40
- その他(社会・学校・職場) [至急] ポンチ絵の書き方について 先日、授業内でポンチ絵(A4 1枚)を書けとの課題がでました。内 1 2023/05/29 15:11
- ニコニコ生放送 WindowsPC用有料動画キャプチャーソフトで高音質録画できる商品と同DVDライティング商品は? 3 2023/03/09 17:56
- ビジネスマナー・ビジネス文書 管理組合・議案書内の理事長の挨拶文書について 1 2023/03/25 23:54
- 分譲マンション 管理組合・議案書内の理事長の挨拶文書作成にについて 2 2023/03/26 01:56
- 日本語 「感情」などの語源について 1 2022/09/15 10:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
異なるスキーマからデータを抽...
-
SQLでスキーマ名(所有者名)の...
-
datapumpの実行方法について
-
特定のスキーマのテーブルを一...
-
oracle 10g ユーザやスキーマご...
-
select insert 句
-
viewのバックアップ
-
異なるスキーマからビュー作成
-
Oracle10gで他のスキマーのテー...
-
シノニムってエイリアスのエイ...
-
オブジェクトエラー
-
DBリンク経由の参照について
-
ORA-01861について
-
DBリンク&シノニム経由インデ...
-
ストアドやviewなどのエクスポート
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
DELETE文でFROM句を省略した場合
-
Data Pump で大量データインポ...
-
postgreSQLのint型は桁数指定が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
異なるスキーマからデータを抽...
-
SQLでスキーマ名(所有者名)の...
-
datapumpの実行方法について
-
特定のスキーマのテーブルを一...
-
viewのバックアップ
-
oracleのimpdpでORA-39166
-
Oracle10gで他のスキマーのテー...
-
select insert 句
-
DBリンク&シノニム経由インデ...
-
ストアドで別スキーマのテーブ...
-
SynonymとViewについて
-
Oracleにおいて
-
スキーマとインスタンスをサル...
-
データベースリンクとシノニム...
-
DBリンク経由の参照について
-
ORA-01861について
-
異なるスキーマからビュー作成
-
oracle 10g ユーザやスキーマご...
-
シノニムってエイリアスのエイ...
-
スキーマの削除、スキーマオブ...
おすすめ情報