データベースの概要まとめ

インフラエンジニア・アプリ開発エンジニアが使用するデータベースの概要と、使い方、認定資格についての情報をまとめて紹介します。

データベースとは

データベースとは、大量のデータを整理・保存し、必要なときに効率よく検索・更新できる仕組みです。

例えば、ECサイトでは次のような情報をデータベースで管理しています。

  • ユーザー情報(氏名、メールアドレスなど)
  • 商品情報(商品名、価格、在庫数)
  • 注文履歴
  • レビュー

Webサイトやアプリでは、プログラムがデータベースとやり取りすることで、情報の登録・検索・更新・削除を行います。

代表的なデータベースには次のようなものがあります。

  • MySQL:Webサービスで広く利用されるオープンソースのデータベース
  • MariaDB:MySQLから派生した互換性の高いデータベース
  • Oracle Database:企業システムで多く利用される高機能なデータベース

データベースは、データを安全かつ効率的に管理するための「データの保管庫」です。

当サイトは、WordPressを使って管理されていますが、WordPressで表示させている記事の文字などの情報はMySQL/MariaDBに保存されています。

リレーショナルデータベースの概要

リレーショナルデータベース(Relational Database / RDB)とは、データを表(テーブル)形式で管理するデータベース方式です。 データ同士の関係(リレーション)を定義することで、効率的なデータ保存・検索・更新を実現します。

以下のような表示形式のことをテーブルと呼びますリレーショナルデータベースでは、以下のような形式でデータを扱います。

項目
A10
B20

リレーショナルデータベースの基本構造

リレーショナルデータベースでは、データを行と列で構成されたテーブルとして管理します。

employee_idnamedepartment_id
1001Tanaka10
1002Suzuki20
  • 行(Row):1件分のデータ(レコード)
  • 列(Column):データ項目(属性)
  • テーブル(Table):行と列で構成されたデータの集合

例えば、社員情報、商品情報、顧客情報、注文履歴など、現実世界の対象ごとにテーブルを分けて管理します。

テーブル間の関係

リレーショナルデータベースでは、複数のテーブルをキーによって関連付けます。

顧客テーブル

customer_idname
1山田
2佐藤

注文テーブル

order_idcustomer_idprice
10115000
10228000

このように、customer_idのようなキーを利用することで、 「どの顧客がどの注文を行ったか」というデータ同士の関係を表現できます。

リレーショナルデータベースの特徴

リレーショナルデータベースには次の特徴があります。

  • データの重複を減らせる
    同じ情報を何度も保存せず、IDなどのキーを利用してデータを関連付けます。
  • データの整合性を保てる
    制約を設定することで、不正なデータ登録を防止できます。
  • SQLでデータを操作できる
    SQL(Structured Query Language)を利用して、データの検索・追加・更新・削除を行います。

RDBMSとは

RDBMS(Relational Database Management System)とは、 リレーショナルデータベースを管理するためのソフトウェアです。

代表的なRDBMSには以下があります。

  • Oracle Database
  • MySQL
  • MariaDB
  • PostgreSQL
  • Microsoft SQL Server

リレーショナルデータベースとは、データをテーブル形式で管理し、 キーによってデータ同士の関係を表現するデータベース方式です。

企業システムやWebサービスなど、多くのシステムで利用されており、 Oracle Database、MySQL、MariaDBなどのRDBMSによって管理されています。

SQLの概要

SQL(Structured Query Language)は、リレーショナルデータベースを操作するための言語です。データの検索・追加・更新・削除や、テーブルなどのデータベース構造の作成・変更を行うために使用されます。Oracle Database、MySQL、MariaDBなど、多くのRDBMSで標準的に利用されています。

SQLの特徴は以下の通りです。

  • データベース操作の標準言語
    • 多くのリレーショナルデータベースで共通して利用できる。
  • データの検索・変更が可能
    • SELECTによる検索、INSERTによる追加、UPDATEによる更新、DELETEによる削除ができる。
  • 宣言型言語である
    • 「どのデータを取得するか」を指定し、「どのように処理するか」はデータベース管理システムが決定する。
  • 大量データを効率的に処理できる
    • インデックスやクエリ最適化機能により、大規模なデータ検索にも対応できる。
  • データベース構造を管理できる
    • CREATE、ALTER、DROPなどを利用してテーブルやインデックスを作成・変更できる。
  • データの整合性を維持できる
    • 制約(主キー、外部キー、UNIQUE制約など)により、正しいデータ管理が可能。

SQLは、データベース管理システム(DBMS)へ接続し、コマンドラインや管理ツール上でSQL文を入力して使用します。

SQLについての詳細な概要については以下の記事でまとめています。

SQLを使用してデータベースへ接続する

SQLは、データベース管理システム(DBMS)へ接続した後、コマンドラインや管理ツールから実行します。

Oracle Databaseでは、SQL*Plusなどのツールを利用してデータベースへ接続します。

$ sqlplus username/password@localhost:1521/service_name

接続に成功すると、以下のようなSQLプロンプトが表示されます。

SQL>

この状態でSQL文を入力することで、データベース内のデータを検索・追加・更新・削除できます。

例えば、Oracle Databaseへ接続後、以下のようにSQL文を実行してデータを検索できます。

SQL> SELECT name, price
  2  FROM products;

NAME        PRICE
----------  -----
Keyboard    5000
Mouse       2000

この例では、SELECT文を使用して、productsテーブルから商品名(name)と価格(price)を取得しています。

MySQLの概要まとめ

MySQLの概要については以下で詳細をまとめています。

MariaDBの概要まとめ

MariaDBの詳細は以下の記事でまとめています。

Oracle Databaseの概要まとめ

Oracle Databaseの詳細は以下の記事でまとめています。

上部へスクロール