「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Open Database Connectivity

pointこの用語のポイント

pointプログラムとデータベースの間に入って仲立ちをする部品だよ

pointマイクロソフトさんが作ったよ

point「ODBC」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Open Database Connectivity(読:オープン・データベース・コネクティビティ)とは

いわゆる「ODBC」のこと。
用語の中身としては

マイクロソフトさんが作った、データベースとやり取りするための通訳
です。
もう少し具体的に書くと

マイクロソフトさんが生み出した仕組みで、データベースとプログラムの間に入って仲立ちをしてくれる部品(に関する取り決め)
です。


image piyo

詳しく書くよ

最初に留意事項です。
ODBC」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
ODBCの正式名称(?)が「Open Database Connectivity」です。
Open Database Connectivity」を何となく省略したのが「ODBC」ね。

Open Database Connectivity(オープン・データベース・コネクティビティ)

※「Open Database Connectivity」を何となく日本語にすると「開けた情報の基地に接続するやつ」となります。[詳細]

以上が「ODBC」の意味を知っている人向けの説明です。

「ODBCって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩2

それでは、いってみましょう。

サクっと一言で説明すると

マイクロソフトさんが生み出した、プログラムデータベースの仲立ちをしてくれるやつ

が「Open Database Connectivity」です。
データベースとプログラムの通訳なイメージですね。

上でも書きましたが、一般的には「ODBC」と表現されます。
※本ページでも以降は「ODBC」と表現します。

それを踏まえて、ピヨピヨな例を見ていきましょう。

ピヨ太君が経営するピヨピヨカンパニーの取引先は、個性的な人たちばかりです。

ピヨ太ママは若いころに訪れて以来、イギリスの魅力にやられてしまいました。
そのせいか英語でしかしゃべりません。

Open Database Connectivity(オープン・データベース・コネクティビティ)2

ピヨ太パパはフランスかぶれです。
喋る言葉はフランス語です。

Open Database Connectivity(オープン・データベース・コネクティビティ)3

アクマ君は中国好きです。
中国語での会話を求めます。

Open Database Connectivity(オープン・データベース・コネクティビティ)4

そうすると、ピヨ太君をはじめとしたピヨピヨカンパニーの社員は大変です。
ピヨ太ママと話すときは英語、ピヨ太パパと話すときはフランス語、アクマ君と話すとき中国語、のように使い分けなくてはいけません。

Open Database Connectivity(オープン・データベース・コネクティビティ)5

これは「面倒だな……」と感じたピヨ太君は、スペシャルスーパー通訳のピヨ子さんを雇いました。
ピヨ子さんはスペシャルでスーパーな通訳なので、英語もフランス語も中国語も話せます。
しかも!普段話している言葉は日本語です。

Open Database Connectivity(オープン・データベース・コネクティビティ)6

その後、ピヨ太君は社員たちに「今後、各取引先とのやり取りはピヨ子さんを経由してやるようにしたから」と宣言しました。
ピヨ太君たちが伝えたい内容をピヨ子さんが翻訳して、各取引先に伝えてくれるのです。

Open Database Connectivity(オープン・データベース・コネクティビティ)7

これには、みんな大喜びです。
なにせピヨ子さんは日本語が話せます。
伝えたい内容を日本語でピヨ子さんに伝えれば、各取引に伝わります。
日本語、英語、フランス語、中国語の四か国語を覚えないといけないはずだったのが、日本語だけ覚えれば良くなりました。
語学が苦手な社員も一安心です。

この話における、ピヨピヨカンパニーの社員たちがプログラムだと思ってください。
ピヨ太ママをはじめとした各取引先がデータベースです。
ピヨ子さんがODBCに相当します。

実際のデータベースには、いろいろな種類があります。
OracleMySQLSQL Serverなどです。

これらのデータベースは、それぞれ個性があります。
全部が全部、同じようには扱えません。
例えばデータベースへ接続する方法も、データベースの種類によって変わってきます。

これは、ちょっと面倒ですよね。
「このデータベースには、このやり方で接続して~。こっちのデータベースは、このやり方か」のように、データベースの種類によって、やり方を変えなくてはいけません。

そこで登場するのがODBCです。

プログラムをODBC経由でデータベースに接続するようにすると、データベースごとの個性を(あまり)気にしなくて良くなります。
それぞれの個性は通訳であるODBCさんが(ある程度)吸収してくれるからです。

Open Database Connectivity(オープン・データベース・コネクティビティ)8

ODBCのメリットは、使う側がデータベースの違いをあまり意識しなくて済む点でしょう。
逆にデメリットは、使用できるのが汎用的な機能に限定されるので、データベース固有のテクニックを使いたいときに哀しい結果になるかもしれないことです。

ちなみに、説明を分かりやすくするために「データベース」と表現していますが、正確には「リレーショナルデータベースマネジメントシステム(RDBMS)」です。
違いを意識する必要に迫られる機会は、あまり無いと思いますけどね。

なお、ODBC接続をやるときは

1.どの種類の
2.どのデータベースに


接続するかの情報が必要です。
例えば

SQL Serverの「test_db」という名前のデータベースに接続する

のような情報ですね。

この情報はあらかじめ用意しておき、識別用の名前DSNを付けておきます。
仮に、上記の設定に対して「設定ぴよ」という名前を付けたとしましょう。

プログラムからは「test_db」ではなく「設定ぴよ」という名前を指定する形で、接続するデータベースを指定します。
「設定ぴよ」を指定すれば、SQL Serverの「test_db」に接続しに行きますよ。

これがODBCを使った接続の一般的なやり方です。

1.どの種類のどのデータベースに接続するかを指定する
2.「1.」に名前を付けておく
3.プログラムからは「2.」で決めた名前を指定する形で、接続先のデータベースを指定する


の流れですね。
「1.」「2.」が事前作業で「3.」が実際にプログラムに書く内容です。

ついでの補足として、事前作業の「1.」「2.」は、Windows管理ツールODBC データ ソース アドミニストレーター」で設定します。
併せて覚えてあげてください。


image piyo2

一言でまとめるよ

まぁ「Open Database Connectivity」って単語が出てきたら「ODBC(マイクロソフトさんが作った、データベースとやり取りするための通訳)のことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像023
書籍画像037

おまけ

■訳してみるよ

「open(オープン)」の意味は「開く」とか「開かれている」とか「始める」とかです。
「data(データ)」の意味は「資料」とか「知識」とか「情報」とかです。
「base(ベース)」の意味は「基地」とか「土台」とかです。
「connectivity(コネクティビティ)」の意味は「接続性」とかですが、今回は「接続するやつ」と解釈してください。
何となく くっつけると

開けた情報の基地に接続するやつ

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け