SQLとは?事前知識から詳しく解説

ネット知識

 

今回はSQLというものについて説明します。

 

しかし、このSQLには必要な事前知識がいくつかあって、そこをまず説明しないと専門用語が多すぎて何言っているのか分け分からなくなると思います。なので、まずは必要となる事前知識から説明します。

 

ではまず必要な事前知識について、今回必要となる事前知識とその用語は以下になります。知っているという方は読み飛ばしてもらってかましません。

 

  • DB
  • DBMS
  • RDB
  • RDBMS

 

一つずつ説明します。

 

DBとは

 

DBはデータベースのことで、データを格納しておく場所です。

 

データベースとはデータ(情報)のベース(基地)です。

 

我々が普段ネットを通じて見ているサイトやブログ、その他ページなどはすべてデータ(情報)としてこのデータベースに格納されているものです。そしてそれらデータは検索されるなどの必要な時にだけデータベースから出されます。

 

わかりやすいように例えるなら本がデータで、その本を格納しておく場所の本棚がデータベースです。

 

DBMSとは

 

DBMSはデータベースマネジメントシステムのことです。

 

簡単にいうとDB(データベース)をMS(管理するシステム)です。

 

先程の例では本がデータで本棚がデータベースでしたが、DBMSとはそのデータベース(本棚)を管理するモノなので司書のようなものです。

 

DB(本棚)は日々、この司書であるDBMSによって整理整頓されて管理されています。

 

RDBとは

 

データベースにはいくつかの種類があり、それぞれに特徴があります。

 

RDBとは、その種類の中にある「リレーショナルデータベース」の略で根本的にはデータベースの一種です。このDBについているRとはRelationalのことで、日本語では”関連性”を意味します。

 

RDBとは「データ同士の関連性」をテーマにした種類のDBで、最も有名なDBです。

 

RDBの特徴

 

RDBはそのデータの格納法に関連性を取り入れたDBです。

 

その特徴は、データを列と行を使ったエクセルの表のような形式で保存している点です。この列をカラム、行をレコード、表示自体をフィールドといいます。そしてこの表の中にあるデータにそれぞれ関連性を持たせるのがRDBです。

 

本の例えを使うと、ホラー小説はホラーのカテゴリに、古典的な文献は古典のカテゴリにと、中の本(データ)を関連性がある順に整理した本棚がRDBです。

 

RDBMSとは

 

ここまでくれば大体わかるかもしれませんが、RDBMSとは先程のRDBを管理するシステムであり、リレーショナルデータベースマネジメントシステムの略です。

 

DBとDBMSの関係は先ほども書きましたよね。データを格納するDBは本棚でそれを管理するDBMSは司書です。これと同じようにRDBという本棚を管理する司書がRDBMSです。

 

つまり、関連するモノ順に並べられた本の本棚(RDB)を管理する司書がRDBMSです。

 

SQLとは

 

SQLは、シークエルまたはシーケルと呼ばれていてます。何かの略称のようですに見えますが、略語ではないと定義されているので正式名称がシークエルまたはシーケルです。

 

SQLとはデータベース言語の一種です。

 

SQLを使ってデータベースにを操作することが出来ます。それによって検索したキーワードに関連した検索結果をデータベースから取り出し表示させることが出来ます。

 

つまりユーザーが何かしらの事柄を検索するときに使われるのがSQLです。また、他にもデータベース言語はありますが、一般に広く普及して標準的になっているのがSQLなのです。

 

ここで「データベース言語ってなんだ?」と思った人もいると思うので一応以下で説明しておきます。

 

データベース言語とは

 

データベース言語とはDBSMに命令をするときに使う言語です。

 

つまり、司書さんに「あの本取って」とかお願いするときに使う言葉で、司書さんはこのデータベース言語しか理解できないのでその言葉を使うしかありません。

 

このデータベース言語にも様々な種類があり、あるDBを扱うには決まった言語しか扱えないということがあります。そしてRDBの場合はSQLを使うことになっていると言うことです。

 

SQLの構成要素

 

SQLは主に3つの言語によって構成されている

 

  • データ定義言語:データを入れる表(フィールド)を新しく作るときに使います。ここでいろいろな構造や仕様を決めます。

 

  • データ操作言語:データを操作するときに使う、例えばユーザーが何か検索したときに、「このキーワードに関連するデータ送ってー」とデータベースに命令するときに使います。

 

  • データ制御言語:データへのアクセスを制御する言語。「このデータは私以外の誰にも見せちゃダメ」というようにデータに対して誰がアクセスしていいかを制限するときに使います。

 

 

つまりユーザーが検索をする時に使われるのは、データ操作言語ということになります。

 

まとめ

 

今までの用語を使ってSQLを説明すると、

 

  1. ユーザーが検索エンジンにキーワードを入力して検索する。
  2. その後、SQLを使ってRDBMSに「このキーワードに関連するデータ頂戴~」とお願いする。
  3. RDBMSは必要なデータをRDBから見つけ出して、見つけたデータをユーザー側に渡す。
  4. ユーザー側にサイトやブログ(データ)が表示される。

 

という流れです。

英語表記ばかりで少し覚えるのが面倒だと感じたかもしれませんが、それぞれの英語の意味、例えば「DBはデータベース」「MSはマネジメントシステム」という風に覚えてしまえば組み合わせの違いだけなので、そこまでこんらんしないかもしれません。

 

以上が「SQLとは?事前知識から詳しく解説」でした。

コメント