MySQL シノニム してみた
◆なぜ行ったか
職場でデータベースを使っていて、シノニムという単語が出てきたので、理解を深めるために、使ってみた。
◆シノニムをするには
call sys.create_synonym_db('test','t');
test データベースに対して、 t という別名をつけます。
以降は、tという名前で、testデータベースを利用できます。エイリアス(分身のようなもの)を作ってくれるわけではなく、viewを作ってくれるようなものだそうです。
◆やってみた
shop データベースにshohinテーブルを作成
コマンドを実行し、シノニムをします。
call sys.create_synonym_db('shop','d01');
↑コマンドを実行後に、↓コマンドを実行して、確認します。
mysql> select table_schema, table_name, table_type FROM information_schema.tables;
◆実行後
| shop | shohin | BASE TABLE |
| d01 | shohin | VIEW |
このようになり、shopデータベースのshohinテーブルがベースで、d01データベースがviewになっています。
◆実験
ここで、d01データベースに、jushorokuテーブルを作成し、もう一度確認のコマンドを実行。
| shop | shohin | BASE TABLE |
| d01 | shohin | VIEW |
| d01 | jushoroku | BASE TABLE |
今度はこうなりました。てっきり、d01にVIEWができて、shopにBASE TABLEができると思っていたのですが、、、勉強になりました。
mysql> select table_schema, table_name, table_type FROM information_schema.tables;をじっこうしてみたところ。
参考にさせていただきました。
dngriさんの画像を使わせていただきました。
画像使用機能?って前からあったのかな。いろんな画像がみれて楽しいです(*^^*)
この記事が気に入ったらサポートをしてみませんか?