💻 データベース
データベースとは?RDBMSの基本をわかりやすく解説
データベースとは
データベース(DB)とは、大量のデータを効率よく管理・検索・更新できるよう整理されたデータの集まりです。単なるファイルの集合ではなく、構造化されたデータの管理システムです。
データベースを管理するソフトウェアをDBMS(Database Management System)と呼びます。
関係データベース(RDB)
現在最も広く使われているのが関係データベース(RDB:Relational Database)です。データを表(テーブル)の形式で管理し、表と表の関係(リレーション)を利用してデータを操作します。
RDBを管理するシステムがRDBMS(Relational DBMS)です。代表例:MySQL、PostgreSQL、Oracle Database、SQL Server
テーブルの構造
| 用語 | 説明 |
|---|---|
| テーブル(表) | データを格納する表 |
| 行(レコード) | 1件分のデータ |
| 列(カラム/フィールド) | データの項目(属性) |
| 主キー(Primary Key) | 行を一意に識別する列。重複・NULLは不可 |
| 外部キー(Foreign Key) | 他テーブルの主キーを参照する列。テーブル間の関係を定義 |
ACID特性(トランザクション)
データベースのトランザクション(複数の操作をひとまとめにした処理)は以下のACID特性を持つ必要があります。
- A(Atomicity・原子性):全部成功か全部失敗(中途半端な状態にならない)
- C(Consistency・一貫性):処理前後でデータの整合性が保たれる
- I(Isolation・独立性):複数トランザクションが互いに干渉しない
- D(Durability・永続性):完了したトランザクションは永続的に保存される
💡 「ACID」は頭文字です。特に原子性(Atomicity)=「全部か無か」が試験でよく問われます。
試験対策ポイント
✅ RDB = 表形式でデータ管理。「主キー(一意識別)」「外部キー(テーブル間の関係)」「ACID特性」が頻出です。
- DBMS = データベース管理システム
- RDB = 表(テーブル)で管理する最も一般的なDB
- 主キー:行を一意に識別する列(重複・NULL不可)
- ACID:原子性・一貫性・独立性・永続性
データベース設計の正規化
| 正規形 | 条件 |
|---|---|
| 第1正規形(1NF) | 繰り返しグループをなくす・1セルに1値 |
| 第2正規形(2NF) | 部分関数従属を解消(主キー全体に依存) |
| 第3正規形(3NF) | 推移関数従属を解消(非キー→非キーの依存をなくす) |
正規化でデータの冗長性・更新異常・挿入異常・削除異常を防ぐ。一方で結合が増え処理が重くなるトレードオフがある。
ACID特性とNoSQL
トランザクションのACID特性:A(原子性)・C(一貫性)・I(独立性)・D(永続性)。デッドロック:2つのトランザクションが互いに相手のロック解除を待つ状態。NoSQL:RDB以外のDB。種類:キーバリュー型(Redis)・ドキュメント型(MongoDB)・グラフ型(Neo4j)・カラム型(Cassandra)。大量データ・スケールアウト・柔軟スキーマが強み。BASE特性:Basically Available・Soft state・Eventual consistency。