この用語集では、すべてのタイプのデータベースで使用されるデータベース用語および概念について説明します。 特定のシステムまたはデータベースに固有の用語は含まれません。
酸
データベース設計のACIDモデルは 、 アトミック性 、 一貫性 、 分離 性 、 耐久性を介してデータの整合性を強制します。
- アトミシティ:各データベース・トランザクションは、オール・オア・ニーのルールに従う必要があります。つまり、トランザクションの一部が失敗した場合、トランザクション全体が失敗します。
- 一貫性 :各データベーストランザクションは、すべてのデータベースの定義されたルールに従わなければなりません。 これらのルールに違反するトランザクションは許可されません。
- 分離 :各データベーストランザクションは、他のトランザクションとは無関係に発生します。 たとえば、複数のトランザクションが同時に送信された場合、データベースはそれらの間の干渉を防ぎます。
- 耐久性 :各データベーストランザクションは、バックアップやその他の手段を介して、データベースの障害に永続的に存在します。
属性
データベース属性は、データベースエンティティの特性です。 簡単に言えば、属性はデータベース表の列であり、それ自体はエンティティとして知られています。
認証
データベースは認証を使用して、許可されたユーザーだけがデータベースまたはデータベースの特定の側面にアクセスできるようにします。 たとえば、管理者はデータの挿入や編集を許可され、正式な従業員はデータの表示しかできません。 認証はユーザー名とパスワードで実装されます。
ベースモデル
BASEモデルは、データがリレーショナルデータベースで要求されるのと同じ方法で構造化されていないnoSQLデータベースのニーズに対応するACIDモデルの代替として開発されました。 主な考え方は、基本アベイラビリティ、ソフトステート、最終的な一貫性です。
- 基本的な可用性 :データベースは利用可能であり、運用可能であり、時には複数のサーバーに分散されたデータ複製によってバックアップされます。
- ソフトステート :厳密な一貫性のACIDモデルに対抗して、この信念は、データが必ずしも一貫している必要はなく、強制的な一貫性は個々のデータベースまたは開発者の責任であると述べています。
- 最終的な一貫性 :未定義の未来のポイントでは、データベースは一貫性を実現します。
制約
データベース制約は、有効なデータを定義する一連のルールです。 複数のタイプの制約が存在する。 主な制約は次のとおりです。
- 固有の制約 :フィールドには、テーブル内に一意の値が含まれている必要があります。
- CHECK制約 :フィールドには、特定のデータ型だけでなく、特定の許容値まで含めることができます。
- DEFAULT制約 :既存の値がない場合、フィールドにはデフォルト値が格納されます。 これはNULL値を排除します。
- PRIMARY KEY制約 :主キーは一意でなければなりません。
- FOREIGN KEY制約 :外部キーは、別のテーブルの既存の主キーと一致する必要があります。
データベース管理システム(DBMS)
DBMSは、データの保存と保護からデータ保全ルールの適用、データの入力と操作のためのフォームの提供に至るまで、データベースを操作するすべての側面を管理するソフトウェアです。 リレーショナルデータベース管理システム(RDBMS)は、テーブルとリレーショナルデータベース間の関係モデルを実装します。
エンティティ
エンティティは単にデータベース内のテーブルです。 Entity-Relationship Diagramは、データベーステーブル間の関係を示すグラフィックの一種です。
機能的依存性
機能的な依存性の制約は、データの妥当性を保証するのに役立ち、ある属性が別の属性の値を決定するときに存在し、Aの値がBの値を決定するか、またはBがAに「機能的に依存する」たとえば、全学生の記録を含む大学のテーブルには、学生IDと学生名の間に機能的な依存関係がある場合があります。つまり、固有の学生IDが名前の値を決定します。
インデックス
インデックスは、大規模なデータセットのデータベースクエリを高速化するのに役立つデータ構造です。 データベース開発者は、テーブル内の特定の列に対してインデックスを作成します。 索引は列の値を保持しますが、表の残りの部分のデータへのポインタのみを保持し、効率的かつ迅速に検索できます。
キー
キーとは、レコードを一意に識別することを目的とするデータベースフィールドです。 キーはデータの整合性を強化し、重複を避けるのに役立ちます。 データベースで使用される主要なタイプのキーは候補キー、主キー外部キーです。
- 候補キー :レコードを一意に識別し、主キーが選択される列のセット。
- 主キー :テーブル内のレコードを一意に識別するために選択されたキー。 このキーはNULLにすることはできません。
- 外部キー :レコードを別のテーブルのレコードにリンクするキー。 表の外部キーは、別の表の主キーとして存在していなければなりません。
正規化
データベースを正規化するには、データの整合性を確保し重複を避けるために、テーブル(リレーション)とカラム(属性)を設計する必要があります。 正規化の第1レベルは、第1正規形(1NF)、第2正規形(2NF)、第3正規形(3NF)およびボイス-Codd正規形(BCNF)である。
NoSQL
NoSQLは、電子メール、ソーシャルメディアの投稿、ビデオや画像などの非構造化データを格納する必要性に対応するために開発されたデータベースモデルです。 SQLと厳格なACIDモデルを使用してデータの完全性を保証するのではなく、NoSQLはあまり厳しくないBASEモデルに従います。 NoSQLデータベーススキーマは、データを格納するテーブルを使用しません。 むしろ、キー/値の設計やグラフを使用することがあります。
ヌル
値NULLは、しばしば "none"または0を意味すると混乱します。 しかし、実際には「未知」を意味します。 フィールドの値がNULLの場合は、未知の値のプレースホルダーです。 Structured Query Language(SQL)は、NULL値をテストするためにIS NULL演算子とIS NOT NULL演算子を使用します。
クエリ
データベースクエリは、ユーザーがデータベースとやり取りする方法です。 通常はSQLで記述され、 選択クエリまたはアクションクエリのいずれかになります。 選択クエリはデータベースからデータを要求します。 アクションクエリがデータを変更、更新、または追加します。 一部のデータベースは、クエリのセマンティクスを隠す形式を提供するため、ユーザーはSQLを理解することなく情報を簡単に要求できます。
スキーマ
データベーススキーマは、 データベースを構成するテーブル、列、リレーションおよび制約の設計です。 スキーマは、通常、SQL CREATEステートメントを使用して記述されます。
ストアドプロシージャ
ストアド・プロシージャは、事前にコンパイルされた問合せ、またはデータベース管理システム内の複数のプログラムおよびユーザー間で共有できるSQL文です。 ストアドプロシージャは、効率を向上させ、データの整合性を強化し、生産性を向上させます。
構造化照会言語
Structured Query Language (SQL)は、データベースからデータにアクセスするために最も一般的に使用される言語です。 データ操作言語(DML)には、最も頻繁に使用されるSQLコマンドのサブセットが含まれ、SELECT、INSERT、UPDATEおよびDELETEが含まれます。
引き金
トリガーは、特定のイベント(通常はテーブルのデータへの変更)を実行するストアドプロシージャセットです。 たとえば、ログに書き込む、統計を収集する、または値を計算するトリガーを設計することができます。
ビュー
データベースビューは、データの複雑さを隠蔽し、ユーザーエクスペリエンスを合理化するためにエンドユーザーに表示されるフィルタリングされたデータセットです。 ビューは、2つ以上のテーブルのデータを結合することができ、情報のサブセットを含みます。