Sql-rdbms-concepts
SQL-RDBMSの概念
RDBMSとは何ですか?
RDBMSは[。underline] #R#* elational * [。underline] #D#* atabase * [。underline] #M#* anagement * [。underline] #S# ystemを表します。 RDBMSは、SQLの基盤であり、MS SQL Server、IBM DB2、Oracle、MySQL、Microsoft Accessなどのすべての最新のデータベースシステムの基盤です。
リレーショナルデータベース管理システム(RDBMS)は、Eによって導入されたリレーショナルモデルに基づくデータベース管理システム(DBMS)です。 F. コッド。
テーブルとは何ですか?
RDBMSのデータは、 tables と呼ばれるデータベースオブジェクトに格納されます。 このテーブルは基本的に関連するデータエントリのコレクションであり、多数の列と行で構成されています。
覚えておいてください、テーブルはリレーショナルデータベースで最も一般的で最も単純な形式のデータストレージです。 次のプログラムは、顧客テーブルの例です-
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
フィールドとは何ですか?
すべてのテーブルは、フィールドと呼ばれる小さなエンティティに分割されます。 CUSTOMERSテーブルのフィールドは、ID、NAME、AGE、ADDRESS、およびSALARYで構成されています。
フィールドは、テーブル内のすべてのレコードに関する特定の情報を保持するように設計されたテーブル内の列です。
レコードまたは行とは何ですか?
レコードは、データの行とも呼ばれ、テーブルに存在する個々のエントリです。 たとえば、上記のCUSTOMERSテーブルには7つのレコードがあります。 以下は、CUSTOMERSテーブルの単一行のデータまたはレコードです-
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
+----+----------+-----+-----------+----------+
レコードは、テーブル内の水平エンティティです。
列とは何ですか?
列は、テーブル内の特定のフィールドに関連付けられたすべての情報を含むテーブル内の垂直エンティティです。
たとえば、CUSTOMERSテーブルの列はADDRESSです。これは場所の説明を表し、以下のようになります-
+-----------+
| ADDRESS |
+-----------+
| Ahmedabad |
| Delhi |
| Kota |
| Mumbai |
| Bhopal |
| MP |
| Indore |
+----+------+
NULL値とは何ですか?
テーブルのNULL値は、空白のように見えるフィールドの値です。つまり、NULL値を持つフィールドは値のないフィールドです。
NULL値は、ゼロ値やスペースを含むフィールドとは異なることを理解することが非常に重要です。 NULL値を持つフィールドは、レコード作成中に空白のままにされたフィールドです。
SQLの制約
制約は、テーブルのデータ列に適用されるルールです。 これらは、テーブルに入ることができるデータのタイプを制限するために使用されます。 これにより、データベース内のデータの正確性と信頼性が保証されます。
制約は、列レベルまたは表レベルのいずれかです。 列レベルの制約は1つの列にのみ適用されますが、表レベルの制約は表全体に適用されます。
以下は、SQLで利用可能な最も一般的に使用される制約の一部です-
- link:/sql/sql-not-null [NOT NULL制約]-列がNULL値を持つことができないようにします。
- link:/sql/sql-default [DEFAULT Constraint]-何も指定されていない場合、列のデフォルト値を提供します。
- link:/sql/sql-unique [UNIQUE制約]-列のすべての値が異なることを確認します。
- link:/sql/sql-primary-key [PRIMARY Key]-データベーステーブルの各行/レコードを一意に識別します。
- link:/sql/sql-foreign-key [FOREIGN Key]-他のデータベーステーブルの行/レコードを一意に識別します。
- link:/sql/sql-check [CHECK制約]-CHECK制約は、列のすべての値が特定の条件を満たすことを保証します。
- link:/sql/sql-index [INDEX]-データベースからデータを非常に迅速に作成および取得するために使用されます。
データの整合性
次のデータ整合性のカテゴリは、各RDBMSに存在します-
- *エンティティの整合性-*テーブル内に重複する行はありません。
- *ドメイン整合性-*タイプ、フォーマット、または値の範囲を制限することにより、特定の列に有効なエントリを強制します。
- *参照整合性-*他のレコードで使用されている行は削除できません。
- *ユーザー定義の整合性-*エンティティ、ドメイン、または参照整合性に該当しない特定のビジネスルールを適用します。
データベースの正規化
データベースの正規化は、データベース内のデータを効率的に整理するプロセスです。 この正規化プロセスには2つの理由があります-
- たとえば、同じデータを複数のテーブルに保存するなど、冗長データを排除します。
- データの依存関係を保証することは理にかなっています。
これらの理由は両方とも、データベースが消費するスペースを削減し、データが論理的に保存されることを保証するため、価値のある目標です。 正規化は、適切なデータベース構造を作成する際に役立つ一連のガイドラインで構成されています。
正規化のガイドラインは通常の形式に分かれています。フォームを、データベース構造のフォーマットまたは方法と考えてください。 標準形式の目的は、データベース構造を整理して、最初の標準形式、2番目の標準形式、最後に3番目の標準形式の規則に従うようにすることです。
さらに進んで第4正規形、第5正規形などに進むこともできますが、一般的には、第3正規形で十分です。
- リンク:/sql/first-normal-form [第1正規形(1NF)]
- リンク:/sql/second-normal-form [第2正規形(2NF)]
- リンク:/sql/third-normal-form [第3正規形(3NF)]