bind(バインド)
紐付けるよ
関連付けるよ
割り当てるよ
簡単に書くよ
bind(バインド)とは
あっち と こっち を紐付ける、関連付ける、割り当てること
です。
詳しく書くよ
サクっと一言で説明すると
何かと何かを関連付ける
のが「バインド(bind)」です。
「AをBにバインドする」であれば「AをBに割り当てるよ」を意図します。
例えば「バインド変数」という用語があります。
バインド変数は「SQL文に埋め込む変数」です。
順番に見ていきましょう。
データベースは「データを入れておく箱」ね。
突っ込んで考えると混乱するかもしれません。
何となくのフィーリングで理解してください。
SQLは「データベースと やり取りするときに使う言葉」です。
データベースにデータを入れるときは、データベースさんに「これを入れておいて」と命令します。
データベースからデータを取り出すときは、データベースさんに「こんなデータを取り出しておくれ」と命令します。
SQLは、そんな命令をするときに使う言葉です。
SQL文は「データベースに対する、SQLを使った命令文」です。
「クエリ」とも呼ばれます。
「SQL」と「SQL文」は違います。
あまり神経質になる必要はありませんが、区別できるように しておいてください。
SQLは「言語」です。
SQL文は「命令(文)」です。
例えば、そうですね。
ピヨ子さんがピヨ太君に日本語で「パン買ってこい!」と命令したとしましょう。
ピヨ子さんが人間、ピヨ太君がデータベースだとすれば「日本語」が「SQL」です。
「パン買ってこい!な命令」が「SQL文」になります。
最後に「変数」の説明をしておきます。
変数は「値を入れておく箱」です。
以上が予備知識です。
ここまでを踏まえて、読み進めてください。
データベース(DB)さんと会話をするときは
人:「年齢が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文に)割り当てられた変数」を指します。
あるいは、そうですね。
「このキーにはこんな機能が割り当てられられているよ(割り当てるよ)」の意図で「キーバインド」と言ったりもします。
キーはキーボードのキーね。
「バインド」という用語が出てきたら
・紐付ける
・関連付ける
・割り当てる
と読み替えてみてください。
それで何となくの意味は、つかめると思います。
一言でまとめるよ
まぁ「バインド」って単語が出てきたら「紐付けたり、割り当てるんだな~」と お考えください。
おまけ
■訳してみるよ
「bind(バインド)」の意味は
・縛る
・くくる
・結びつける
・巻き付ける
・束ねる
・束縛する
・拘束する
とかです。
2つの物を1つにまとめたり、固定するイメージですかね。






