インフラエンジニア・アプリ開発エンジニアが使用するデータベースの概要と、使い方、認定資格についての情報をまとめて紹介します。
データベースとは
データベースとは、大量のデータを整理・保存し、必要なときに効率よく検索・更新できる仕組みです。
例えば、ECサイトでは次のような情報をデータベースで管理しています。
- ユーザー情報(氏名、メールアドレスなど)
- 商品情報(商品名、価格、在庫数)
- 注文履歴
- レビュー
Webサイトやアプリでは、プログラムがデータベースとやり取りすることで、情報の登録・検索・更新・削除を行います。
代表的なデータベースには次のようなものがあります。
- MySQL:Webサービスで広く利用されるオープンソースのデータベース
- MariaDB:MySQLから派生した互換性の高いデータベース
- Oracle Database:企業システムで多く利用される高機能なデータベース
データベースは、データを安全かつ効率的に管理するための「データの保管庫」です。
当サイトは、WordPressを使って管理されていますが、WordPressで表示させている記事の文字などの情報はMySQL/MariaDBに保存されています。
リレーショナルデータベースの概要
リレーショナルデータベース(Relational Database / RDB)とは、データを表(テーブル)形式で管理するデータベース方式です。 データ同士の関係(リレーション)を定義することで、効率的なデータ保存・検索・更新を実現します。
以下のような表示形式のことをテーブルと呼びますリレーショナルデータベースでは、以下のような形式でデータを扱います。
| 項目 | 値 |
| A | 10 |
| B | 20 |
リレーショナルデータベースの基本構造
リレーショナルデータベースでは、データを行と列で構成されたテーブルとして管理します。
| employee_id | name | department_id |
|---|---|---|
| 1001 | Tanaka | 10 |
| 1002 | Suzuki | 20 |
- 行(Row):1件分のデータ(レコード)
- 列(Column):データ項目(属性)
- テーブル(Table):行と列で構成されたデータの集合
例えば、社員情報、商品情報、顧客情報、注文履歴など、現実世界の対象ごとにテーブルを分けて管理します。
テーブル間の関係
リレーショナルデータベースでは、複数のテーブルをキーによって関連付けます。
顧客テーブル
| customer_id | name |
|---|---|
| 1 | 山田 |
| 2 | 佐藤 |
注文テーブル
| order_id | customer_id | price |
|---|---|---|
| 101 | 1 | 5000 |
| 102 | 2 | 8000 |
このように、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の詳細は以下の記事でまとめています。








