web-dev-qa-db-ja.com

SQLがセッションレイヤーの「プロトコル」と見なされるのはなぜですか?

OSIモデル内で、SQLがセッションレイヤーの「プロトコル」と見なされるのはなぜですか? SQLは言語ではなく、プロトコルではありませんか?

1
Corvus

SQLには多くのものが含まれています(いくつかは省略しています)。

  • sQL構文自体(標準があり、多かれ少なかれ、さまざまなデータベースによって適用されます)。これがあなたの言っていることだと思います。
  • ワイヤープロトコルフォーマット(いくつかあります)。これは主にデータの表現方法に関するものです。
  • クライアントとサーバー間の相互作用。これは最初の2つと密接に統合されています。

3つ目は、セッションの確立、使用、クローズに関するものです。これは、OSIレベル5にかなり適合します。

SQLでは、セッションを作成して再利用できます。実際のステートメント(特定のキーワードとSQ​​L構文)はそのセッションを使用しています。したがって、SQL言語自体はレイヤー6に近いと言えますが、それも議論の余地があります。

トランザクションを「セッション」と見なすこともできますが、ネットワークの意味ではできません。

これは漠然とした答えのように聞こえるかもしれませんが、SQLがカバーしすぎて1つのボックスにうまく収まらないためです。

1
Marc

SQLサーバーはクライアントとサーバー間のセッションをセットアップおよび管理し、トランザクションの概念を持っているためです。これらは、セッションレイヤーサービスが実行する2つの主な機能です-セッション管理と同期ポイント(SQLの場合はトランザクション):

https://en.wikipedia.org/wiki/Session_layer

0
Thomas Carlisle