非エンジニアでも簡単にわかるSQL、データベース入門【SQL入門講座】

SQL

概要

今回はSQLとは何かについて解説します
また、併せてデータベースについても解説してゆきます
Webアプリを開発する場合、SQLはよく使われるので学んでおいて損はないでしょう
また、それ以外にもWebマーケターもデータ分析の際に重宝します
どのような顧客がどのページを閲覧していてそのうちの商品購入率はどれくらいか
などの分析をSQLで行うことができます

SQLの概要

まず、SQLの概要を解説してゆきます
SQLとは、リレーショナルデータベースのデータの操作や定義を行う言語です
また、SQLは国際標準化されています

リレーショナルデータベースの前にデータベースについて解説してゆきます
データベースとは
構造化した情報またはデータの組織的な集合です
そして、データベースには様々な種類があります
最近、よく使われているのは次の通りです

  • リレーショナルデータベース
  • キーバリュー型
  • カラム指向型
  • ドキュメント指向型
  • グラフ型

リレーショナルデータベース

リレーショナルデータベースは表形式のデータと、それらの関係によってデータを管理する
リレーショナルデータベースには次のような概念がある

  • テーブル
  • レコード
  • カラム
  • フィールド
  • 主キー
  • リレーション

テーブル

データベースにおいて、データはばらばらに管理されているのではなく、
特定の規則に従って保存されている
この単位のことをテーブルという
データベースは複数のテーブルで構成されている

カラム

このテーブルの列にあたるのがカラムだ
カラムごとに格納されるデータは文字列や数値など事前に定義されている

レコード

そして、テーブルの行にあたるのがレコードだ
レコードは実際のデータを表している

フィールド

そして、テーブルの一つのマス目をフィールドと呼ぶ
フィールドはテーブルの最小単位だ
Excelにおけるセルのようなものだ

主キー

その他に主キーという概念がある
テーブルのレコードを一意に特定てきる値が格納されているカラムのことを主キーと呼ぶ
ちなみに、主キーは必ず設定しなければならないわけではない

リレーション

リレーションとはテーブル同士の関係を示す
リレーションには次の3種類が存在する

  • 一対多
  • 多対多
  • 一対一

具体例

リレーショナルデータベースには次のようなものがある

  • sqlite
  • mysql
  • Maria DB
  • PostgreSQL
  • Oracle Database

データベースごとに独自の文法が追加されていることもあるが
基本的なSQLの文法は全てに共通している

リレーショナルデータベース以外のデータベース

キーバリュー型

キーバリュー型はキーに対して値が関連付けられている形でデータが格納されている
データモデルがシンプルなためスケールアウトしやすく
処理も高速だがトランザクション処理できないものが多い

ドキュメント指向型

ドキュメント指向型は
JSONやXMLの形式でデータが格納されている
こちらもキーバリュー型と同様にスケールアウトしやすいが
トランザクション処理ができないことが多い

カラム指向型

続いてカラム指向型についてだ
リレーショナルデータベースでは一行一行を一塊のデータとして扱うが
カラム指向型データでは列を一塊として扱う
そのため、リレーショナルデータベースに比べて集計処理が得意なデータベースだ

グラフ型

最後のグラフ型はデータとデータの関係性をグラフ構造で表したデータベースだ
リレーショナルデータベースと比べてデータ同士の関係を扱うのが得意だ
リレーショナルデータベースであるデータとデータが関係しているかを調べるには
テーブル同士でJOINという操作を行う
このJOINは数回なら問題ないが、
何度も行われると処理にかかる時間は非常に大きくなってしまう
その点、グラフ型であればそのような処理を効率的に行うことができる

SQLの3つの言語

SQLには3つの言語が存在する

  • データ定義言語(DDL)
  • データ操作言語(DML)
  • データ制御言語(DCL)

データ定義言語(DDL)

まず、データ定義言語(DDL)について解説しよう
データ定義言語とは、リレーショナルデータベースのデータ構造を定義する言語だ
これには、CREATE文、DROP文、ALTER文の3つが存在する
CREATE文ではテーブルの作成
DROP文はテーブルの削除
ALTER文はテーブルの定義変更を行うことができる

データ操作言語(DML)

続いて、データ操作言語(DML)について解説する
データ操作言語とは、
リレーショナルデータベース内のデータを検索、登録、削除、更新するための言語だ
これには、SELECT文、INSERT文、UPDATE文、DELETE文があげられる
SELECT文はデータの検索
INSERT文はデータ挿入
UPDATE文はデータ更新
DELETE文はデータ削除を行うことができる

データ制御言語(DCL)

最後にデータ制御言語(DCL)を解説する
データ制御言語にはGRANT文、REVOKE文、COMMIT文、ROLLBACK文があげられる
GRANT文はアクセス権付与
REVOKE文は権限はく奪
COMMIT文はトランザクションの確定
ROLLBACK文はトランザクションの破棄を行うことができる

タイトルとURLをコピーしました