データベースとは
まず結論
データベースとはデータを整理・保存・検索・更新できるシステム。試験ではRDBMS(関係データベース)が中心。テーブル・主キー・外部キー・ER図の概念を確実に押さえよう。
📦 データベースとは
データベース(DB)とは、大量のデータを整理された形式で保存し、効率よく検索・更新・削除できるシステムです。単なるファイル保存と違い、複数のユーザーが同時にアクセスしても整合性を保てるように設計されています。
Excelなどの表計算ソフトは小規模データには便利ですが、大量データの高速検索・複数人の同時更新・データの整合性保持には不向きです。DBMSはこれらを解決します。
🏗️ RDBMS(関係データベース管理システム)
RDBMS(Relational Database Management System)は、データを表(テーブル)の形式で管理するシステムです。現在最も広く使われているデータベースの種類です。
・MySQL:Webアプリで広く利用
・PostgreSQL:高機能なOSS
・Oracle Database:大規模企業向け
・SQL Server:Microsoft製
・SQLite:組み込み・軽量用途
・データのCRUD操作(作成・読取・更新・削除)
・トランザクション管理
・アクセス制御(権限管理)
・バックアップ・復元
・整合性制約の管理
📋 テーブル・行・列
RDBMSでは、データはテーブル(表)に格納されます。テーブルは行(レコード/タプル)と列(カラム/フィールド/属性)で構成されます。
以下は「社員テーブル」の例です:
| 社員ID | 名前 | 部署ID | 給料(万円) |
|---|---|---|---|
| 1001 | 田中 一郎 | D01 | 35 |
| 1002 | 鈴木 花子 | D02 | 42 |
| 1003 | 佐藤 次郎 | D01 | 28 |
| 1004 | 山田 三枝 | D03 | 55 |
以下は「部署テーブル」の例です:
| 部署ID | 部署名 | フロア |
|---|---|---|
| D01 | 営業部 | 3F |
| D02 | 開発部 | 5F |
| D03 | 管理部 | 2F |
🔑 主キー(Primary Key)と外部キー(Foreign Key)
テーブル内の各行を一意に識別するための列。
・NULL値は禁止
・重複値は禁止
・1テーブルに1つだけ
・複数列の組み合わせも可(複合主キー)
例:社員テーブルの「社員ID」
他のテーブルの主キーを参照する列。テーブル間の関係(リレーションシップ)を表す。
・参照整合性を保証する
・存在しない値への参照を防ぐ
・NULL値は許可される場合がある
例:社員テーブルの「部署ID」→ 部署テーブルの「部署ID」を参照
🔗 ER図(Entity-Relationship Diagram)
ER図は、データベースの構造を視覚的に表した設計図です。エンティティ(実体)とリレーションシップ(関係)で構成されます。
社員テーブルの「部署ID(FK)」が部署テーブルの「部署ID(PK)」を参照する多対1の関係
・1対1:社員 ↔ 社員証
・1対多:部署 ↔ 社員(1つの部署に複数の社員)
・多対多:学生 ↔ 授業(中間テーブルで解決)
🗂️ NoSQL データベース
RDBMSに対して、表形式を使わないデータベースをNoSQL(Not Only SQL)と呼びます。
・ドキュメント型:MongoDB(JSON形式)
・キー・バリュー型:Redis(高速キャッシュ)
・カラム型:Cassandra(大規模分散)
・グラフ型:Neo4j(関係の分析)
・RDBMS:整合性重視、複雑な検索向き
・NoSQL:スケーラビリティ重視、大量データ・高速処理向き
試験ではRDBMS(SQL)が主役。NoSQLは名前と特徴を把握する程度でOK。
🎯 試験での出方
- 主キー・外部キーの定義と違いを問う穴埋め問題
- テーブルを見て「主キーはどれか」を選ぶ問題
- 外部キーによる参照整合性(存在しないキーを参照できるか否か)
- ER図を読んでエンティティ間の関係(1対多など)を答える問題
- RDBMSの特徴・NoSQLとの違いを選ぶ選択問題
- 「主キーにNULL値は設定できるか?」「主キーの値は重複できるか?」の正誤判断
⚠️ よくある間違い
- 主キーにNULLや重複は許されない(外部キーはNULLが許される場合がある)
- 外部キーは「参照先に存在する値しか設定できない」——存在しない部署IDは設定不可
- 1つのテーブルに主キーは1つだけ(ただし複数列の組み合わせで1つの複合主キーにできる)
- RDBMSとDBMSは別の概念——DBMSはデータベース管理システム全般、RDBMSは関係型に限定
- NoSQLは「SQLが使えない」ではなく「SQL以外も使える」という意味(一部はSQL風クエリを持つ)
✍️ 確認クイズ
Sponsor Link