【データベース入門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
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 によるデータベースの操作
  • 耐障害性(クラスター・レプリケーション)と障害時の復旧(バックアップ・リカバリ)
スポンサーリンク

参考資料

一番初めに読む本

経験者向けの入門本

MySQL を触る方におすすめ