③RDBMSの概念

スポンサーリンク

本当にわからないとこがあった場合一人では解決できません。
『teratail』とはエンジニア特化型のQ&Aサイトです。 すべてのエンジニアさんが抱えている悩みを共有して 解決するための質問サイトです
無料なのでまずは登録して使ってみてください。メールアドレスだけで登録可能です ----------------------------------------------------------------------------------------

ではRDBMSの概念の確認をしていきましょう!

RDBMSとは何か?


RDBMSの略R elational D atabase M anagement S ystem。RDBMSは、SQLの基礎であり、MS SQL Server、IBM DB2、Oracle、MySQL、Microsoft Accessなどの現代のすべてのデータベースシステムの基礎です。

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

テーブルとは何か?


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

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

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | taek     |  32 | tokyo     |  2000.00 |
|  2 | Toront   |  25 | osaka     |  1500.00 |
|  3 | missiil  |  23 | saga      |  2000.00 |
|  4 | masatoal |  25 | okayama   |  6500.00 |
|  5 | kodagt   |  27 | Kyoto     |  8500.00 |
|  6 | Kento    |  22 | Aomori    |  4500.00 |
|  7 | taka     |  24 | saitama   | 10000.00 |
+----+----------+-----+-----------+----------+

フィールドとは何か?


すべてのテーブルは、フィールドと呼ばれる小さなエンティティに分割されます今回作ったデーターベースではCUSTOMERSテーブルのフィールドは、ID、NAME、AGE、ADDRESSおよびSALARYで構成されます。

フィールドは、テーブル内のすべてのレコードに関する特定の情報を維持するように設計されたテーブル内の列です。

レコードまたは行とは何か?


レコードは、データの行がテーブル内に存在する個々のエントリであるとも呼ばれます。たとえば、上記のCUSTOMERSテーブルには7つのレコードがあります。以下は、CUSTOMERSテーブルの1行のデータまたはレコードです。

+----+----------+-----+-----------+----------+
|  7 | taka | 24 | saitama | 10000.00 | |
+----+----------+-----+-----------+----------+

レコードはテーブル内の水平エンティティです。

列とは何か?


列は、テーブル内の特定のフィールドに関連付けられたすべての情報を含む、テーブル内の垂直エンティティです。

たとえば、CUSTOMERSテーブルの列はADDRESSです。これは場所の説明を表し、以下に示すようになります。

+-----------+
| ADDRESS   |
+-----------+
| tokyo   |
| osaka     |
| yokohama  |
| Obama     |
| horoshima |
| network   |
| osaka     |
+----+------+

NULL値とは何か?


テーブルのNULL値は、空白に見えるフィールドの値です。つまり、NULL値のフィールドは値のないフィールドです。

NULL値がゼロ値または空白を含むフィールドと異なることを理解することは非常に重要です。値がNULLのフィールドは、レコードの作成時に空白のままになっているフィールドです。

SQLの制約


制約は、表のデータ列に適用される規則です。これらは、テーブルに入ることができるデータのタイプを制限するために使用されます。これにより、データベース内のデータの正確性と信頼性が保証されます。

制約は、列レベルまたは表レベルのいずれかです。列レベルの制約は1つの列にのみ適用され、表レベルの制約は表全体に適用されます。

以下は、SQLで利用可能な最も一般的に使用される制約のいくつかです。

  • NOT NULL制約 – 列にNULL値を設定できないようにします。
  • DEFAULT制約 – 列が指定されていない場合、列のデフォルト値を提供します。
  • UNIQUE制約 – 列内のすべての値が異なることを保証します。
  • PRIMARYキー – データベーステーブル内の各行/レコードを一意に識別します。
  • FOREIGNキー – 他のデータベーステーブルの行/レコードを一意に識別します。
  • CHECK制約 – CHECK制約は、列内のすべての値が特定の条件を満たすことを保証します。
  • INDEX – データベースから非常に迅速にデータを作成し、検索するために使用します。

データの整合性


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

  • エンティティの整合性 –テーブルに重複する行はありません。
  • ドメインの整合性 –タイプ、フォーマット、または値の範囲を制限することによって、特定の列に対して有効なエントリを適用します。
  • 参照整合性 –他のレコードで使用されている行を削除することはできません。
  • ユーザー定義の整合性 –エンティティ、ドメインまたは参照整合性に該当しない特定のビジネス・ルールを適用します。



データベースの正規化


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

  • 冗長データを削除する。たとえば、複数のテーブルに同じデータを格納する。
  • データの依存関係を確実にする。

これらの2つの理由は、データベースが消費する領域の量を削減し、データが論理的に格納されることを保証するので、価値ある目標です。正規化は、適切なデータベース構造を作成する上で役立つ一連のガイドラインで構成されています。

正規化ガイドラインは通常の形式に分割されています。形式をデータベース構造の形式や方法として考えてください。通常の形式の目的は、データベース構造を整理して、最初の正規形、2番目の正規形、最後に3番目の正規形の規則に従うことです。

さらにそれを取って、第4正規形、第5正規形などに行くのはあなたの選択ですが、一般的に、第3正規形までで十分です。

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

前のページ②概要

次のページ④第一正規化 第二正規化 第三正規化

スポンサーリンク

プログラミングは独学からは挫折の可能性が高いです。まずは無料体験ができる
コードキャンプが本当におすすめ。無料体験でわからないところを聞きましょう。
転職補助つき。カリキュラム終了後に転職紹介をしてくれます。