SQL-RDBMSの概念

RDBMSとは何ですか?

RDBMSは Relational Database Management Sシステム。RDBMSは、SQLの基盤であり、MS SQL Server、IBM DB2、Oracle、MySQL、MicrosoftAccessなどの最新のデータベースシステムすべての基盤です。

リレーショナルデータベース管理システム(RDBMS)は、EF Coddによって導入されたリレーショナルモデルに基づくデータベース管理システム(DBMS)です。

テーブルとは何ですか?

RDBMSのデータは、次のように呼ばれるデータベースオブジェクトに格納されます。 tables。このテーブルは基本的に関連するデータエントリのコレクションであり、多数の列と行で構成されています。

テーブルは、リレーショナルデータベースで最も一般的で最も単純な形式のデータストレージであることを忘れないでください。次のプログラムは、CUSTOMERSテーブルの例です。

+----+----------+-----+-----------+----------+
| 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で使用できる最も一般的に使用される制約の一部です。

  • NOTNULL制約-列にNULL値を含めることができないようにします。

  • DEFAULT制約-何も指定されていない場合の列のデフォルト値を提供します。

  • UNIQUE制約-列のすべての値が異なることを確認します。

  • PRIMARYキー-データベーステーブルの各行/レコードを一意に識別します。

  • FOREIGNキー-別のデータベーステーブルの行/レコードを一意に識別します。

  • CHECK制約-CHECK制約は、列内のすべての値が特定の条件を満たすことを保証します。

  • INDEX-データベースからデータを非常に迅速に作成および取得するために使用されます。

データの整合性

各RDBMSには、次のカテゴリのデータ整合性があります。

  • Entity Integrity − テーブルに重複する行はありません。

  • Domain Integrity − 値のタイプ、形式、または範囲を制限することにより、特定の列に有効なエントリを適用します。

  • Referential integrity − 他のレコードで使用されている行は削除できません。

  • User-Defined Integrity − エンティティ、ドメイン、または参照整合性に該当しない特定のビジネスルールを適用します。

データベースの正規化

データベースの正規化は、データベース内のデータを効率的に整理するプロセスです。この正規化プロセスには2つの理由があります-

  • 同じデータを複数のテーブルに保存するなど、冗長なデータを排除します。

  • データの依存関係を確保することは理にかなっています。

これらの理由は両方とも、データベースが消費するスペースの量を減らし、データが論理的に格納されることを保証するため、価値のある目標です。正規化は、優れたデータベース構造を作成するためのガイドとなる一連のガイドラインで構成されています。

正規化ガイドラインは通常の形式に分かれています。フォームは、データベース構造のフォーマットまたはレイアウト方法と考えてください。正規形の目的は、データベース構造を編成して、最初の正規形、次に2番目の正規形、最後に3番目の正規形の規則に準拠するようにすることです。

さらに進んで、第4正規形、第5正規形などに進むこともできますが、一般に、第3正規形で十分です。

  • 第一正規形(1NF)
  • 第2正規形(2NF)
  • 第3正規形(3NF)