今日学んだこと:データベースに関して
概要
今日はデータベースについて学んだ。
学んだこと
“%”はLIKE演算子と組み合わせて使い、0文字以上の任意の文字列にマッチする
Isolation(独立性)は、複数のトランザクションが同時に実行されても互いの影響を受けずに処理が進むことを保証する特性。これにより不整合な状態を防ぐ
エンティティとは、現実世界の対象物や概念(例:社員、製品、取引など)を表すもので、データベース内で表として管理される
サロゲートキーは、ユーザーには意味を持たないが、システムによって一意に生成されるIDなどの識別子のこと
UNIONは複数のSELECT結果を結合するが、重複行は削除されます。UNION ALLは重複を含んでそのまま結合される
データ独立性とは、アプリケーションとデータの構造・格納方法を分離する概念で、アプリケーションを変更してもデータ定義に影響を与えず、逆も同様。
第1正規形(1NF)は、各列が原子値、すなわちこれ以上分割できない単一の値で構成される必要がある
カーディナリティとは、エンティティ間の関連(リレーションシップ)の数を示する。例:1対1、1対多、多対多など。
COMMIT文は、トランザクションで行った変更をデータベースに確定させる操作 ・ROLLBACKは変更を取り消す操作、SAVEPOINTは途中状態の保存、REVOKEは権限の取り消し。
Consistency(整合性)は、トランザクションの処理前後でデータベースが常に一貫性のある正しい状態を維持することを意味する。 不整合なデータ状態にならないことが重要。
リレーションはテーブル(表)として表され、行(タプル)と列(属性)から構成されます。Aはグラフ構造、Bはキーバリュー型、Dは階層型DBに関連する用語。
排他制御(ロック)は、データの整合性を守るため、複数のトランザクションが同時に同じデータに書き込むことを防ぐ制御方式。共有ロックと占有ロックなどがある。
Atomicity(原子性)は、トランザクション内のすべての処理が成功するか、全く行われないかのいずれかになる性質。これにより、部分的に処理が実行されることを防ぐ。
属性(Attribute)はエンティティが持つ個々の情報項目のこと。例:社員というエンティティに対して、社員IDや氏名などが属性となる
正規化(Normalization)は、データの冗長性(重複)を減らし、更新・削除・挿入異常を防ぐことを目的としたデータベース設計手法
インデックス(index)は、検索キーに基づいたデータの探索を高速にするためのデータ構造
候補キーは、その中から主キーとして1つが選ばれる、一意性を満たす列または列の組み合わせのこと
ビュー(View)は、実際のデータを保持せず、SELECT文の結果を仮想的な表として定義するもの。複数のテーブルを結合して、必要な情報だけを抽出し、ユーザに見せることができる
NULLは値が不明、未入力、適用不能であることを示す。