Sql-first-normal-form
提供:Dev Guides
データベース-最初の正規形(1NF)
最初の正規形(1NF)は、組織化されたデータベースの基本的なルールを設定します-
- テーブルの列になるため、必要なデータ項目を定義します。
- 関連するデータ項目をテーブルに配置します。
- データの繰り返しグループがないことを確認してください。
- 主キーがあることを確認します。
1NFの最初のルール
データ項目を定義する必要があります。 これは、保存するデータを確認し、データを列に整理し、各列に含まれるデータのタイプを定義し、最後に関連する列を独自のテーブルに配置することを意味します。
たとえば、会議の場所に関連するすべての列をLocationテーブルに、メンバーに関連する列をMemberDetailsテーブルなどに配置します。
1NFの2番目のルール
次のステップでは、データの繰り返しグループがないことを確認します。 次の表があると考えてください-
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
ORDERS VARCHAR(155)
);
したがって、複数の注文がある単一の顧客に対してこのテーブルにデータを入力すると、次のようになります-
ID | NAME | AGE | ADDRESS | ORDERS |
---|---|---|---|---|
100 | Sachin | 36 | Lower West Side | Cannon XL-200 |
100 | Sachin | 36 | Lower West Side | Battery XL-200 |
100 | Sachin | 36 | Lower West Side | Tripod Large |
ただし、1NFに従って、データの繰り返しグループがないことを確認する必要があります。 だから、私たちは上記の表を2つの部分に分割し、次のプログラムに示すようにキーを使用してそれらを結合しましょう-
CUSTOMERSテーブル-
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
PRIMARY KEY (ID)
);
このテーブルには、次のレコードがあります-
ID | NAME | AGE | ADDRESS |
---|---|---|---|
100 | Sachin | 36 | Lower West Side |
ORDERSテーブル-
CREATE TABLE ORDERS(
ID INT NOT NULL,
CUSTOMER_ID INT NOT NULL,
ORDERS VARCHAR(155),
PRIMARY KEY (ID)
);
このテーブルには、次のレコードがあります-
ID | CUSTOMER_ID | ORDERS |
---|---|---|
10 | 100 | Cannon XL-200 |
11 | 100 | Battery XL-200 |
12 | 100 | Tripod Large |
1NFの3番目のルール
最初の標準形式の最後のルールでは、作成済みの各テーブルにプライマリキーを作成します。