SQL - 第一范式 (1NF)

  • 简述

    第一范式(1NF)为有组织的数据库设置基本规则 -
    • 定义所需的数据项,因为它们成为表中的列。
    • 将相关数据项放在一个表中。
    • 确保没有重复的数据组。
    • 确保有一个主键。
  • 1NF的第一条规则

    您必须定义数据项。这意味着查看要存储的数据,将数据组织成列,定义每列包含的数据类型,然后最后将相关列放入自己的表中。
    例如,您将所有与会议地点相关的列放在 Location 表中,将与成员相关的列放在 MemberDetails 表中等等。
  • 1NF 的第二条规则

    下一步是确保没有重复的数据组。考虑我们有下表 -
    
    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,我们需要确保没有重复的数据组。因此,让我们将上表分成两部分,然后使用键将它们连接起来,如下面的程序所示 -
    客户表 -
    
    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 的第三条规则

    第一个范式的最终规则,为我们已经创建的每个表创建一个主键。