データベース
データベース(DB)とは
再利用可能なデータの集合体
データベース(DB) は、項目や条件によって分類した「データの集合体」で、再利用しやすいように整理した情報のことです。今回学習するSQLで操作するリレーショナルデータベースや、Excel、CSVといった電子データだけでなく、紙のデータも情報が分類、蓄積されていればデータベースといいます。
DBMS
PCでデータベースを管理するシステムのことをDBMS(Database Management System)といい、ここではDBMSを単純にデータベース(DB)と呼ぶようにします。
RDBMS
RDBMSとは
RDBMS(リレーショナル・データベース・マネジメント・システム)は、DBMSにおいてリレーションの機能を持ったDBのことで、単純にRDBともいいます。
Relation(リレーション)とは
Relation(リレーション)は「関連」という意味で、テーブルをまたいで大量のデータを高速に検索することができます。 RDBの操作するにはSQL言語を利用します。

NoSQL
RDBと対照的にSQLを使わないデータベースをNoSQL DBといい、現在のWebシステムでも多く利用されます。
NoSQLのメリット・デメリット
NoSQLのメリットはRDBと比べて単純なデータ構造で、より大量のデータを高速処理できます。例えば、チャットデータや機械学習のデータ分析などで利用されます。デメリットはRDBと比べて複雑なデータ構造が苦手な点です。
RDBの種類
RDBの種類として「MySQL」「PostgreSQL」「SQLite」「Oracle」といったものがあります。 なかでもMySQL、PostgreSQLはオープンソースのRDBで、業務用でも無料で利用できるため高いシェアがあります。
MySQL

MySQLはOracle社が開発・サポートするオープンソースのRDBです。Webシステムで高いシェアをもち、さまざまなサービスで利用されています。
PostgreSQL

PostgreSQLも非常にシェアが高いオープンソースのRDBです。 MySQLに比べて高機能で複雑な処理がしやすい特徴がありますが、大きな違いではありません。
Oracle
Oracle社が開発した商用のRDBで、MySQLやPostgreSQLと比較して、メンテナンスを含めた機能が豊富でパフォーマンスが高いのが特徴です。非常に高機能ですが費用的な面でデメリットといえます。
RDBの基本構造
データベース(DB)
データベース(DB)は複数のテーブル(Table) で構成されています。テーブルはスプレッドシートのシートのようなもので、セルにデータを永続的に保存するイメージです。
テーブル(Table)
テーブルの構造
テーブル(Table)はデータを表形式に保存する場所で、RDBのテーブル構造には「レコード」「カラム」「フィールド」などの名称がついています。

- テーブル:レコードの集合体
- レコード:データの行
- カラム:データの列
- フィールド:データのセル
リレーション(Relation)
RDBは複数のテーブルを連携して利用します。このテーブルのの関係性をRelation(リレーション)といいます。リレーションすることでテーブルに跨った大量のデータを、高速かつ柔軟に操作することができます。
SQL
SQLとは
SQL(Structured Query Language) は、RDBを操作する言語で、テーブルにデータを保存したり、大量のデータを条件指定して検索することができます。SQLの機能はたくさんありますが、大きく3つに分類できます。
- DDL(データ定義言語)
- DML(データ操作言語)
- DCL(データ制御言語)
DDL(データ定義言語)
DDL(Data Definition Language)は、データベースを定義するためのSQLです。
- データベースの作成(CREATE DATABASE)
- データベースの削除(DROP DATABASE)
- テーブルの作成(CREATE TABLE)
- テーブルの削除(DROP TABLE)
- テーブルの変更(ALTER TABLE)
DML(データ操作言語)
DML(Data Manipulation Language)は、データを操作するためのSQLです。
- データの検索(SELECT)
- データの挿入(INSERT)
- データの更新(UPDATE)
- データの削除(DELETE)
DCL(データ制御言語)
DCL(Data Control Language)は、DMLやDDLをコントロールするためのSQLです。
- トランザクションの開始(BEGIN)
- トランザクションの終了(COMMIT)
- トランザクションのキャンセル(ROLLBACK)
- 権限付与(GRANT)
- 権限剥奪(REVOKE)