用語集

「用語集」の編集履歴(バックアップ)一覧はこちら

用語集」(2012/12/23 (日) 03:20:26) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

<p>ここには調べて分かったプログラミングやコンピュータに関する用語について、カンペのようにまとめておくところです。</p> <p>・共通?</p> <p> ・変数::様々な値を代入できる。フォームから受け取った値も然り。データベースの振る舞いを呼び出す式も然り。</p> <p> </p> <p>・PHP</p> <p> 1、プリペアドステートメント::これは、実行したい SQL をコンパイルした 一種のテンプレートのようなものです。パラメータ変数を使用することで SQL をカスタマイズすることが可能です。プリペアドステートメントには 2 つの大きな利点があります。</p> <ul class="itemizedlist"><li class="listitem"><span class="simpara">クエリのパース (あるいは準備) が必要なのは最初の一回だけで、 同じパラメータ (あるいは別のパラメータ) を指定して何度でも クエリを実行することができます。クエリを実行するには、準備として クエリの解析やコンパイル、そして実行プランの最適化が行われます。 クエリが複雑になると、この処理には時間がかかるようになります。 同じクエリを異なったパラメータで何度も実行すると、アプリケーションの 動作は目に見えて遅くなるでしょう。 プリペアドステートメントを使用すると、この 解析/コンパイル/最適化 の繰り返しを避けることができます。 端的に言うと、プリペアドステートメントは使用するリソースが少なくいため 高速に動作するということです。</span></li> <li class="listitem"><span class="simpara">プリペアドステートメントに渡すパラメータは、引用符で括る必要は ありません。それはドライバが自動的に行います。 アプリケーションで明示的にプリペアドステートメントを使用するように すれば、SQL インジェクションは決して発生しません (しかし、もし信頼できない入力をもとにクエリの他の部分を構築している のならば、その部分に対するリスクを負うことになります)。</span></li> </ul><p class="para">プリペアドステートメントは非常に有用な機能なので、もしドライバが サポートしていなくても、例外的に PDO がこの機能をエミュレートします。 これにより、データベースの機能にかかわらず同じ仕組みで データベースへのアクセスができることが保証されます。(PHP::manual)</p> <p> </p> <p>・JAVA</p> <p> </p> <p>・Javascript</p> <p> </p> <p>・DATABASE(主に、MySQL)</p> <p> </p> <p>・HTML</p> <p> </p> <p>・その他</p>
<p>ここには調べて分かったプログラミングやコンピュータに関する用語について、カンペのようにまとめておくところです。</p> <p>・共通?</p> <p> ・変数::様々な値を代入できる。フォームから受け取った値も然り。データベースの振る舞いを呼び出す式も然り。</p> <p> </p> <p>・PHP</p> <p> 1、プリペアドステートメント::これは、実行したい SQL をコンパイルした 一種のテンプレートのようなものです。パラメータ変数を使用することで SQL をカスタマイズすることが可能です。プリペアドステートメントには 2 つの大きな利点があります。</p> <ul class="itemizedlist"><li class="listitem"><span class="simpara">クエリのパース (あるいは準備) が必要なのは最初の一回だけで、 同じパラメータ (あるいは別のパラメータ) を指定して何度でも クエリを実行することができます。クエリを実行するには、準備として クエリの解析やコンパイル、そして実行プランの最適化が行われます。 クエリが複雑になると、この処理には時間がかかるようになります。 同じクエリを異なったパラメータで何度も実行すると、アプリケーションの 動作は目に見えて遅くなるでしょう。 プリペアドステートメントを使用すると、この 解析/コンパイル/最適化 の繰り返しを避けることができます。 端的に言うと、プリペアドステートメントは使用するリソースが少なくいため 高速に動作するということです。</span></li> <li class="listitem"><span class="simpara">プリペアドステートメントに渡すパラメータは、引用符で括る必要は ありません。それはドライバが自動的に行います。 アプリケーションで明示的にプリペアドステートメントを使用するように すれば、SQL インジェクションは決して発生しません (しかし、もし信頼できない入力をもとにクエリの他の部分を構築している のならば、その部分に対するリスクを負うことになります)。</span></li> </ul><p class="para">プリペアドステートメントは非常に有用な機能なので、もしドライバが サポートしていなくても、例外的に PDO がこの機能をエミュレートします。 これにより、データベースの機能にかかわらず同じ仕組みで データベースへのアクセスができることが保証されます。(PHP::manual)</p> <p class="para"> 2、DB抽象化レイヤー</p> <p class="para">  ・DBを使うには、DBを呼び出すための関数とSQL関数を使う必要があるが、使うDBが違えば、その都度、書き直す必要が出てくるが、それをせずに済むように抽象化してくれる機能が抽象化レイヤーになる。</p> <p class="para"> ・使用しているデータベースが何であるかにかかわらず、同じ 関数を使用してクエリの発行やデータの取得が行えるということです。 PDO は、<em class="emphasis">データベース</em>の抽象化を行うのでは <em class="emphasis">ありません</em>。つまり、SQL を書き直したり 存在しない機能をエミュレートしたりはしないということです。 もしそのような機能が必要なら、全体を網羅する (full-blown) 別の抽象化レイヤを使用すべきです。(PHP::manual::データベース関連::抽象化レイヤー::PDO関数)</p> <p> </p> <p>・JAVA</p> <p> </p> <p>・Javascript</p> <p> </p> <p>・DATABASE(主に、MySQL)</p> <p> </p> <p>・HTML</p> <p> </p> <p>・その他</p>

表示オプション

横に並べて表示:
変化行の前後のみ表示: