[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

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

バインド (bind)

pointこの用語のポイント

point紐付けるよ

point関連付けるよ

point割り当てるよ

スポンサーリンク

簡単に書くよ

バインド (bind)とは

あっちとこっちを紐付ける、関連付ける、割り当てること
です。

image piyo

詳しく書くよ

何かと何かを関連付けるのが「バインド(bind)」です。
「AをBにバインドする」と言った場合は「AをBに割り当てるよ」を意図します。

バインド

例えば「バインド変数」という用語があります。
SQL文に埋め込む変数」を意味する用語です。

順番に見ていきましょう。

データベースは「データを入れておく箱」ね。
突っ込んで考えると混乱するかもしれません。
何となくのフィーリングで理解してください。

バインド2

SQLは「データベースとやり取りするときに使う言葉」です。

バインド3

データベースにデータを入れるときは、データベースさんに対して「ちょっと、これを入れておいて」と命令します。
反対にデータベースからデータを取り出すときは、データベースさんに対して「ちょっくら、こんなデータを取り出しておくれ」と命令します。
SQLは、そんな命令をするときに使う言葉です。

SQL文は「SQLを使ったデータベースに対する命令文」です。
クエリ」とも呼ばれます。

バインド4

「SQL」と「SQL」は違います。
あまり神経質になる必要はありませんが、区別できるようにしておいてください。

SQLは「言語」です。
SQL文は「命令(文)」です。

バインド5

例えば、ピヨ子さんがピヨ太君に日本語で「パン買ってこい!」と命令したとしましょう。

バインド6

ピヨ子さんが人間、ピヨ太君がデータベースだとすれば「日本語」が「SQL」です。
「パン買ってこい!な命令」が「SQL文」になります。

最後に「変数」の説明をしておきます。
変数は「値を入れておく箱」です。

バインド7

以上が予備知識です。
ここまでを踏まえて、読み進めてください。

データベースさんと会話をする際には

人:「年齢が10歳の人は何人いる?」
DB:「3人です」

人:「年齢が20歳の人は何人いる?」
DB:「5人です」

人:「年齢が30歳の人は何人いる?」
DB:「10人です」

人:「年齢が40歳の人は何人いる?」
DB:「2人です」

人:「年齢が50歳の人は何人いる?」
DB:「1人です」

人:「年齢が60歳の人は何人いる?」
DB:「12人です」


のように、似通った内容の問い合わせが続くときがあります。
お問い合わせ内容は、年齢の数字部分以外は同じですよね?

同じ部分を何回も言うのは、かったるいです。
短縮しましょう。

具体的には、以下のような会話にします。

人:「これから『年齢がX歳の人は何人いる?』って聞いていくから。『X』の部分は都度指示するから読み替えてね」
DB:「分かりました」

人:「X=10」(年齢が10歳の人は何人いる?)
DB:「3人です」

人:「X=20」(年齢が20歳の人は何人いる?)
DB:「5人です」

人:「X=30」(年齢が30歳の人は何人いる?)
DB:「10人です」

人:「X=40」(年齢が40歳の人は何人いる?)
DB:「2人です」

人:「X=50」(年齢が50歳の人は何人いる?)
DB:「1人です」

人:「X=60」(年齢が60歳の人は何人いる?)
DB:「12人です」


いかがでしょう?
人間様の話す量が、だいぶ減りましたよね。

このように、SQL文の中に変数を埋め込むことでベースのSQL文を使い回し、楽をしようとするテクニックがあります。
これを指して「SQL文に変数をバインドする」と言ったりします。

「年齢がX歳の人は何人いる?」がベースになるSQL文で「X」の部分が変数ね。
ベースになるSQLに対して、変数を割り当てています。
紐付けていると言っても、いいかも知れません。

このときに使われる変数「X」がバインド変数です。
「(SQL文に)割り当てられた変数」を指します。

あるいは、そうですね。

「このキーにはこんな機能が割り当てられられているよ(割り当てるよ)」の意図で「キーバインド」と言ったりもします。
キーはキーボードのキーね。

「バインド」という用語が出てきたら「紐付ける」「関連付ける」「割り当てる」と読み替えてみてください。
それで何となくの意味は、つかめると思います。

image piyo2

一言でまとめるよ

まぁ「バインド」って単語が出てきたら「紐付けたり、割り当てることなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク