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

ストアドファンクション

pointこの用語のポイント

pointデータベースのお話で出てくるよ

pointデータベースさんに対する命令をまとめたものだよ

point戻り値のある関数みたいなものだよ

スポンサーリンク

簡単に書くよ

ストアドファンクション(英:stored function)とは

データベースの世界におけるファンクション(複数の命令をまとめたもの。戻り値のある関数)のこと。
もう少し具体的に書くと

データベースさんに対する「あれやれ、これやれ」な命令を1つにまとめて保存したもので、戻り値(プログラムや関数から出てくる値)のあるもの
です。


image piyo

詳しく書くよ

比較しながら説明した方が分かりやすいと思うので、プログラミング関連の説明も一緒に書いていきますね。
多少遠回りに感じるかもしれませんが、のんびりお付き合いください。

プログラムというのはコンピュータさんに対する命令書です。
コンピュータさんに対して「あれしろ、これしろ」という命令が書かれています。

コンピュータさんに対する命令書を作る行為は「プログラミング」と言います。

プログラミングの分野において、何かを入れると何かをして何かを返してくれる部品を「関数(ファンクション:function)」と言います。
「何らかの処理(命令)をまとめたもの」と解釈しても かまいません。

ストアドファンクション

関数へ入れるものは「引数(ヒキスウ)」と言います。
関数から出てくるのは「戻り値」です。

ストアドファンクション2

プログラミング言語によっては、戻り値の有無によって関数を区別します。
区別する場合は

・戻り値のある関数:関数(ファンクション)
・戻り値のない関数:プロシージャ


と呼びます。

ストアドファンクション3

プロシージャの本来の意味は「複数の処理を1つにまとめたもの」ですけどね。
関数だって複数の処理を1つにまとめたものです。
「戻り値のない関数がプロシージャ」と解釈して かまいません。

ここまでの説明で、プログラミングの分野における「関数(ファンクション)」と「プロシージャ」は、何となく理解できたでしょうか。

あとは、データベースについても説明しておきましょう。
と言っても、難しく考える必要は ありません。
データを入れておく箱」がデータベースです。

ストアドファンクション4

以上を踏まえて

データベースの世界におけるファンクション(複数の命令をまとめたもの。戻り値のある関数)

が「ストアドファンクション」です。

ついでなので併せて書いておくと「データベースの世界における戻り値のない関数」は「ストアドプロシージャ」と言います。

ストアドファンクションとストアドプロシージャの違いは、戻り値があるかないかの違い、と解釈してください。

ストアドファンクション5

ここで、プログラミングとの比較に戻りましょう。

プログラミング言語は、コンピュータさんに対して命令するときに使う言語です。
プログラミング言語を使って あれやこれやと記述すると、コンピュータさんに対して「あれしろ、これしろ」と命令を出せます。

ストアドファンクション6

同じように「SQL」という名前の、データベースさんに対して命令を出すための言語があります。
SQLを使って あれやこれやと記述すると、データベースさんに対して「あれしろ、これしろ」と命令を出せます。

ストアドファンクション7

プログラミング言語によって書かれたいくつかな命令を1つにまとめて部品化したものを「関数」と言います。
戻り値のある関数を「関数(ファンクション)」、戻り値のない関数を「プロシージャ」と呼びわける場合も あります。

ストアドファンクション8

同じように、SQLによって書かれたいくつかな命令を1つにまとめて部品化したものを「ストアドファンクション」もしくは「ストアドプロシージャ」と言います。
戻り値がある場合は「ストアドファンクション」、戻り値がない場合は「ストアドプロシージャ」として定義するのが一般的です。

ストアドファンクション9

多少乱暴な解釈ではあるのですが、プログラミングの分野における「ファンクション(関数)」「プロシージャ(戻り値のない関数)」が、データベースの分野における「ストアドファンクション」「ストアドプロシージャ」と考えると、分かりやすいと思います。


image piyo2

一言でまとめるよ

まぁ「ストアドファンクション」って単語が出てきたら「データベース世界における戻り値(プログラムや関数から出てくる値)のある関数(処理のまとまり)なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「stored(ストアド)」は「store(ストア)」+「ed」です。
「store(ストア)」の意味は「お店」とか「蓄え」とか「貯蔵」とか「蓄える」とか「保管する」とか「保存する」とか「格納する」とかです。
「ed」という接尾辞が付くと「~された」的な意味になります。
「function(ファンクション)」の意味は「機能」とか「関数」とかです。
何となく くっつけると

保存された関数

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践