Java Database Connectivity
Java用のODBC(っぽいやつ)だよ
Javaのプログラムとデータベースの間に入って仲立ちをする部品だよ
「JDBC」と表現されるのが一般的だよ
簡単に書くよ
Java Database Connectivity(読:ジャヴァ・データベース・コネクティビティ)とは
いわゆる「JDBC」のこと。
用語の中身としては
ODBC
(データベースとやり取りするための通訳)のJava版
です。
もう少し具体的に書くと
Javaのプログラムとデータベースの間に入って仲立ちをしてくれる部品(に関する取り決め)
です。
詳しく書くよ
最初に留意事項です。
「JDBC」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
JDBCの正式名称(?)が「Java Database Connectivity」です。
「Java Database Connectivity」を何となく省略したのが「JDBC」ね。
※「Java Database Connectivity」を何となく日本語にすると「Javaで情報の基地に接続するやつ」となります。[詳細]
以上が「JDBC」の意味を知っている人向けの説明です。
「JDBCって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

それでは、いってみましょう。
まずは予備知識として「Open Database Connectivity(ODBC)」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
Open Database Connectivity(ODBC)は「マイクロソフトさんが作った、プログラムとデータベースの仲立ちをしてくれるやつ」です。
イメージはプログラムとデータベースの通訳です。
今の段階では、よく分からなくても気にする必要ありません。
読み進めれば、多分、分かります。
それを踏まえて
ODBCのJavaプログラム版
が「Java Database Connectivity」です。
Javaで書かれたプログラムとデータベースの仲立ちをしてくれるやつです。
上でも書きましたが、一般的には「JDBC」と表現されます。
※本ページでも以降は「JDBC」と表現します。
まだピンと来ないと思うので、ピヨピヨな例を見てみましょう。
ピヨ太君の経営するピヨピヨカンパニーの取引先は、個性的な人たちばかりです。
ピヨ太ママは若いころに訪れて以来、イギリスの魅力にやられてしまいました。
そのせいか英語でしかしゃべりません。
ピヨ太パパはフランスかぶれです。
喋る言葉はフランス語です。
アクマ君は中国好きです。
中国語での会話を求めます。
そうすると、ピヨ太君をはじめとしたピヨピヨカンパニーの社員は大変です。
ピヨ太ママと話すときは英語、ピヨ太パパと話すときはフランス語、アクマ君と話すとき中国語、のように使い分けなくてはいけません。
これは「面倒だな……」と感じたピヨ太君は、スペシャルスーパー通訳のピヨ子さんを雇いました。
ピヨ子さんはスペシャルでスーパーな通訳なので、英語もフランス語も中国語も話せます。
しかも!普段話している言葉は日本語です。
その後、ピヨ太君は社員たちに「今後、各取引先とのやり取りはピヨ子さんを経由してやるようにしたから」と宣言しました。
ピヨ太君たちが伝えたい内容をピヨ子さんが翻訳して、各取引先に伝えてくれるのです。
これには、みんな大喜びです。
なにせピヨ子さんは日本語が話せます。
伝えたい内容を日本語でピヨ子さんに伝えれば、各取引に伝わります。
日本語、英語、フランス語、中国語の四か国語を覚えないといけないはずだったのが、日本語だけ覚えれば良くなりました。
語学が苦手な社員も一安心です。
この話における、ピヨピヨカンパニーの社員がJavaのプログラムだと思ってください。
ピヨ太ママをはじめとした各取引先がデータベースです。
ピヨ子さんがJDBCに相当します。
実際のデータベースには、いろいろな種類があります。
Oracle、MySQL、SQL Serverなどです。
これらのデータベースは、それぞれ個性があります。
全部が全部、同じようには扱えません。
例えばデータベースへ接続する方法も、データベースの種類によって変わってきます。
これは、ちょっと面倒ですよね。
「このデータベースには、このやり方で接続して~。こっちのデータベースは、このやり方か」のように、データベースの種類によって、やり方を変えなくてはいけません。
そこで登場するのがJDBCです。
JavaプログラムをJDBC経由でデータベースに接続するようにすると、データベース毎の個性を(あまり)気にしなくて良くなります。
それぞれの個性は通訳であるJDBCさんが(ある程度)吸収してくれるからです。
実は、このピヨピヨな例はODBCの説明で書いたやつを丸パクリしてきました。
JDBCとODBCの役割は似ているのです。
JDBCはODBCをもとにして開発されたものらしいですよ。
ただし、JDBCとODBCは明確に区別されます。
どちらもデータベースとの接続を楽にしてくれる部品ですけどね。
JDBCはJavaで使うことを想定して作られたものです。
ODBCは主にWindowsのプログラムで使うことを想定して作られたものです。
役割は同じですが物としては別の物なのです。
実際に別の物なので「JavaのプログラムからJDBC経由でODBCを使って、そのODBC経由でデータベースに接続する」なんてこともやれたりします。
よく分からなければ
JDBC:Javaで使うやつ
ODBC:Windowsで使うやつ
程度の区別でも、かまいませんけどね。
混同しないように、ご注意ください。
一言でまとめるよ
まぁ「Java Database Connectivity」って単語が出てきたら「JDBC
(Javaのプログラムで使える、データベースとやり取りするための通訳)のことなんだな~」と お考えください。
おまけ
■訳してみるよ
「Java(ジャヴァ)」はプログラミング言語の「Java」です。
「data(データ)」の意味は「資料」とか「知識」とか「情報」とかです。
「base(ベース)」の意味は「基地」とか「土台」とかです。
「connectivity(コネクティビティ)」の意味は「接続性」とかですが、今回は「接続するやつ」と解釈してください。
何となく くっつけると
Javaで情報の基地に接続するやつ
となります。






