データベース
大量のデータを効率的に蓄積・管理・検索できるようにした情報の集まり。
コンピュータ上で構造的に整理されている。
日々の業務データや顧客情報などを管理するのに使われる。
例:顧客の氏名や住所をまとめて保存する顧客データベース。
データベース管理システム(DBMS)
データベースを操作・管理するためのソフトウェア。
データの追加、更新、削除、検索などの機能を提供する。
信頼性やセキュリティも確保する役割がある。
例:MySQL や Oracle Database は代表的な DBMS。
RDBMS
関係データベース管理システムの略。
データを表形式(テーブル)で管理するタイプのDBMS。
複数の表を結びつけて扱うことができる。
例:顧客情報と注文情報をテーブルとして関連付けて管理する。
SQL(Structured Query Language)
データベースを操作するための専用の言語。
検索、追加、更新、削除などを簡潔に記述できる。
RDBMSで標準的に使われている。
例:「SELECT * FROM 顧客 WHERE 年齢 > 30」で30歳以上の顧客を検索する。
データクレンジング
不正確・重複・欠損のあるデータを修正・整備する作業。
分析や活用に適した状態にデータを整える。
データの質を高めるために重要。
例:「東京」「とうきょう」などの表記揺れを統一する。
E-R図
エンティティ(実体)とリレーション(関係)を表す図で、データベース設計に使われる。
システムに登場する要素とその関係性を視覚的に整理する。
データ構造の把握や正規化に役立つ。
例:「顧客」と「注文」が「1対多」で結ばれるE-R図。
コード設計
データを効率的に扱うために、ルールに従ってコードを割り当てる作業。
検索性や誤入力防止などを考慮して設計される。
意味のあるコードと、意味を持たせないランダムコードがある。
例:「01:男性」「02:女性」のように性別をコードで管理する。
フィールド(項目)
テーブルの1列分のデータで、データの属性を表す単位。
「氏名」「年齢」などの項目にあたる。
レコードの中の1つ1つのデータを指す。
例:氏名フィールドには「山田太郎」が入る。
レコード
テーブルの1行分にあたるデータの集まり。
1つのまとまりとして扱われ、フィールドが集まって構成される。
1件の情報が1レコードとなる。
例:ある顧客の情報一式が1レコード。
ファイル
複数のレコードをまとめたデータの集合体。
コンピュータでは、ファイル単位で保存・管理される。
昔のデータベースでは、1ファイル=1テーブルだった。
例:「顧客データファイル」にはすべての顧客情報が含まれている。
テーブル(表)
行(レコード)と列(フィールド)からなるデータの集合。
RDBMSでは基本的なデータ管理単位。
データベース内に複数のテーブルを作って使う。
例:「商品テーブル」や「注文テーブル」などがある。
主キー
各レコードを一意に識別するための項目。
重複せず、必ず値があることが求められる。
データの整合性を保つ重要なキー。
例:「顧客ID」が主キーとして使われる。
外部キー
他のテーブルの主キーを参照する項目。
テーブル間の関係を構築するのに使われる。
参照整合性を保つための重要な要素。
例:「注文テーブル」の「顧客ID」は「顧客テーブル」の外部キー。
インデックス
検索を高速化するために作成されるデータの見出し。
本の索引のように、データの位置をすばやく特定できる。
検索性能の向上に大きく貢献する。
例:「氏名」フィールドにインデックスを設定して検索を高速化。
データの正規化
データの重複や矛盾を防ぐために、表を細かく分けて整理する手法。
効率的で整合性の高いデータ構造を作る。
第1正規形から第3正規形まで段階的に行う。
例:住所情報を別テーブルに分離して重複をなくす。
選択
テーブルから特定の条件に合うレコードだけを取り出す操作。
SQLでは「WHERE」句を使って実現する。
情報の絞り込みに使われる。
例:「年齢が20歳以上」の人を選択する。
射影
テーブルから特定のフィールドだけを取り出す操作。
必要な列だけを抜き出すことでデータを整理できる。
SQLでは「SELECT」で実現される。
例:「氏名」と「電話番号」だけを射影する。
結合
複数のテーブルをキーで結びつけて1つの表として扱う操作。
RDBMSの基本的な機能の1つ。
外部キーと主キーの関係で結合することが多い。
例:「顧客」と「注文」を結合して、注文者の氏名を表示する。
トランザクション
複数の処理を1つのまとまりとして扱う単位。
途中で失敗しても、全体を元に戻すことができる。
処理の一貫性と信頼性を保つために必要。
例:銀行振込で、引き落としと入金を1つのトランザクションとする。
ACID特性
トランザクションの4つの重要な性質。
原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、耐久性(Durability)。
これにより、信頼性のある処理が保証される。
例:送金処理が中断しても、全体をロールバックして整合性を保つ。
デッドロック
複数の処理が互いに相手のロックを待ち続けてしまい、進まなくなる状態。
同時アクセスによる競合で発生する。
解消には順序制御やタイムアウト処理が必要。
例:AがBの資源を待ち、BがAの資源を待って止まる。
2相コミットメント
分散トランザクションで一貫性を保つための処理手順。
各参加ノードに「準備>実行」の2段階で確認する。
障害発生時にも整合性を維持するために使われる。
例:複数サーバ間でデータの更新を同時に行うとき。
リカバリ
障害発生後にデータベースを正常な状態に戻す処理。
バックアップやログを用いて復旧する。
ACID特性の「耐久性」を支える技術。
例:停電後に保存されていなかった処理を復元する。
チェックポイント
一定間隔でデータの状態を記録するポイント。
障害時に、どこまでの処理が確定しているかを示す。
リカバリ時の処理範囲を絞るのに役立つ。
例:ゲームのセーブポイントのような役割。
ロールバック(バックワードリカバリ)
障害発生前の状態まで処理を巻き戻して復旧する方法。
未完了の処理をすべて取り消す。
トランザクションの原子性を保証する。
例:銀行振込中にエラーが発生し、送金前の状態に戻す。
ロールフォワード(フォワードリカバリ)
バックアップ後のログを順に適用して、最新状態に復元する方法。
データの損失を最小限に抑える。
ログの整合性と完全性が重要となる。
例:昨日のバックアップに、今日の更新ログを再適用する。