質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Q&A

解決済

2回答

899閲覧

オラクルのシノニムについて教えてください

xxhiroxx_chan

総合スコア41

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

0グッド

0クリップ

投稿2023/10/02 12:17

いつもありがとうございます。
オラクルのシノニムについて教えてください。

あるシステムのoracleのデータを自社システムから参照するのに、
テーブルやビューではなくシノニムで公開する、と連絡がありました。

公開データの取り決めをし、シノニムの定義をもらおうと思うのですが、そもそもシノニムの認識として下記で正しいか教えてください。
下記であれば、SELECTのみをする側としては、意識しないとテーブル、ビューと同じであると考えています。
DB:oracle

できること)
・テーブルやビューに別名をつけることができる。
・他のDB、サーバのものでも設定次第でアクセスさせられる。
・リアルタイムに書き込まれたデータを参照可能である。
(=テーブル、ビューと同じ)

ビューとの違い)
・シノニムは物理テーブル
・なので、検索が速い

どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「CREATE SYNONYM」
https://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_7001.htm

シノニムとは、表、ビュー、順序、演算子、プロシージャ、ストアド・ファンクション、パッケージ、マテリアライズド・ビュー、Javaクラス・スキーマ・オブジェクト、ユーザー定義オブジェクト型または別のシノニムに付ける別名です。

テーブルやビューだけではないです。

投稿2023/10/02 19:39

KOZ6.0

総合スコア2721

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xxhiroxx_chan

2023/10/10 01:09

回答ありがとうございました。 基本的な認識ができました。
guest

0

ベストアンサー

SYNONYMの使用例を参考に。

SYNONYM はただの別名です。上記の提示例では何らかの事情でスキーマが変わった時SYNONYMを変更売るだけで済むもので、実行速度には関係ありません。

投稿2023/10/02 14:19

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xxhiroxx_chan

2023/10/02 21:13

早速ありがとうございました。感謝です。 シノニム作成側ではなく、使用する側からすれば、与えられたユーザを用いてテーブル、ビューにアクセスするのと、ほぼ同じと考えてよいのですね。 今回の使用例では、データ公開側がシノニムを用いることで、情報を限定して公開できる、という公開側のメリットの話と認識しました。 もし理解が間違っていたら教えてください。
sazi

2023/10/03 01:42

> データ公開側がシノニムを用いることで、情報を限定して公開できる 公開側で行うのは権限の設定(外部からの参照を許可する等)です。 利用側ではデータベースリンクの設定が必要です。
Orlofsky

2023/10/03 09:54

上記に書きましたが、SYNONYM はただの別名で 他スキーマのテーブルやVIEWなどのSELECTなどの権限はGRANTで付与、 https://docs.oracle.com/cd/F82042_01/sqlrf/GRANT.html#GUID-20B4E2C0-A7F8-4BC8-A5E8-BE61BDC41AC3 REVOKEで取り消します。 https://docs.oracle.com/cd/F82042_01/sqlrf/REVOKE.html#GUID-BAAD2331-40A5-4366-86CA-BAA6B957E866 他のOracle Serverなどの権限が必要なら CREATE DATABASE LINK https://docs.oracle.com/cd/F82042_01/sqlrf/CREATE-DATABASE-LINK.html#GUID-D966642A-B19E-449D-9968-1121AF06D793 データベース・リンクの削除はDROP DATABASE LINKで、 https://docs.oracle.com/cd/F82042_01/sqlrf/DROP-DATABASE-LINK.html#GUID-89856C55-29FB-4B52-84A9-E53B8D115864 権限とSYNONYMはセットで使うことが多いですが、別の機能です。 使うかはともかく、自分のOracle ユーザー内のテーブルやVIEWのSYNONYMを作ることも可能です。この時は権限の付与は不要です。
xxhiroxx_chan

2023/10/10 01:08

ありがとうございました。 Orlofskyさんの説明により、SYNONYMについて深く理解することができました。 SYNONYMは、テーブル、ビューなどのオブジェクトに対して別名をつけることができるもので、 それ以外で私が言っていたことはSYNONYMの機能ではないことを理解しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問