【データベース入門1】データベースとは

本記事はデータベース入門記事のうち第1回「データベースとは」です。

本記事は以下の書籍を参考に執筆しています。

一番初めに読む本

経験者向けの入門本

MySQL を触る方におすすめ

その他のデータベースの入門記事ついては以下の記事をご確認ください。

スポンサーリンク

データベースとは

データベースとは、コンピュータに格納したデータの集まりのことです。

また、データベースを操作するシステムを DBMS(DataBase Management System)と言います。

DBMS では CRUD と呼ばれる以下の機能が実装されています。

  • Create(生成)
  • Read(読み取り)
  • Update(更新)
  • Delete(削除)

データベースの種類

データベースには主に次の3種類の方法でデータを格納します。

データベースの種類説明製品例
リレーショナルデータベース(RDBMS)一般的に二次元の表形式のデータの集合
(厳密にはここを参照)

行単位でデータを操作する
MySQL
PostgreSQL
SQL Server
Oracle Database
SQLite
階層型データベース木構造のデータの集合

https://is.gd/QiDShY
DNS ※1
LDAP ※1
NoSQL(Not only SQL)二次元の表形式以外のデータの集合
(別名:非リレーショナルデータベース※2)

https://thinkit.co.jp/article/11882
MongoDB
DynamoDB
Elasticsearch
Redis
Neo4j
Cassandra

※1 諸説あり

※1 LDAPは階層型のデータベースと考えると理解しやすいでしょう。

https://software.fujitsu.com/jp/manual/manualfiles/M050000/B1WN4901/02/irep01/irep0010.htm

※1 Yes, definitely LDAP is hierarchical. So is DNS. In fact, DNS, LDAP, and common filesystems are by far the most widely used hierarchical databases. The topic's claim that IMS and Windows Registry are the most common is laughable.

https://en.wikipedia.org/wiki/Talk%3AHierarchical_database_model#LDAP

※2 NoSQLデータベース:NoSQLデータベース(非リレーショナル・データベース)では、非構造化データと半構造化データを格納し、操作できます

https://www.oracle.com/jp/database/what-is-database/

本記事では、現時点で主流のリレーショナルデータベースを中心に説明します。

データベースの用語

リレーショナルデータベースと SQL(データベースを操作するための言語)で利用する用語は以下のとおりです。

SQL 用語Relational database 用語説明
ロウ
(Row)
Tuple or record1行のこと
カラム
(Column)
Attribute or field1列のこと
行の要素にラベルをつけたもの
テーブル
(Table)
Relation or Base relvar行と列の集合のこと
共通のカラム(属性)を持つ集合
結果セット
(result set)
Derived relvarSQL によりテーブルから取得した行の集合
ビュー (View) もこれに当たる
https://en.wikipedia.org/wiki/Relational_database#Terminology

データベースの構造

リレーショナルデータベースは以下の構造を持ちます。

構造名説明
テーブル2次元表のこと
スキーマテーブルの集合
「ディレクトリ(フォルダ)」に相当する
データベーススキーマの集合
「データベースユーザーが接続する」単位
インスタンスデータベースの集合
OS の「プロセス」単位

つまり、リレーショナルデータベースは複数のテーブルを持つ階層構造となっています。

なお、複数のテーブル(Relation)を結びつけることを Relationship と言います

なお、リレーショナルデータベースの構造は、以下のように製品によって異なります。

構造名インスタンスデータベーススキーマテーブル
MySQL
データベース=スキーマ ※1

データベース=スキーマ ※1
PostgreSQL○(サーバー)
Oracle△1つのインスタンスに1つまで
SQL Server

※1
CREATE SCHEMA is a synonym for CREATE DATABASE

https://dev.mysql.com/doc/refman/5.6/en/create-database.html

データベースの機能

リレーショナルデータベースは以下の機能を持ちます。

  • SQL によるデータベースの操作
  • ACID 特性に基づいたトランザクション処理
  • 耐障害性(クラスター・レプリケーション)と障害時の復旧(バックアップ・リカバリ)
【データベース入門4】バックアップ,クラスター,レプリケーション
本記事はデータベース入門記事の第4回「バックアップ・クラスター・レプリケーション」です。本記事は以下の書籍を参考に執筆しています。 一番初めに読む本 経験者向けの入門本...
  • SQL クエリオプティマイザーによる SQL クエリ実行の最適化
スポンサーリンク

参考資料

一番初めに読む本

経験者向けの入門本

MySQL を触る方におすすめ